POST child weight - ocariot/api-gateway GitHub Wiki
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
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-
- Example
{ "code": 400, "message": "Required fields were not provided...", "description": "timestamp, value, unit are required!" }
- Example
-
- Example
{ "code": 400, "message": "One or more request fields are invalid...", "description": "unit must have at least one character!" }
- Example
-
- Example
{ "code": 400, "message": "One or more request fields are invalid...", "description": "unit must be a string!" }
- Example
-
- Example
{ "code": 400, "message": "One or more request fields are invalid...", "description": "value can't be negative!" }
- Example
-
- Example
{ "code": 400, "message": "One or more request fields are invalid...", "description": "value must be a valid number!" }
- Example
-
403
Permission Error -
409
Conflict Error