error field:
Error types
Authentication
invalid_api_key
HTTP 401. No usable key was sent, or the key does not match any key on record. Send it asAuthorization: Bearer gpk_.... A key is shown once at creation and cannot be recovered. If you lose it, create a new one.
api_key_revoked
HTTP 401. This key has been revoked. Create a new one in Settings → API keys.api_key_expired
HTTP 401. This key is no longer valid. Create a new key in Settings → API keys.Permission
api_keys_disabled
HTTP 403. The partner API is temporarily unavailable. Your keys still exist and work again when it returns. Calls made meanwhile are not processed.insufficient_scope
HTTP 403. Your key does not carry the scope this endpoint needs.required_scope names it. An existing key cannot gain a scope, so create a new key with it. See the scopes table.
account_suspended
HTTP 403. The account this key belongs to is suspended. Thecode field reads banned.
company_required
HTTP 403. The key’s owner is not a member of any company. Requests, opportunities and introductions all belong to a company. Join or create one in the dashboard, then retry.forbidden_role
HTTP 403. The key owner’s role does not allow this action. A viewer can read. Stating demand, declining an opportunity or confirming readiness needs a trader, an authorized signatory or an owner.Request shape
invalid_request
HTTP 400. One or more parameters are invalid.param names the field, when the failure comes from parsing your request.
invalid_cursor
HTTP 400. Thecursor does not match this list. A cursor is valid only for the exact list and filters that produced it. Restart pagination without a cursor. See Pagination.
not_found
HTTP 404. No such resource, or it is not visible to you.Requests (the buyer’s demand)
request_not_found
HTTP 404. No such request, or it belongs to another company. The two cases look identical on purpose.request_not_editable
HTTP 409. This request can no longer be edited, because it was offered to a seller (matched) or closed (closed). current carries its actual status. State new demand as a new request instead of retrying the edit. See Statuses.
request_invalid
HTTP 400. The specification does not describe demand anyone could match.problems lists every field at fault at once, so fix them together rather than one per retry.
Opportunities (the seller’s inbox, before reveal)
opportunity_not_found
HTTP 404. No such opportunity, or it was not offered to your company. The two cases look identical on purpose.opportunity_not_pending
HTTP 409. This opportunity is no longer waiting for an answer. It was already accepted, declined, expired or withdrawn.current carries its actual status. This call changed nothing.
Introductions (after reveal)
introduction_not_found
HTTP 404. No such introduction, or your company is not a party to it. The two cases look identical on purpose.introduction_not_active
HTTP 409. This introduction is no longer active, for example because it was released (released). Nothing new can be recorded on it. current carries its actual status. See Statuses.
Idempotency
idempotency_key_required
HTTP 400. Every write to requests, opportunities and introductions needs anIdempotency-Key. See Idempotency.
idempotency_key_in_flight
HTTP 409. A request with thisIdempotency-Key is still being processed. retry_after_seconds and the Retry-After header say how long to wait; retrying then returns the original response.
idempotency_key_reused
HTTP 409. ThisIdempotency-Key was already used with a different request body. Use a new key for a new intent; reuse a key only to retry the exact request it belongs to.
Rate limits
rate_limited
HTTP 429. Too many requests.retry_after_seconds and the Retry-After header say how long to wait. See Rate limits.
daily_quota_exceeded
HTTP 429. The daily request quota for this key is spent. It resets at 00:00 UTC.Server
api_error
HTTP 500. Something went wrong on our side. If it persists, contact support at help@gpuoutlet.ai and quoterequest_id.
Related
Idempotency
Safe retries that avoid
idempotency_key_reused.Rate limits
Avoiding
rate_limited and daily_quota_exceeded.