Light AIDocs Beta Open Light AI

API reference

POSTDecline a pending grant (wrong organization)

POST /v1/partner/grants/{grant_id}/decline: Decline a pending grant (wrong organization)

POSThttps://api.light-ai.app/v1/partner/grants/{grant_id}/decline
CredentialPartner API key (a key of a partner account).
Test modeLive keys only (answers 400 test_mode_unsupported to a test key).
IdempotencyIdempotency-Key supported. See Idempotency.

Path parameters#

grant_idstringrequired#
The grant id (grant_…). Id prefix grant_.

Headers#

Light-AI-Versionstring#
Pin a dated API version (defaults to the key's version). One of: 2026-11-01.
Idempotency-Keystring#
Retry-safe writes: the same key and body replay the first response for 24 hours (Idempotent-Replayed: true). 8–128 characters.

Request body#

An empty JSON object ({}) or no body.

Response 200#

The revoked grant.

idstringrequired#
Id prefix grant_.
objectstringrequired#
Always grant.
statusstringrequired#
One of: pending, active, superseded, revoked, suspended, expired.
versionintegerrequired#
scopesstring[]required#
One of: leads:read, leads:write, clients:read, clients:write, projects:read, projects:write, quotes:read, quotes:write, quotes:share_link, quotes:asset_links, webhooks:manage, events:read, mockups:read, mockups:write, forms:read, forms:write.
external_referencestring | nullrequired#
metadataobjectrequired#
client_labelstring | nullrequired#
granted_attimestamprequired#
RFC 3339 timestamp (UTC, milliseconds).
confirmed_attimestamp | nullrequired#
RFC 3339 timestamp (UTC, milliseconds).
pending_expires_attimestamp | nullrequired#
RFC 3339 timestamp (UTC, milliseconds).
revoked_attimestamp | nullrequired#
RFC 3339 timestamp (UTC, milliseconds).
organizationobject | nullrequired#
organization.idstringrequired#
Id prefix org_.
organization.namestring | nullrequired#
partnernull#

Errors#

StatusMeaning
400Bad request. bad_request, test_mode_mismatch, test_mode_unsupported, unsupported_api_version
401Missing or invalid credential. authentication_required, invalid_api_key, api_key_revoked, api_key_expired, api_key_suspended
403Not allowed. insufficient_scope, plan_upgrade_required, organization_paused, organization_off_season, api_disabled, api_access_not_enabled, ip_not_allowed, forbidden
404Not found (also for objects of other organizations and for organizations without an active grant).
409Conflict. stale_state, conflict, idempotency_in_progress, idempotency_scope_mismatch, quote_already_decided, quote_not_current, billing_review_required
413Request bodies are limited to 256 KB.
415The body is not JSON: send Content-Type: application/json. unsupported_media_type
422Validation failed. idempotency_key_reused
429Rate limited or daily cap reached. See Retry-After and the RateLimit headers. rate_limited, daily_cap_reached
500Unexpected server error. Safe to retry with exponential backoff; quote the Request-Id to support. internal_error
503Temporarily unavailable. Retry with exponential backoff. service_unavailable