Skip to main content
Status: Personal tenant keys and minimal durable execution are available to admitted partner-preview tenants. Organization execution and organization keys are unavailable.

Tenant authority

Every public request resolves tenant identity from its bearer key. Request bodies cannot grant a user id, organization id, tenant id, role, billing account, or policy authority. Runs, events, usage, webhook endpoints, and webhook deliveries are rechecked against that server-derived tenant at their point of authority. The live preview admits personal tenants only. Praxa’s broader product already has organization ownership for other surfaces, but that does not make organization /v1 execution or organization praxa_sk_ keys available.

Exact scope values

These four strings are the complete v1 key scope enum. There is no execute, runs:cancel, webhooks:read, or webhooks:write scope. Webhook management reuses run scopes because webhook endpoints and deliveries project run events:
  • list endpoints/deliveries: runs:read;
  • create/update/delete endpoints and replay a dead-letter delivery: both runs:read and runs:write at the authoritative backend;
  • mutation gateway pre-gate: runs:write.
Bearer webhook management is active for admitted personal tenants. The backend still reauthorizes every read and mutation at its point of effect.

Scopes are endpoint permissions

Current key scopes do not select tools, set a risk ceiling, cap spend, pin a model, or choose an approval mode. The public handler rejects context, tools, policy, delivery, and task.agentId. Admission, funding, and task authority remain server-derived and fail closed. The source SDK reserves those request fields for future expansion. A schema accepting a field is not proof the active handler permits it.

Isolation boundary

  • A personal key can access only its personal tenant’s public resources.
  • Unknown and foreign run resources are not projected.
  • Usage includes only immutable public-API-origin evidence for the tenant.
  • Webhook endpoints and deliveries are tenant-bound in both service code and server-owned authorization functions.
  • Plaintext API keys are returned once; authoritative storage keeps a SHA-256 hash and safe metadata.
Tenant-wide memory/Vectorize partitioning, organization delegation, BYO provider credentials, and cross-tenant learning are separate roadmap items. Do not infer them from the personal preview.

Existing custom-agent credentials

The existing custom-agent credential belongs to the custom-agent deployment surface and is scoped to one published deployment. It is not interchangeable with praxa_sk_, and neither credential silently gains the other’s authority.

See also

Last modified on August 14, 2026