This error indicates that the request cannot be accepted by the malformed request body. Some required fields are missing, etc. In this case, we provide info in the response body with rejected or missing values. Usually comes with default "errorCode" : "invalidRequest"
| errorCode | description |
|---|---|
| invalidRequest | Generic code. Further details provided in the message field |
| invalidArguments | The request contains invalid arguments. Details is provided in the errors field, or in the message |
API Key is missing. Check that x-api-key request header is present. See Authentication for details.
Indicates that the request contains the wrong API key or is forbidden for some reason (for this case details could be found in the error response body). See possible reasons in the table below:
| errorCode | description |
|---|---|
| missingPermission | This action requires explicit permission. Please contact our support |
| forbiddenAction | Generic code. Further details provided in the message field |
| corporateFitnessMembershipExpired | The corporate fitness membership has expired |
| corporateFitnessMembershipNotStarted | The corporate fitness membership starts in the future |
| corporateFitnessGymNotInNetwork | The gym is not a network partner of the corporate fitness program |
| corporateFitnessGymNotInNetworkPlus1 | The gym is not participating in the Plus1 program, but the member has a Plus1 Corporate Fitness membership |
The server can not find the requested resource. Check the URL path and identifiers provided in the request. Usually comes with default "errorCode" : "notFound" and with metadata entity type. Response example:
{
"timestamp": "2023-04-11T14:35:48.499+0000",
"path": "/api/v2/accounts",
"status": 404,
"error": "Not Found",
"errorCode": "notFound",
"message": "User's chain profile was not found.",
"metadata": {
"entity": "CHAIN_PROFILE"
}
}Possible entities:
| entity | description |
|---|---|
| UNKNOWN | Used when the specific resource cannot be identified |
| ACCOUNT | Indicates that the server cannot find the EGYM account |
| CHAIN_PROFILE | Indicates that the server cannot find the chain profile of the specified EGYM account |
| MEMBERSHIP | Indicates that the server cannot find the membership |
| PRODUCT | Indicates that the server cannot find the product |
| WEBHOOK | Indicates that the server cannot find the webhook |
| GYM_LOCATION | Indicates that the server cannot find the specified gym location |
| TASK | Indicates that the server cannot find the specified task |
| RFID | Indicates that the server cannot find the specified RFID |
| NFC_TOKEN | Indicates that the server couldn't resolve the specified NFC |
| TAN | Indicates that the server cannot find the specified TAN |
Indicates that the requested operation has a conflict with the current state of data. See possible cases in the table below:
| errorCode | description |
|---|---|
| userEmailConflict | The email is already used within your gym or chain |
| userEmailUsedByAnotherAccountConflict | The email is already used by another account |
| membershipExists | Action cannot be performed due to memberships conflict |
| tanAssociatedWithAnotherAccount | Provided tan is associated with another account |
| webhookUrlAlreadyRegistered | Given URL has already been registered for the current gym |
| generalConflict | Given resource already exists |
| forbiddenAccountMerge | Action blocked due to conflicting personal data with an existing account in the chain profile |
The user has sent too many requests in a given amount of time ("rate limiting"). You can retry the API call after a delay, and increase the delay exponentially if the error continues.