Light AIDocs Beta Open Light AI

API reference

GETList the organizations connected to your partner account

GET /v1/partner/grants: Each grant is one contractor's consent.

GEThttps://api.light-ai.app/v1/partner/grants

Each grant is one contractor's consent. Send Light-AI-Organization: org_… with a grant's organization id to act for it.

CredentialPartner API key (a key of a partner account).
Test modeWorks with test keys (test objects only).

Query parameters#

limitinteger#
Page size, 1–100 (default 25). 1–100.
cursorstring#
next_cursor from the previous page. At most 400 characters.
statusstring#
One of: pending, active, revoked, expired, superseded, suspended.

Headers#

Light-AI-Versionstring#
Pin a dated API version (defaults to the key's version). One of: 2026-11-01.

Response 200#

A page of grants.

objectstringrequired#
Always list.
dataobject[]required#
data[].idstringrequired#
Id prefix grant_.
data[].objectstringrequired#
Always grant.
data[].statusstringrequired#
One of: pending, active, superseded, revoked, suspended, expired.
data[].versionintegerrequired#
data[].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.
data[].external_referencestring | nullrequired#
data[].metadataobjectrequired#
data[].client_labelstring | nullrequired#
data[].granted_attimestamprequired#
RFC 3339 timestamp (UTC, milliseconds).
data[].confirmed_attimestamp | nullrequired#
RFC 3339 timestamp (UTC, milliseconds).
data[].pending_expires_attimestamp | nullrequired#
RFC 3339 timestamp (UTC, milliseconds).
data[].revoked_attimestamp | nullrequired#
RFC 3339 timestamp (UTC, milliseconds).
data[].organizationobject | nullrequired#
data[].organization.idstringrequired#
Id prefix org_.
data[].organization.namestring | nullrequired#
data[].partnernull#
has_morebooleanrequired#
next_cursorstring | nullrequired#
Pass as cursor to fetch the next page.

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).
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