Composes an authorization overlay over keys that already exist, for the calling application's self-use scenario. Atomically creates the control-plane entities — Exchange Context (INTERNAL) + Actor (INTERNAL) + Credential + Asset references + Constraint Policy (permissive) + 1..N Capability Grants.
This endpoint creates no key. keyKid and targetKeyKid are references to keys the tenant already owns; provision keys with POST /api/v3/admin/tenants/{tenantId}/keys (scope admin.keys.orchestrate) and name them here. The key keeps its own lifecycle: revoking or deleting this use case leaves it untouched, and several use cases may reference one key.
A key reference that names no key in the tenant is 404. A key that exists but cannot carry the declared operations is 422, with a distinct type per cause. Every refusal happens before anything is provisioned, so a rejected request creates nothing.
The credential plaintext is returned ONCE in the 201 response body — capture it immediately.
Scope required: admin.tenant.internal-use-case.create
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||