-
Notifications
You must be signed in to change notification settings - Fork 3
POST user fitbit auth
Submit user data from the Fitbit account for use in data synchronization. This means that you obtained the access and refresh token through another client before submitting it here.
To find out how to get access token on Fitbit platform see here.
Permissions:
-
Application User can submit Fitbit authorization data from any Child.
-
Child user can only submit Fitbit authorization data from himself.
-
Educator and HealthProfessional users can submit Fitbit authorization data from any Child as long as Child is part of any of their groups.
-
Family user can submit Fitbit authorization data only from child that associated with it.
external:sync
user_id: string (A 24-byte hex ID)
{
"access_token": "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MzAzNDM3MzUsInNjb3BlcyI6Indwcm8gd2xvYyB3bnV0IHdzbGUgd3NldCB3aHIgd3dlaSB3YWN0IHdzb2MiLCJzdWIiOiJBQkNERUYiLCJhdWQiOiJJSktMTU4iLCJpc3MiOiJGaXRiaXQiLCJ0eXAiOiJhY2Nlc3NfdG9rZW4iLCJpYXQiOjE0MzAzNDAxMzV9.z0VHrIEzjsBnjiNMBey6wtu26yHTnSWz_qlqoEpUlpc",
"refresh_token": "c643a63c072f0f05478e9d18b991db80ef6061e4f8e6c822d83fed53e5fafdd7"
}
curl -X POST "https://localhost/v1/users/5c86d00c2239a48ea20a0134/fitbit/auth" -H "accept: /" -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d "{"access_token":"eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MzAzNDM3MzUsInNjb3BlcyI6Indwcm8gd2xvYyB3bnV0IHdzbGUgd3NldCB3aHIgd3dlaSB3YWN0IHdzb2MiLCJzdWIiOiJBQkNERUYiLCJhdWQiOiJJSktMTU4iLCJpc3MiOiJGaXRiaXQiLCJ0eXAiOiJhY2Nlc3NfdG9rZW4iLCJpYXQiOjE0MzAzNDAxMzV9.z0VHrIEzjsBnjiNMBey6wtu26yHTnSWz_qlqoEpUlpc","refresh_token":"c643a63c072f0f05478e9d18b991db80ef6061e4f8e6c822d83fed53e5fafdd7"}"
-
204
Operation performed successfully. There is no data to be returned. -
400
Validation errors-
Required fields (User Auth Data)
-
Pattern
{ "code": 400, "message": "Required fields were not provided...", "description": "User Auth Validation: {comma separated fields} required!" }
-
Example
{ "code": 400, "message": "Required fields were not provided...", "description": "User Auth Validation: access_token required!" }
{ "code": 400, "message": "Required fields were not provided...", "description": "Fitbit Auth Data Validation: access_token, refresh_token required!" }
-
-
User not registered on the platform
- Pattern
{ "code": 400, "message": "The user does not have register on platform: {user_id}" }
- Pattern
-
Missing permissions for syncable resources
- Pattern
{ "code": 400, "message": "The token must have permission for at least one of the features that are synced by the API.", "description": "The features that are mapped are: rwei (weight), ract (activity), rsle (sleep)." }
- Pattern
-
Access token expired
- Pattern
{ "code": 400, "message": "Access token expired.", "description": "The access token {accessToken} has been expired and needs to be refreshed." }
- Pattern
-
Access token invalid
- Pattern
{ "code": 400, "message": "Access token invalid.", "description": "The access token {accessToken} is invalid. Please make a new Fitbit Auth Data request and try again." }
- Pattern
-
Refresh token invalid
- Pattern
{ "code": 400, "message": "Refresh token invalid.", "description": "The refresh token {refreshToken} is invalid. Please make a new Fitbit Auth Data request and try again." }
- Pattern
-
Data request limit for access token expired
- Pattern
{ "code": 400, "message": "Data request limit for access token {accessToken} has expired.", "description": "Please wait a minimum of one hour and try make the operation again." }
- Pattern
-
Invalid Fitbit Client data
- Pattern
{ "code": 400, "message": "Invalid Fitbit Client data.", "description": "The Fitbit Client credentials are invalid. The operation cannot be performed." }
- Pattern
-
Internal error
- Pattern
{ "code": 400, "message": "A internal error occurs. Please, try again later." }
- Pattern
-
Internal error (unmapped)
- Pattern
{ "code": 400, "message": "{ERROR_MESSAGE}" }
- Pattern
-
403
Permission Error -
503
Fitbit service unavailable- Pattern
{ "code": 503, "message": "Could not connect with the Fitbit Server", "description": "Please try again later." }
Query strings are used as follows: there must be a question mark following the URL and providing the parameters for the desired operation.
OCARIoT API Gateway (Full documentation)
- POST institutions
- GET institutions
- GET institutions.inst_id
- PATCH institutions.inst_id
- DELETE institutions.inst_id
- POST children.physicalactivities
- GET children.physicalactivities
- GET children.physicalactivities.activity_id
- DELETE children.physicalactivities.activity_id
- POST children.weights
- GET children.weights
- GET children.weights.weight_id
- DELETE children.weights.weight_id
- POST children.bodyfats
- GET children.bodyfats
- GET children.bodyfats.bodyfat_id
- DELETE children.bodyfats.bodyfat_id
- POST educators.children.groups
- GET educators.children.groups
- GET educators.children.groups.group_id
- PATCH educators.children.groups.group_id
- DELETE educators.children.groups.group_id
- POST healthprofessionals
- GET healthprofessionals
- GET healthprofessionals.hprof_id
- PATCH healthprofessionals.hprof_id
- POST healthprofessionals.children.groups
- GET healthprofessionals.children.groups
- GET healthprofessionals.children.groups.group_id
- PATCH healthprofessionals.children.groups.group_id
- DELETE healthprofessionals.children.groups.group_id
- POST institutions.environments
- GET institutions.environments
- DELETE institutions.environments
- DELETE institutions.environments.environment_id
- Invalid ID
- Invalid JSON format
- Missing fields
- Empty string
- Invalid string
- Invalid date
- Negative number
- Invalid number
- Unregistered institution
- Unregistered children
- Invalid children attribute type
- Invalid children items
- Empty ID(s) in children attribute
- ID(s) with invalid format in children
- Attempting to update password on wrong route
- Child does not exist
- Institution does not exist