Gamearly API v1
Dashboard

Get started / Errors & status codes

Errors and status codes#

Status codes#

Status Meaning
200 Success
201 Created
400 Invalid input
401 Auth or permission issue (invalid or missing API key)
403 Forbidden (insufficient permissions, inactive project, …)
404 Not found
405 Method not allowed
429 Rate limited — back off and retry
500 Server error

Error responses#

Error responses carry a machine-readable error field:

{ "error": "invalid_api_key" }
error Status Meaning
missing_api_key 401 No X-Api-Key header and no Authorization: ApiKey …
invalid_api_key 401 No key matches, the key was revoked, or your IP is not allowed
expired_api_key 401 The key was real, but its regeneration grace period has ended
insufficient_scope 403 Valid key, wrong kind for this route
inactive_client 403 The project is inactive on Gamearly
rate_limited 429 Back off and retry

insufficient_scope names both sides, so you can see at a glance which key you used:

{
  "error": "insufficient_scope",
  "required": ["quests:write"],
  "granted": ["events:write", "link:read", "link:write", "project:read", "users:read"],
  "key_kind": "public"
}

key_kind: "public" on a route that needs a private scope means the call is coming from your game rather than your server. See Authentication.

Ingest is different#

Partial success on batches

/events/track and /events/import do not fail the whole batch when individual events are bad. They return 200 with the batch partitioned into accepted, duplicated, throttled and rejected. See Sending events.