The m3ter service supports two APIs:
The Config API, which you can use for configuration requests and management.
The Ingest API, which you can use for submitting raw data measurements.
Error messages are returned for any invalid or incomplete calls made to these two APIs. This topic lists and gives some examples of error messages to help you troubleshoot your calls.
Tip: Request Rate and Payload Errors? For details of the errors returned when the API call request rate and payload limits are exceeded on our APIs, see the earlier topic in this section: Config API Limits and Ingest API Limits.
HTTP Error Code | Reason Returned |
---|---|
400 | Bad Request |
403 | Forbidden |
404 | Not Found |
429 | Too Many Request |
500 | Internal Error (might be mapped to something else) |
502 | Bad Gateway |
504 | Gateway Timeout |
When you submit an invalid API call and one of these HTTP error codes is returned, an informative message is also returned, which is designed to help you correct the API call you initially made. The following sections provide some examples to illustrate.
NOTE: A Postman workspace was used for the error message examples.
A PUT
Update Meter call was made:
https://api.m3ter.com/organizations/ZZ6d788d-5174-4e8b-9d69-a41f4671fcYY/meters/06f6b50c-a868-4ca6-b287-448e507d5248
But the JSON request schema was not well-formed:
A 400 Bad Request is returned with a message in the return JSON body that identifies the JSON error:
A PUT
Update Meter call was made:
https://api.m3ter.com/organizations/ZZ6d788d-5174-4e8b-9d69-a41f4671fcYY/meters/06f6b50c-a868-4ca6-b287-448e507d5248
But an existing Data Field or Derived Field on the Meter has already been configured as the target usage data field for an Aggregation. Updating the Meter using the call to remove the existing Data Fields/Derived Fields and replace them with a single new Data Field would break that existing configuration:
A 400 Bad Request is returned with a message in the return JSON body that blocks the update to prevent the configuration disruption and explain why the request has been identified as a bad request:
A GET
List Meters call was made:
https://api.m3ter.com/organizations/ZZ6d788d-5174-4e8b-9d69-a41f4671fcYY/meters
But the OrgId used in the path did not exist. A 403 Forbidden is returned with a message in the return JSON body:
A GET
Retrieve Account call was made:
https://api.m3ter.com/organizations/396d788d-XXRRS-4e8b-YUYU-a41f4671fc33/accounts/game_dev_indie
But the Account code was used in error instead of the id. A 404 Not Found is returned with a message in the return JSON body:
Next: m3ter Integrations