The Google Health API lets you view and manage health and fitness metrics and measurement data.
Service: health.googleapis.com
When facing errors, refer to this catalog alongside using our client libraries. If you're using your own libraries, keep this guide handy for debugging and error resolution. To know more about the error response structure, visit the error overview page.
Error codes
The following table lists HTTP status codes and associated errors that you might encounter when interacting with our API. Each status code corresponds to one or more reasons and descriptions to help you troubleshoot and handle errors effectively in your application. Within the descriptions, variables denoted by curly braces ({}) represent placeholders for values that are specific to your request.
| Reason | HTTP Status Code | Description |
|---|---|---|
ACCOUNT_NOT_LINKED |
400 |
The Google account is not linked to a Fitbit account. |
INVALID_PARENT_DATA_TYPE_COLLECTION_FORMAT |
400 |
Invalid {field} format. Expected: {expectedFormat}; Got: {actualValue}. |
INVALID_PARENT_DATA_TYPE_COLLECTION |
400 |
Invalid data type ID referenced in the parent data type collection: {dataType}. |
INVALID_FILTER_FORMAT |
400 |
Invalid filter format. |
INVALID_DATA_POINT_DATA_SOURCE_FAMILY |
400 |
Invalid data source family in filter. |
INVALID_DATA_POINT_FILTER |
400 |
Invalid filter. |
INVALID_DATA_POINT_FILTER_SYNTAX |
400 |
Invalid filter syntax. |
INVALID_DATA_POINT_FILTER_MISSING_TOKEN |
400 |
Invalid filter: missing token. |
INVALID_DATA_POINT_FILTER_UNEXPECTED_TOKEN |
400 |
Invalid filter: unexpected token. |
INVALID_DATA_POINT_FILTER_UNEXPECTED_END_OF_INPUT |
400 |
Invalid filter: unexpected end of input. |
INVALID_DATA_POINT_FILTER_EXPRESSION_STRUCTURE |
400 |
Invalid filter expression structure. |
INVALID_DATA_POINT_FILTER_RESTRICTION_COMPARABLE |
400 |
Invalid filter restriction comparable. |
INVALID_DATA_POINT_FILTER_DATA_TYPE_RESTRICTION |
400 |
Invalid filter data type restriction. |
INVALID_DATA_POINT_FILTER_MIXED_DATA_TYPE_RESTRICTIONS |
400 |
Filter cannot contain restrictions for multiple data types. |
INVALID_DATA_POINT_FILTER_MIXED_TIME_RESTRICTIONS |
400 |
Filter cannot contain both physical and civil time ranges. |
INVALID_DATA_POINT_FILTER_DATA_TYPE_MEMBER |
400 |
Invalid filter member for data type. |
INVALID_DATA_POINT_FILTER_RESTRICTION_COMPARATOR |
400 |
Invalid filter restriction comparator. |
INVALID_DATA_POINT_FILTER_TIMESTAMP_FORMAT |
400 |
Invalid filter timestamp format. |
INVALID_DATA_POINT_FILTER_CIVIL_DATE_TIME_FORMAT |
400 |
Invalid filter civil date time format. |
INVALID_DATA_POINT_FILTER_RESTRICTION_ARGUMENT |
400 |
Invalid filter restriction argument. |
INVALID_DATA_POINT_FILTER_COLLECTION_MISMATCH |
400 |
Data type in filter does not match parent data type collection. |
INVALID_DATA_POINT_NAME |
400 |
Invalid data point name. |
DATA_POINT_NOT_OWNED_BY_CLIENT |
400 |
Data point is not owned by the client. |
MISSING_DATA_POINT_NAMES |
400 |
Missing data point names. |
DATA_TYPE_MISMATCH |
400 |
The data point in the update request must have the same data type as the parent. |
UPDATE_ONLY_UPSERT_SUPPORTED |
400 |
Update only supports upsert. Please set allow_missing to true. |
MISSING_DATA_POINT_ID |
400 |
Missing data point ID for update. |
MISSING_DATA_POINT_VALUE |
400 |
Missing data point value. |
INVALID_PROFILE_DATA |
400 |
Invalid value provided for field {field}. Provided value: {providedValue}. Accepted values: {acceptedValues}. |
INVALID_FIELD_MASK_DATA |
400 |
Request contains invalid field mask data. |
INVALID_PAGE_SIZE |
400 |
Page size cannot be negative, but was {actualValue}. |
MULTIPLE_DATA_TYPES_UNSUPPORTED |
400 |
Multiple data types are not supported. |
UNSUPPORTED_DATA_TYPE_ACTION |
400 |
The action is not supported for the data type. |
MISSING_OAUTH_SCOPE |
403 |
Required OAuth scope(s) are missing for this operation. |
API_PRIVATE_PREVIEW_ACCESS_DENIED |
403 |
User is not eligible for the API Private Preview. |