docs
Get startedTroubleshootingPaymentsWebhooksAgent paymentsSwop MCPOviIdentity (swop.id)SwivyRPC (preview)API reference
API reference

Session grants

Scoped, expiring wallet access for AI agents and backend jobs.

Preview: not generally available

Swivy runs in staging only. Paths and fields can change before general availability. There is no public base URL yet; preview partners get theirs with their credentials.

A grant lets a holder of a separate ed25519 key create intents for one account, inside a scope, until it expires or is revoked.

5 endpoints, generated from Swivy's OpenAPI document (apps/api/src/openapi.ts).

List delegated session grants

GET/v1/runtime/session-grants

Auth: x-swivy-app-id + x-swivy-publishable-key + Authorization: Bearer <sessionToken> or x-swivy-app-id + x-swivy-secret-key (server only) + Authorization: Bearer <sessionToken>

Responses: 200 Delegated session grants · 401 Invalid runtime session or environment credentials

Create a delegated session grant

POST/v1/runtime/session-grants

Auth: x-swivy-app-id + x-swivy-publishable-key + Authorization: Bearer <sessionToken> or x-swivy-app-id + x-swivy-secret-key (server only) + Authorization: Bearer <sessionToken>

Request body: Delegated session-grant payload

accountIdstringRequired
labelstring
challengeIdstring
publicKeystringRequired
expiresInSecondsinteger
scopeobject

Responses: 200 Created session grant · 400 Session grant payload is invalid · 401 MFA required or invalid runtime session · 403 Session grant not allowed · 404 Managed account not found · 409 Client reconstruction required

Revoke a delegated session grant

POST/v1/runtime/session-grants/{grantId}/revoke

Auth: x-swivy-app-id + x-swivy-publishable-key + Authorization: Bearer <sessionToken> or x-swivy-app-id + x-swivy-secret-key (server only) + Authorization: Bearer <sessionToken>

Parameters

grantIdstring (path)Required
Session grant identifier

Responses: 200 Revoked session grant · 401 Invalid runtime session or environment credentials · 404 Session grant not found

Create a signing intent with a delegated session grant

POST/v1/runtime/session-grants/{grantId}/intents/signing

Auth: x-swivy-app-id + x-swivy-publishable-key or x-swivy-app-id + x-swivy-secret-key (server only)

Parameters

grantIdstring (path)Required
Session grant identifier

Request body: Delegated signing intent payload

payloadobjectRequired
authorizationobjectRequired

Responses: 200 Queued or completed signing intent · 400 Unsupported signing payload · 401 Invalid session grant, authorization, or environment credentials · 403 Signing kind or network not allowed · 404 Session grant or managed account not found · 409 Client reconstruction required or nonce reused

Create a transaction intent with a delegated session grant

POST/v1/runtime/session-grants/{grantId}/intents/transactions

Auth: x-swivy-app-id + x-swivy-publishable-key or x-swivy-app-id + x-swivy-secret-key (server only)

Parameters

grantIdstring (path)Required
Session grant identifier

Request body: Delegated transaction intent payload

payloadobjectRequired
authorizationobjectRequired

Responses: 200 Queued or completed transaction intent · 400 Unsupported transaction payload · 401 Invalid session grant, authorization, or environment credentials · 403 Execution, network, or value not allowed · 404 Session grant or managed account not found · 409 Client reconstruction required or nonce reused

On this page