Kivel
← Documentation

HTTP API reference

Every endpoint with its parameters, request body, responses, and runnable examples. Anonymous calls need no key; account calls send an API key from your workspace as Authorization: Bearer.

OpenAPI JSON ↗

All endpoints

204 operations in 26 groups. Kivel API version 0.4.0. Open a group for its endpoints, or use the interactive reference below to try them.

Utilities3

Hosted versions of local formatters, encoders, and generators.

  • GET/api/toolsDiscover all tools and availability
  • GET/api/tools/{id}Read tool inputs, options and examples
  • POST/api/tools/{id}/runRun a utility with bounded CPU, memory, and input
Accounts23

Workspace accounts, role-limited keys, and usage. Browser session mutations require Origin matching the configured site.

  • GET/api/plansCompare configured plan allowances
  • GET/api/usageRead the current principal’s hosted execution usage
  • GET/api/email-sending/usageRead how many emails this workspace sent today and this month, with its limits
  • POST/api/auth/registerCreate a free username/password account and session
  • POST/api/auth/loginSign in with a seven-day HttpOnly session cookie
  • POST/api/auth/logoutRevoke the current browser session
  • GET/api/accountRead your user, workspace, effective plan, role, and scopes
  • PATCH/api/accountRename a workspace as an owner or admin
  • GET/api/account/keysList your active keys in the current workspace
  • POST/api/account/keysCreate a scoped key; its secret is returned once
  • DELETE/api/account/keys/{id}Immediately revoke one of your workspace keys
  • GET/api/account/workspacesList your workspace memberships
  • POST/api/account/workspaceSwitch the current browser session’s workspace
  • GET/api/account/membersList current workspace members
  • POST/api/account/invitesCreate a username-bound Team invitation valid for 24 hours
  • POST/api/account/invites/acceptAccept an invitation for your username
  • DELETE/api/account/members/{id}Remove a member and revoke their access to this workspace
  • GET/api/auth/recoveryRead email recovery availability
  • GET/api/account/recoveryRead your verified and pending recovery email
  • POST/api/account/emailSend a verification code after confirming your current password
  • POST/api/account/email/verifyVerify a pending email with a single-use code
  • POST/api/auth/password/forgotRequest a password reset code
  • POST/api/auth/password/resetConsume an email code and replace your password
Lifecycle11

Inspect ownership, retention, and resource expiry.

  • GET/api/account/resourcesList active resources owned by your workspace and total storage
  • POST/api/inboxes/{id}/renewRenew a live resource within the current plan
  • POST/api/mocks/{id}/renewRenew a live resource within the current plan
  • POST/api/files/{id}/renewRenew a live resource within the current plan
  • POST/api/mcp-servers/{id}/renewRenew a live resource within the current plan
  • POST/api/status-pages/{id}/renewRenew a live resource within the current plan
  • POST/api/inboxes/{id}/sharingSet visibility or rotate a private access token
  • POST/api/mocks/{id}/sharingSet visibility or rotate a private access token
  • POST/api/files/{id}/sharingSet visibility or rotate a private access token
  • POST/api/mcp-servers/{id}/sharingSet visibility or rotate a private access token
  • POST/api/status-pages/{id}/sharingSet visibility or rotate a private access token
Billing5

Dodo Payments subscriptions. Checkout remains disabled until configured.

  • GET/api/billingRead billing availability and validated recurring prices
  • POST/api/billing/checkoutOpen Dodo Payments subscription checkout for a workspace owner
  • POST/api/billing/portalOpen the workspace owner’s Dodo Payments billing portal
  • POST/billing/webhookReceive signed Dodo Payments subscription lifecycle events
  • POST/api/billing/phone-addonOwner-only paid phone slot change
Music library3

Original CC0 instrumental tracks and byte-range audio playback.

  • GET/api/musicList original CC0 tracks
  • GET/api/music/{id}/audio.wavStream or download a music track
  • GET/api/music/{id}/audio.mp3Stream or download a full MP3 arrangement
Webhook inboxes16

Capture and inspect callbacks.

  • POST/api/inboxesCreate a temporary webhook inbox
  • POST/hooks/{id}/{path}Capture any ordinary HTTP method at a nested inbox path
  • GET/hooks/{id}Capture an incoming request
  • POST/hooks/{id}Capture an incoming request
  • PUT/hooks/{id}Capture an incoming request
  • PATCH/hooks/{id}Capture an incoming request
  • DELETE/hooks/{id}Capture an incoming request
  • GET/api/inboxes/{id}Read inbox expiration and usage
  • DELETE/api/inboxes/{id}Delete an inbox and its history
  • GET/api/inboxes/{id}/requestsRead captured requests in arrival order
  • PUT/api/inboxes/{id}/responseChoose what the inbox answers senders with
  • DELETE/api/inboxes/{id}/responseRestore the default JSON receipt
  • PUT/api/inboxes/{id}/forwardForward every captured request to your endpoint (Pro and Team)
  • DELETE/api/inboxes/{id}/forwardStop forwarding
  • GET/api/inboxes/{id}/deliveriesRead the last 100 forwarding attempts
  • GET/api/inboxes/{id}/waitWait until the inbox receives a request
Mock APIs6

Manage temporary API configurations.

  • POST/api/mocks/{id}/resetRestore a CRUD mock to its seed records
  • GET/api/mocks/{id}/callsRead the most recent calls to a mock
  • POST/api/mocksCreate a temporary mock API
  • GET/api/mocks/{id}Read mock configuration and usage
  • PUT/api/mocks/{id}Replace mock configuration and reset CRUD records
  • DELETE/api/mocks/{id}Delete a mock API immediately
OAuth test providers13

Test OAuth and OpenID Connect with synthetic users and controlled failures.

  • GET/api/oauth-providersList workspace OAuth test providers
  • POST/api/oauth-providersCreate an OAuth test provider
  • GET/api/oauth-providers/{id}Inspect an OAuth test provider
  • PUT/api/oauth-providers/{id}Update users, claims and failure scenario
  • DELETE/api/oauth-providers/{id}Delete a test provider and its signing keys
  • GET/oauth/{id}/.well-known/openid-configurationDiscover this test provider
  • GET/oauth/{id}/jwksRead the provider RS256 public signing key
  • GET/oauth/{id}/authorizeChoose a test user and approve or deny
  • POST/oauth/{id}/authorizeSubmit a signed test consent form
  • POST/oauth/{id}/tokenExchange a code, rotate a refresh token or issue client credentials
  • GET/oauth/{id}/userinfoRead the synthetic user claims
  • POST/oauth/{id}/userinfoRead the synthetic user claims
  • POST/oauth/{id}/revokeRevoke an access or refresh token and its grant family
Mock endpoints6

Call your configured routes.

  • GET/ws/{id}Connect to a mock WebSocket
  • GET/mock/{id}/{path}Call a configured mock route
  • POST/mock/{id}/{path}Call a configured mock route
  • PUT/mock/{id}/{path}Call a configured mock route
  • PATCH/mock/{id}/{path}Call a configured mock route
  • DELETE/mock/{id}/{path}Call a configured mock route
Files5

Share temporary attachments.

  • GET/files/{id}/infoRead shared file metadata without consuming a download
  • POST/api/filesUpload a temporary file
  • GET/api/files/{id}Read file metadata and remaining downloads
  • DELETE/api/files/{id}Delete a file immediately
  • GET/files/{id}Download a shared file
Platform3

Service health.

  • GET/healthCheck process liveness
  • GET/readyCheck database readiness
  • GET/api/capabilitiesRead operator-enabled features
MCP2

Connect agents through Streamable HTTP at /mcp. Discover available operations with tools/list.

  • POST/mcpSend an MCP message over Streamable HTTP
  • POST/mcp/mock/{id}Send an MCP message over Streamable HTTP
Mock MCP servers4

Configurable static tools for agent integration testing.

  • POST/api/mcp-serversCreate a temporary mock MCP server
  • GET/api/mcp-servers/{id}Read server configuration and usage
  • PUT/api/mcp-servers/{id}Replace the mock tool configuration
  • DELETE/api/mcp-servers/{id}Delete a mock MCP server
Agents10
  • POST/api/agents/loginAsk a human to connect this agent (no key needed)
  • POST/api/agents/trialStart a 72-hour trial when no human can approve yet
  • POST/api/agents/tokenPoll for the API key after the human approves
  • GET/api/agentsList the workspace’s agents and the plan limit
  • GET/api/account/activityRead recent MCP tool calls; arguments and results are never included
  • DELETE/api/agents/{id}Revoke an agent (signed-in owner/admin only)
  • GET/api/agents/login/{code}Review an agent login in the signed-in browser
  • POST/api/agents/login/{code}/approveApprove an agent in the owner/admin browser; API keys cannot approve
  • POST/api/agents/login/{code}/denyDeny an agent in the owner/admin browser
  • POST/api/events/waitWait for any webhook, email or human-answer event
Monitors10
  • GET/api/monitorsList monitors and their status
  • POST/api/monitorsWatch a URL, a certificate or a scheduled job
  • GET/api/monitors/{id}Read a monitor and its last 50 status changes
  • PATCH/api/monitors/{id}Pause or resume a monitor
  • DELETE/api/monitors/{id}Delete a monitor
  • GET/ping/{token}Report a successful heartbeat from a job
  • POST/ping/{token}Report a successful heartbeat using its secret ping token
  • GET/ping/{token}/failReport a failed heartbeat from a job
  • POST/ping/{token}/failReport a failed heartbeat using its secret ping token
  • POST/api/monitors/{id}/accept-dnsAccept the last observed DNS answers as a new baseline
Agent memory4
  • GET/api/memory/{namespace}/{key}Read a remembered value
  • PUT/api/memory/{namespace}/{key}Remember a JSON value
  • DELETE/api/memory/{namespace}/{key}Forget a value
  • GET/api/memory/{namespace}List keys in a namespace
Human approvals5
  • GET/api/approvalsList recent questions
  • POST/api/approvalsAsk the workspace owner a question
  • GET/api/approvals/{id}Read a question and its answer or expiry
  • GET/api/approvals/{id}/waitWait for an answer; repeat if timedOut is true
  • POST/api/approvals/{id}/answerAnswer once from the signed-in owner/admin browser
Email inboxes20
  • GET/api/email-inboxesList owned addresses and their active or paused status
  • POST/api/email-inboxesCreate an owned agent email address
  • GET/api/email-inboxes/{id}Read address, expiry and message count
  • DELETE/api/email-inboxes/{id}Delete the inbox and received messages
  • GET/api/email-inboxes/{id}/messagesRead messages with codes, links and attachment IDs for private downloads
  • DELETE/api/email-inboxes/{id}/messagesDelete stored messages while keeping the address
  • GET/api/email-inboxes/{id}/waitWait for new messages
  • POST/api/email-inboxes/{id}/renewCheck an active paid inbox; Free inbox lifetimes cannot be extended
  • GET/api/email-threadsList workspace email threads newest first
  • GET/api/email-inboxes/{id}/threadsList inbox threads newest first
  • GET/api/email-inboxes/{id}/threads/{threadId}Read a thread with its messages oldest first
  • GET/api/email-inboxes/{id}/rulesRead inbox address rules
  • PUT/api/email-inboxes/{id}/rulesReplace inbox address rules as a signed-in owner or admin
  • GET/api/email-inboxes/{id}/draftsList drafts in an inbox
  • POST/api/email-inboxes/{id}/draftsSave an email draft without sending it
  • GET/api/email-drafts/{id}Read draft content and delivery status
  • DELETE/api/email-drafts/{id}Delete a draft and cancel any pending send
  • POST/api/email-drafts/{id}/sendQueue a draft for delivery or human approval
  • POST/api/email-inboxes/{id}/sendSend from an active owned agent address
  • PUT/api/email-inboxes/{id}/forwardingForward received mail to a public webhook (Pro or Team)
Phone numbers6
  • GET/api/phone-numbersList owned numbers and paid-slot allowance
  • POST/api/phone-numbersBuy a US number in an already-paid slot
  • GET/api/phone-numbers/availableSearch available US local SMS numbers
  • DELETE/api/phone-numbers/{id}Release an owned number and stop its provider billing
  • GET/api/phone-numbers/{id}/smsRead private received SMS and codes
  • GET/api/phone-numbers/{id}/waitWait for incoming SMS on an active number
Status pages5
  • POST/api/status-pagesPublish selected workspace monitor results
  • GET/api/status-pages/{id}Read owned status-page configuration
  • PUT/api/status-pages/{id}Update selected monitors and page copy
  • DELETE/api/status-pages/{id}Delete a status page
  • GET/status/{id}View a public or authorized private status page
Scheduled jobs4
  • GET/api/scheduled-jobsList workspace callbacks and recent attempts
  • POST/api/scheduled-jobsSchedule a delayed or repeating JSON callback
  • GET/api/scheduled-jobs/{id}Read a callback and its latest 20 delivery attempts
  • DELETE/api/scheduled-jobs/{id}Cancel future deliveries and delete the job
SMTP capture3
  • POST/api/smtp-inboxesCreate an authenticated test SMTP capture
  • GET/api/smtp-inboxes/{id}Read capture settings without revealing its password
  • POST/api/smtp-inboxes/{id}/rotateRevoke the previous capture password and return a replacement
Authenticators6
  • GET/api/authenticatorsList workspace authenticators without secrets
  • POST/api/authenticatorsStore a TOTP authenticator
  • GET/api/authenticators/{id}Inspect authenticator metadata
  • PATCH/api/authenticators/{id}Rename an authenticator
  • DELETE/api/authenticators/{id}Permanently delete an authenticator
  • GET/api/authenticators/{id}/codeGenerate a TOTP code
Vault7
  • GET/api/credentialsList workspace credential metadata
  • POST/api/credentialsSave an encrypted credential or generate and save a password
  • GET/api/credentials/{id}Read credential metadata
  • PATCH/api/credentials/{id}Update a credential
  • DELETE/api/credentials/{id}Delete a workspace credential
  • POST/api/credentials/{id}/revealReveal a password after human approval
  • POST/api/passwords/generateGenerate a strong password without storing it
Test payments22
  • GET/api/test-walletsList test wallets
  • POST/api/test-walletsCreate a test wallet
  • GET/api/test-wallets/{id}Inspect test configuration and results
  • PATCH/api/test-wallets/{id}Update test configuration
  • DELETE/api/test-wallets/{id}Delete the test resource and its ledger or attempts
  • GET/api/test-paywallsList test paywalls
  • POST/api/test-paywallsCreate a test paywall
  • GET/api/test-paywalls/{id}Inspect test configuration and results
  • PATCH/api/test-paywalls/{id}Update test configuration
  • DELETE/api/test-paywalls/{id}Delete the test resource and its ledger or attempts
  • GET/api/test-checkoutsList test checkouts
  • POST/api/test-checkoutsCreate a test checkout
  • GET/api/test-checkouts/{id}Inspect test configuration and results
  • PATCH/api/test-checkouts/{id}Update test configuration
  • DELETE/api/test-checkouts/{id}Delete the test resource and its ledger or attempts
  • POST/api/test-wallets/{id}/payPay a test paywall or checkout, or record a payment
  • POST/api/test-wallets/{id}/top-upAdd free test balance
  • GET/api/test-wallets/{id}/transactionsRead the test ledger, newest first
  • POST/api/test-checkouts/{id}/completeComplete checkout with a fake card fixture
  • POST/api/test-checkouts/{id}/confirmConfirm the extra test verification step
  • GET/pay/{id}/{path}Public x402 v1 test paywall
  • GET/checkout/{id}Public test outcome picker; no card fields
Agent email2
  • GET/api/email-inboxes/{id}/messages/{messageId}/attachments/{attachmentId}Get a temporary private attachment download link
  • GET/api/email-inboxes/{id}/messages/{messageId}/attachments/{attachmentId}/downloadDownload an untrusted attachment using its temporary link

Loading API reference…