OAuth access must be enabled for your organization. Your setup provides the
regional token endpoint, issuer, audience and client authentication method.
If you need these settings or cannot access client management, contact
Living Security Support.
Before you start
- Create a service account with only the permissions the integration needs.
- Use a management credential with
service_account:manageand each permission you want to grant to the new client. The target account must also hold those permissions. A client cannot expand either account’s authority. - Choose the organization’s region. API credentials and OAuth access tokens belong on the matching regional API host.
- Keep the client secret and tokens in your server-side secret storage. Never put them in browser code, mobile applications, source control, or request logs.
Create a client
POST /v1/oauth_clients requires service_account_id, a nonempty list of explicit
scopes, and an Idempotency-Key. Wildcards are not accepted. A client supports
up to 100 scopes, with a combined length of at most 4,096 characters. Each service
account can have at most 20 clients or unresolved creation/cleanup operations.
Revocation immediately denies API access. A client or an uncertain provider
creation continues to count against the limit until remote cleanup is confirmed.
An abandoned reservation or a create proven to have failed before provider work
began can release its slot safely. Its retry key still belongs to the original
attempt; recover that receipt before deciding whether to create a replacement.
Choose one retry key for this creation attempt and persist it before sending
the request. Use 1–255 visible ASCII characters, without spaces. Reuse it with the
same account, scopes, management principal, region, and API version after a lost
response. Rotating the management credential under the same service account does
not create a new retry identity.
Install Python’s requests package. Load the following environment values through
your normal secret and configuration management:
Python
201 and contain an oauth_client resource
with id, service_account_id, client_id, scopes, status, created_at, and
client_secret. Responses are marked Cache-Control: no-store.
ididentifies the platform resource. Save it for retrieval and revocation.client_ididentifies the client during token exchange. It is not the platform resource ID. It can benullwhile creation is pending.client_secretis returned only to the request that completes creation. Every repeated creation request returnsnull, including a retry after a lost success response. Retrieval never returns a secret.
Recover a lost or interrupted response
Repeat the same creation request with the saved retry key to recover a resource receipt. The receipt reflects current state, so a revoked client remains revoked. This operation does not use the general 24-hour cached-response replay contract and does not return anIdempotent-Replayed header.
See errors for request IDs and recovery details.
Never send a client secret or access token with a support request.
Inspect and revoke
Use your management credential and the platform resourceid:
Revocation blocks subsequent API requests for the client, including requests with
already-issued tokens. It does not cancel work already accepted by the API.
Remote credential cleanup can complete later. Repeating revocation is safe and
requires no retry key. Continue using the management credential if the client
being revoked is itself an API caller.

