GuidesAPI ReferenceChangelogDiscussions
Log In
Guides

Errors and problems

Ampere uses standard HTTP status codes. Many failure responses also include a machine-readable code and a human-readable message so clients can branch safely.

HTTP status map

StatusMeaning for partners
400Invalid path/query/body (bad UUID, invalid date, validation rule failed)
401Missing, expired, revoked, or otherwise invalid authentication
403Authenticated, but permission or resource scope denies the call
404Resource not found in the caller’s accessible context
409Request conflicts with current state
429Too many requests; back off and retry
5xxTemporary platform failure; retry with backoff

Domain-specific codes (group membership)

Pool membership mutations return stable codes partners can key on:

CodeHTTPWhen
GROUP_NOT_MANAGEABLE403Target group is not a writable curtailment pool
GROUP_ACCESS_DENIED403Caller has no access to the target group
ADDRESS_ACCESS_DENIED403Address is not owned via an accessible partner group
MEMBERSHIP_NOT_FOUND404DELETE: no active membership to remove
ADDRESS_ALREADY_IN_CURTAILMENT_POOL409Address is already active in a different curtailment pool
GROUP_NOT_FOUND404Unknown group
ADDRESS_NOT_FOUND404Unknown address

Common failure patterns

Authentication

  • Missing Authorization header → 401
  • Expired access token → 401 (refresh, then retry)
  • Invalid refresh token → 401 (re-login required)

Authorization

  • Valid token without the required permission → 403
  • Valid token outside assigned groups → 403

Validation

  • Non-UUID path parameters → 400
  • Mutually exclusive schedule fields provided together → 400
  • Missing required date range → 400

State conflicts

  • Adding an address that already sits in another curtailment pool → 409
  • Idempotent re-add of an already-active membership → success with action: "unchanged" (not an error)

Did this page help you?