Skip to main content
All errors share one envelope. Branch on the code field, not on the human-readable error message (which may change), and log the request_id for support.

Codes

Notes on specific codes

  • not_found hides existence. When a key requests an athlete, activity, or export that belongs to another organization — or a key-created export that a different key made — the API returns 404, not 403. This is deliberate: a key can never learn whether a resource it can’t access exists.
  • key_expired vs key_revoked vs invalid_key. These are distinct so your integration can react correctly — prompt for a new key on expiry, alert an admin on revocation, and treat invalid_key as a configuration error.
  • feature_not_enabled means the organization’s plan does not include Developer API access. Contact the organization’s admin about upgrading to Club.