HTTP Error Codes

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 Codes

HTTP Error CodeReason Returned
400Bad Request
403Forbidden
404Not Found
429Too Many Request
500Internal Error (might be mapped to something else)
502Bad Gateway
504Gateway 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.

400 - Bad Request Examples

Example 1 - Update Meter > Invalid JSON Request Body Used

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:

Example 2 - Update Meter > Request Breaks Configuration

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:

403 - Forbidden Example

Example - List Meters > Unknown Org Id Used

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:

404 - Not Found Example

Example - Retrieve Account > Account Not Found

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