Skip to main content

Error Codes

All AtlasCore API errors return a JSON response with a status code and descriptive message.

HTTP status codes

StatusCodeMeaningResolution
400bad_requestInvalid request parameters or bodyCheck parameter names, types, and required fields
401unauthorizedMissing or invalid bearer tokenInclude a valid Authorization: Bearer header
403forbiddenValid token but insufficient accessVerify pack entitlement for the requested resource
404not_foundResource does not existCheck the resource ID, ABN, or slug
409conflictOperation conflicts with current stateCheck for duplicate resources or state conflicts
422validation_errorRequest body failed validationReview the error details for specific field issues
429rate_limitedRate limit or quota exceededBack off and retry; check quota allocation
500internal_errorUnexpected server errorRetry with exponential backoff; contact support if persistent
502upstream_errorExternal service failureRetry; the upstream dependency may be temporarily unavailable

Common error scenarios

Missing pack_id

Most tenant-facing endpoints require pack_id. Omitting it returns:

{
"detail": "pack_id is required for tenant-metered operations"
}

Unknown grid region

Scope 2 factor requests with an invalid grid code return 404:

{
"detail": "No active factor set found for grid 'INVALID'"
}

Valid grid values: NSW1, VIC1, QLD1, SA1, TAS1, SWIS, DKIS, NWIS, off_grid.

Quota exceeded

When a tenant's usage quota is exhausted:

{
"detail": "Quota exceeded for event 'query' in current window"
}

Contact your account administrator to increase quota allocation.

GWP transform failure

AR6 GWP requests fail closed when constituent gas data is insufficient:

{
"detail": "AR6 transform not available: insufficient methane classification metadata"
}

Use gwp_basis=native to retrieve the original NGA values.

Retry guidance

Error typeRetry?Strategy
400, 401, 403, 404NoFix the request
429YesExponential backoff with jitter
500, 502YesExponential backoff, max 3 retries