Opono
Skip to content
Documentation menu Errors object ▾

API reference

Errors object

Copy as Markdown

Inspect an error

GET /v1/fixtures?limit=0

Read the error object returned when a request fails.

Authentication: Bearer API key; authentication failures also use this object.

Parameters

Path parameters

NameTypeRequiredDescription
———This response object accepts no parameters.

Query parameters

NameTypeRequiredDescription
———This response object accepts no parameters.

Body parameters

NameTypeRequiredDescription
———This response object accepts no parameters.

Example request

bash
curl 'https://api.opono.com/v1/fixtures?limit=0' \
  --header "Authorization: Bearer $OPONO_API_KEY"

Response

FieldTypeDescription
error.typestringBroad error category.
error.codestringStable code listed below.
error.messagestringExplanation of the failure.
error.causestringCause when present.
error.fixstringRecovery instruction when present.
error.paramstring or nullInvalid parameter, if known.
error.doc_urlstringDocumentation link.
error.request_idstring or nullRequest ID for support.
error.retry.retryablebooleanWhether you can retry; may be absent during maintenance.
error.retry.after_secondsnumber or nullMinimum retry delay in seconds.
error.retry.strategystringcorrect_request, backoff_with_jitter, or wait_for_change.
error.retry.idempotency_keystringsame, new, or not_applicable.
error.credit_effectstringnot_charged for confirmed failure; unknown if settlement is unconfirmed.
error.recoveryobject or nullRecovery details, including fixture candidates when ambiguous.
error.recovery.reasonstringFor lineup_invalid: xi_size, duplicate_player, bench_size, xi_bench_overlap, goalkeeper_count, formation_invalid, or formation_unsupported.
error.recovery.unknown_idstringPlayer ID outside this side's squad when present.
error.recovery.next_stepstringCorrection guidance, including the free squads URL when relevant.
error.recovery.retry_atstringAccount lockout expiry in ISO 8601 UTC when present; also honour Retry-After.
error.rule / error.reasonstringRate-limit details when present.
error.retryAfterMsnumberRate-limit retry delay in milliseconds when present.

Example response

400 response.

json
{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_invalid",
    "message": "'limit' must be a positive integer up to 200.",
    "cause": "The request does not satisfy the operation's input contract.",
    "fix": "Set limit to an integer from 1 to 200.",
    "param": "limit",
    "doc_url": "https://opono.com/docs#parameter_invalid",
    "request_id": "req_example",
    "retry": {
      "retryable": false,
      "after_seconds": null,
      "strategy": "correct_request",
      "idempotency_key": "not_applicable"
    },
    "credit_effect": "not_charged",
    "recovery": null
  }
}

Errors

StatusCodeMeaning
400parameter_invalidA parameter has an invalid value.
400parameter_missingA required parameter is absent.
401invalid_api_keyThe credential cannot authenticate.
401key_revokedThe API key has been revoked.
401key_expiredThe API key has expired.
402balance_too_lowYour available balance cannot cover the request.
403scope_missingThe key lacks the required scope.
403org_suspendedYour account is suspended.
403ip_not_allowedThe caller is outside the key's IP allowlist.
403tier_restrictedThe organisation plan does not include this operation.
404resource_missingThe resource is missing or belongs to another account.
409idempotency_conflictAn idempotency key conflicts with a prior request.
429rate_limitedA request or authentication rate limit was exceeded.
429concurrency_limitedThe organisation has no available concurrent slot.
429loop_guardA repeated-call burst was refused.
409reservation_expiredThe simulation credit hold ended without delivery.
503fixture_lookup_incompleteThe fixture lookup could not prove a unique match.
404fixture_not_foundNo matching simulation fixture exists.
409fixture_ambiguousThe fixture lookup identifies multiple candidates.
500simulation_failedThe simulation job failed.
503settlement_unknownDelivery settlement could not be confirmed.
500internal_errorAn unexpected internal failure occurred.
503dependency_unavailableRequest admission is unavailable.
500payload_missingThe result is unavailable or incomplete.
502provenance_missingThe result is missing required source information.
502provenance_mismatchThe result does not match the requested inputs.
503engine_cold_startThe simulation service is starting.
503engine_overloadedThe simulation service is at capacity.
503engine_unavailableThe simulation service is unavailable.
503storage_unavailableThe result is temporarily unavailable.
400fixture_not_coveredThe requested fixture is not available for simulation.
503refreshingThe request can't be checked right now.
503capability_offThis output is no longer available.
503capability_disabledThis output is disabled.
503maintenanceThe API is paused for maintenance.
400lineup_invalidThe custom XI, bench, goalkeeper selection, or formation is invalid; recovery.reason identifies the rule.
400player_not_in_squadA custom player ID is outside this side's squad; check recovery.unknown_id against the free squads list.
409lineups_not_announcedAnnounced team sheets are unavailable; wait for publication or use auto.
429lineup_cooldownCustom-lineup requests are temporarily locked; wait for Retry-After and recovery.retry_at.