Skip to content

POST child weight

JeffMedeiros edited this page Nov 29, 2019 · 1 revision

Description

Register a new weight measurement and associate it to a Child.

Permissions:

  • Application users can register a Weight for any Child as long as it exists.

  • A Child can register a Weight just for herself.

  • An Educator can register a Weight for any Child who exists and belongs to one of their groups.

  • A Family user can register a Weight for any Child who exists and is associated with it.

Scope

measurements:create

URL

POST https://localhost/v1/children/{child_id}/weights

Parameters

child_id: string (A 24-byte hex ID)

Request body

{
  "timestamp": "2019-06-20T14:40:00Z",
  "value": 70.2,
  "unit": "kg",
  "body_fat": 20.1
}

Curl example

curl -X POST "https://localhost/v1/children/5a62be07d6f33400146c9b61/weights" -H "accept: application/json" -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d "{"timestamp":"2019-06-20T14:40:00Z","value":55.2,"unit":"kg","body_fat":20.1}"

Response body

  • 201 Weight measurement saved sucessfully.

    {
      "id": "5a62be07de34500146d9c544",
      "timestamp": "2019-06-20T14:40:00Z",
      "value": 70.2,
      "unit": "kg",
      "body_fat": 20.1,
      "child_id": "5a62be07de34500146d9c544"
    }     
  • 207 Successful request, however, can have several status codes for the case of a list of submitted weight records.

    {
      "success": [
        {
          "code": 201,
          "item": {
            "id": "5db70ff1fce8d130bf48a9da",
            "timestamp": "2019-06-21T14:40:00.000Z",
            "value": 61.5,
            "unit": "kg",
            "child_id": "5a62be07d6f33400146c9b61",
            "body_fat": 19.3
          }
        }
      ],
      "error": [
        {
          "code": 409,
          "message": "Weight is already registered...",
          "item": {
            "timestamp": "2019-06-20T14:40:00.000Z",
            "value": 70.2,
            "unit": "kg",
            "child_id": "5a62be07d6f33400146c9b61",
            "body_fat": 20.1
          }
        }
      ]
    }
  • 400 Validation errors

    • Invalid JSON format

    • Invalid child id

    • Child does not exist

    • Missing fields

      • Example
        {
          "code": 400,
          "message": "Required fields were not provided...",
          "description": "timestamp, value, unit are required!"
        }
    • Invalid timestamp

    • Empty string

      • Example
        {
          "code": 400,
          "message": "One or more request fields are invalid...",
          "description": "unit must have at least one character!"
        }
    • Invalid string

      • Example
        {
          "code": 400,
          "message": "One or more request fields are invalid...",
          "description": "unit must be a string!"
        }
    • Negative number

      • Example
        {
          "code": 400,
          "message": "One or more request fields are invalid...",
          "description": "value can't be negative!"
        }
    • Invalid number

      • Example
        {
          "code": 400,
          "message": "One or more request fields are invalid...",
          "description": "value must be a valid number!"
        }
  • 401 Unauthorized Error

  • 403 Permission Error

  • 409 Conflict Error

  • 429 Too Many Requests Error

  • 500 Internal Server Error

OCARIoT users

Integration endpoints

auth

users

institutions

children

children.physicalactivities

children.logs

children.sleep

children.weights

children.bodyfats

educators

educators.children.groups

families

families.children

healthprofessionals

healthprofessionals.children.groups

applications

institutions.environments

fitbit

fitbit.subscriber

users.fitbit.auth

users.fitbit.sync

Error patterns

400 Validation Errors

Clone this wiki locally