Use the Point API to integrate a web application with the Point ecosystem. Using it you are able to get user data, like all the data generated by the Point Health Data Service. Additionally, you can perform mutations to create or update user data and settings.
📝 All features listed here are present in the SDKs. Just use the API if you are integrating a web application.
You must provide a valid user token as an Authorization header for all api requests. Refer to Registering Users to know how to get a token.
You can use our Graphql Playground for testing, but you still need to provide a valid user token for each request.
💡 By integrating Fitbit with your web application you can start using the API to get all the generated metrics and insights for your users without the need of a mobile application. Check Fitbit Integration for more information.
Table of Contents
Field | Argument | Type | Description |
lastSample | | HealthSample! | Returns the date of the last sample uploaded for the given user |
| sampleType | HealthSampleType! | |
oldestSampleDate | | DateTime! | Returns the date of the oldest sample uploaded for the given user |
| sampleType | HealthSampleType! | |
healthMetrics | | [HealthMetricPayload!]! | Fetches latest health metrics based on the users filters |
| filter | [HealthMetricType!]! | |
| workoutId | Int | |
| date | DateTime | |
workouts | | [Workout!]! | Get a list of the user's workouts, based on the input |
| input | GetWorkoutsInput | |
workout | | Workout! | Get a specific workout, based on the user ID |
| id | ID! | |
dailyHistory | | [DailyHistoryItem!]! | Retrieves a list of the User's last 16 days worth of DailyHistoryItem, in descending order. The DailyHistoryItem is composed of daily total calories, exertion rate and total workout duration. The offset is meant to be used as a pagination, and if no value is passed, it is defaulted to 0. |
| input | GetDailyHistoryInput! | |
user | | User | Fetch user information based on its authorization headers |
workoutRecommendations | | [WorkoutRecommendations]! | Retrieve recommendations from the beginning of the week of the date until the date. |
| date | DateTime | Date format: yyyy-mm-dd |
insights | | [Insight!]! | Get a list of the generated insights, based on the input. The return is limited to 16 insights. |
| input | InsightsInput | |
Field | Type | Description |
success | Boolean! | |
Field | Type | Description |
type | HealthMetricType! | The metric type. Can be "daily total calorie"s, "exertion rate" or "total workout duration". |
date | DateTime! | |
value | String | |
variance | Int | The variance from the last value. |
Field | Type | Description |
value | Float! | A score between 0 - 100. Refer to Health Scores for more details. |
variance | Float! | The variance from the last value. |
Field | Type | Description |
type | HealthMetricType! | |
date | DateTime! | |
value | String | |
variance | Int | |
workoutId | Int | The workout ID of this metric. Can be nil if the metric is not related to a specific workout. |
Field | Type | Description |
success | Boolean! | |
Field | Type | Description |
success | Boolean! | |
Field | Type | Description |
success | Boolean! | |
Field | Type | Description |
difficulty | Int | A rating that ranges from 0 to 5. |
energy | Int | A rating that ranges from 0 to 5 |
instructor | Int | A rating that ranges from 0 to 5 |
Field | Type | Description |
success | Boolean! | |
Field | Type | Description |
data | String! | A JSON with the samples to be created. All samples must be from the same type. |
sampleType | HealthSampleType! | The sample type. |
Field | Type | Description |
offset | Int! | An offset to be used for pagination. This function has a return limit of 16, so use this parameter to query beyond the first 16 entries. Defaults to 0 if not provided. |
Field | Type | Description |
offset | Int! | An offset to be used for pagination. This function has a return limit of 16, so use this parameter to query beyond the first 16 entries. Defaults to 0 if not provided. |
Field | Type | Description |
id | Int! | The workout ID to be rated. |
difficulty | Int! | A rating that ranges from 1 to 5 and defaults to 0 when no value is provided. |
energy | Int! | A rating that ranges from 1 to 5 and defaults to 0 when no value is provided. |
instructor | Int! | A rating that ranges from 1 to 5 and defaults to 0 when no value is provided. |
Field | Type | Description |
interval | Interval | The date interval to get insights. Will return all insights if no interval is provided. |
offset | Int | An offset to be used for pagination. This function has a return limit of 16 insights, so use this parameter to query beyond the first 16 insights. Defaults to 0 if not provided. |
type | [InsightType]! | The set of types you wish to query. You must provide at least one type. |
Field | Type | Description |
from | DateTime! | A starting date limit to the query. Setting this parameter will make the function return only insights created after or at this date. |
to | DateTime! | A ending date limit to the query. Setting this parameter will make the function return only insights created before or at this date. |
See Sample Types for a full list of supported HealthSampleType
s.
See Metric Types for a full list of supported HealthMetricType
s.
See Insight Types for a full list of supported InsightType
s.
Value | Description |
athleticPerformance | |
weightLoss | |
Value | Description |
buildLeanMuscle | |
loseWeight | |
prepareForEvent | |
accomplishMore | |
maintainHealth | |
Code | Message | Reason |
UNAUTHENTICATED | Not authorized | Invalid bearer token |
AUTH0_TOO_MANY_REQUESTS | Too many requests | Unable to validate token |
The Boolean
scalar type represents true
or false
.
A date-time string at UTC, such as 2007-12-03T10:15:30Z
, is compliant with the date-time
format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
This scalar is a description of an exact instant on the timeline such as the instant that a user account was created.
This scalar ignores leap seconds (thereby assuming that a minute constitutes 59 seconds). In this respect, it diverges from the RFC 3339 profile.
Where an RFC 3339 compliant date-time string has a time-zone other than UTC, it is shifted to UTC. For example, the date-time string 2016-01-01T14:10:20+01:00
is shifted to 2016-01-01T13:10:20Z
.
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4"
) or integer (such as 4
) input value will be accepted as an ID.
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
The JSON
scalar type represents JSON values as specified by ECMA-404.
The Void
scalar type represents no value being returned.