Reference255 operations
Generated from the OpenAPI document Skerry serves at https://api.skerry.xyz/openapi.json. Calls go to https://api.skerry.xyz.
Getting started7
- The index. Public, so a new developer can look before they have a keyget/
- Openapi json getget/openapi.json
- The partner, project, mode and scopes behind the key you sentget/whoami
- The API described for a model, as plain Markdownget/llms.txt
- The same description addressed to an agent that is about to act. Publicget/agents.md
- What this project may do right now, and what is merely comingget/capabilities
- Accept the terms a customer must agree to before they can be verifiedpost/terms
Customers13
- The businesses this project has onboardedget/customers
- Onboard a business, or a person with `typepost/customers
- Customers getget/customers/{id}
- Correct details on a businesspatch/customers/{id}
- Where verification has got toget/customers/{id}/verification
- Start or re-run verificationpost/customers/{id}/verification
- Customers onboarding linkpost/customers/{id}/onboarding-link
- The page behind an onboarding linkget/onboard/{token}
- The payment-method matrix for one customerget/customers/{id}/payment-methods
- Customers people listget/customers/{id}/people
- Customers people createpost/customers/{id}/people
- Remove a person from a business customer at the banking partnerdelete/customers/{id}/people/{person_id}
- Eligibility getget/eligibility
Custody13
- The customer's wallets and balancesget/customers/{id}/wallets
- Customers wallets createpost/customers/{id}/wallets
- What has moved in and out of one wallet, newest first. `?limit=`get/customers/{id}/wallets/{wallet_id}/history
- The customer's fiat accountsget/customers/{id}/accounts
- Open an account payers pay intopost/customers/{id}/accounts
- Stop an account accepting depositspost/customers/{id}/accounts/{account_id}/deactivate
- Let a deactivated account accept deposits again, with the same detailspost/customers/{id}/accounts/{account_id}/reactivate
- Start connecting a US bank by logging into it, instead of typing its numberspost/customers/{id}/bank-link
- Finish a bank loginpost/customers/{id}/bank-link/exchange
- The customer's cardsget/customers/{id}/cards
- Issue a card against an accountpost/customers/{id}/cards
- The customer's deposit memos. A payer who omits the memo cannot be attributedget/customers/{id}/memos
- A deposit memo, for chains where one shared address serves everybodypost/customers/{id}/memos
Paying out20
- Customers payees listget/customers/{id}/payees
- Add a bank account as a destination for moneypost/customers/{id}/payees
- One payee, with the name check as it stands nowget/customers/{id}/payees/{payee_id}
- Remove a payeedelete/customers/{id}/payees/{payee_id}
- Stop paying a payee for now without removing itpost/customers/{id}/payees/{payee_id}/pause
- Pay a paused payee againpost/customers/{id}/payees/{payee_id}/resume
- Customers payees checkpost/customers/{id}/payees/{payee_id}/check
- What a payout would cost, as a quote that binds the instructionpost/payouts/quote
- Payouts this project has made, with the reference each was givenget/payouts
- Send money to a payee, a wallet or an addresspost/payouts
- Batches, newest first, each with the outcome of each payout in itget/payouts/batches
- Up to 50 payouts in one callpost/payouts/batches
- One batch, with the outcome of each payout in itget/payouts/batches/{id}
- Who bears the cost of a bank payout, per currency and railget/customers/{id}/payout-fees
- Change who bears the cost of a bank payoutpatch/customers/{id}/payout-fees
- Customers batch settlement schedulespost/customers/{id}/batch-settlement-schedules
- Payouts getget/payouts/{id}
- Change the amount of a payout that is still `awaiting_funds`patch/payouts/{id}
- Cancel a payout that has not left yetdelete/payouts/{id}
- The rate between two currencies. `?from=&to=`get/rates
Standing conversion3
Events and webhooks8
- What has happened, newest firstget/events
- Deliver an event again, to every endpoint that wanted itpost/events/{id}/replay
- The catalogue of event typesget/events/types
- Webhooks listget/webhooks
- Register an endpointpost/webhooks
- Webhooks updatepatch/webhooks/{id}
- Remove an endpointdelete/webhooks/{id}
- Replace an endpoint's signing secretpost/webhooks/{id}/roll-secret
Accepting payments28
- Checkout sessions, newest first. `?customer_id=&status=&external_ref=`get/checkout-sessions
- Start a hosted checkout for a payerpost/checkout-sessions
- One sessionget/checkout-sessions/{id}
- Close an open session so it can no longer be paidpost/checkout-sessions/{id}/expire
- Payment links, newest first. `?customer_id=&external_ref=`get/payment-links
- A reusable or single-use link to a hosted checkout for a fixed amountpost/payment-links
- One payment link, with how many times it has been usedget/payment-links/{id}
- Pause, resume or disable a linkpatch/payment-links/{id}
- Payments, newest firstget/payments
- Charge a saved method with the payer absent, under the mandate they gavepost/payments
- One paymentget/payments/{id}
- Collect funds that were held. May capture less than the holdpost/payments/{id}/capture
- Release a hold, or abandon a payment that has not succeededpost/payments/{id}/cancel
- Refunds made against a paymentget/payments/{id}/refunds
- Refund all or part of a paymentpost/payments/{id}/refunds
- Disputes against payments, newest first. `?customer_id=&status=`get/disputes
- One dispute, with the date evidence is dueget/disputes/{id}
- Send evidence, and submit it when completepost/disputes/{id}/evidence
- Files uploaded for a dispute, newest firstget/disputes/{id}/files
- Upload a file to use as evidence: PDF, JPEG or PNG, up to 5 MB, base64-encodedpost/disputes/{id}/files
- A draft of the text evidence from what is on recordget/disputes/{id}/suggested-evidence
- Customers unmatched deposits listget/customers/{id}/unmatched-deposits
- Credit a deposit that was set aside to the checkout session it was meant forpost/customers/{id}/unmatched-deposits/{deposit_id}/assign
- Send a deposit that was set aside back, wholepost/customers/{id}/unmatched-deposits/{deposit_id}/refund
- Card proceeds on their way to the business's bank, newest first. `?customer_id=`get/settlements
- Send proceeds to the business's bank now. Needs an Idempotency-Keypost/settlements
- One settlementget/settlements/{id}
- What the customer holds per currencyget/customers/{id}/balances
Payers, saved methods and subscriptions14
- Payers, newest first. `?customer_id=`get/payers
- Record someone who pays a customerpost/payers
- One payerget/payers/{id}
- Methods the payer saved: brand, last four, expiry, and the mandateget/payers/{id}/payment-methods
- Forget a saved method and revoke its mandatedelete/payers/{id}/payment-methods/{method_id}
- A hosted page where a payer saves a method for later, without paying nowpost/customers/{id}/payment-method-setups
- Subscriptions, newest first. `?customer_id=&status=&payer_id=`get/subscriptions
- Charge a payer on a schedule from a saved methodpost/subscriptions
- One subscriptionget/subscriptions/{id}
- End a subscription now or at the end of the paid periodpost/subscriptions/{id}/cancel
- Meters, newest first. `?customer_id=`get/meters
- A usage meter on a customer's merchant account, for billing by usepost/meters
- Record usage by a payer against a meter. `identifier` makes a retry count oncepost/meters/{id}/events
- What a payer has used over a period. `?payer_id=&from=&to=&group_by=hour|day`get/meters/{id}/summary
Limits, agents and approvals17
- Policies, newest first, each with `usage`get/spend-policies
- Limit a key or an agentpost/spend-policies
- Spend policies getget/spend-policies/{id}
- Change a policy's amounts, counts, approval rules, purpose or datespatch/spend-policies/{id}
- Revoke a policy, immediatelypost/spend-policies/{id}/revoke
- Spend policies consent listget/spend-policies/{id}/consent
- Record that a person agreed to the mandate as it standspost/spend-policies/{id}/consent
- The operations counted under a mandate, newest firstget/spend-policies/{id}/usage
- A customer's spend policies as mandates (`objectget/mandates
- Operations held for a person to approve, newest first, each with `payee_display`get/approvals
- One held operation, as it was asked, with its `decisions`get/approvals/{id}
- Approve a held operation and run it oncepost/approvals/{id}/approve
- Refuse a held operationpost/approvals/{id}/deny
- Make an approve link and a deny link for one personpost/approvals/{id}/links
- The page behind an approval linkget/approve/{token}
- The page's confirm buttonpost/approve/{token}
- What a key or an agent may still move, per windowget/customers/{id}/limits
Agents and credentials21
- Agents, newest first. `?customer_id=&status=&parent_agent_id=`get/agents
- Register an agentpost/agents
- One agent, with its status and signing keysget/agents/{id}
- Change an agent's name, operator, description or whether it must sign requestspatch/agents/{id}
- Suspend an agentpost/agents/{id}/suspend
- Resume a suspended agentpost/agents/{id}/resume
- Revoke an agent permanently, with every agent it delegated to and all their keyspost/agents/{id}/revoke
- Mint a key bound to the agentpost/agents/{id}/keys
- The agent's signing keys in forceget/agents/{id}/public-keys
- Register an Ed25519 public key (JWK) the agent signs requests withpost/agents/{id}/public-keys
- Remove a signing keydelete/agents/{id}/public-keys/{kid}
- The OAuth clients approved to act as the agent, newest first, as `oauth_clientsget/agents/{id}/oauth-clients
- Agents oauth clients createpost/agents/{id}/oauth-clients
- Withdraw an OAuth client's approvaldelete/agents/{id}/oauth-clients
- Called with the agent's own credentialpost/agents/{id}/delegations
- Keys listget/keys
- One key: scopes, bound agent, last use, expiryget/keys/{id}
- A new secret for the same keypost/keys/{id}/roll
- Revoke a key, immediatelypost/keys/{id}/revoke
- Agents' public signing keys as a key directory (a JWK Set)get/.well-known/http-message-signatures-directory
- OAuth protected-resource metadata (RFC 9728)get/.well-known/oauth-protected-resource
Controls and audit8
- Whether one customer is frozenget/customers/{id}/freeze
- Freeze a customerpost/customers/{id}/freeze
- Lift a customer's freezepost/customers/{id}/unfreeze
- Freeze the whole account in this environmentpost/controls/freeze
- Lift the account's freezepost/controls/unfreeze
- What is frozen right now: the account and each frozen customerget/controls
- The audit trail, newest firstget/audit
- Walk the audit hash chain and report the first entry that does not fitget/audit/verify
Conversion and ledger5
- A priced offer to convert, valid for a short time and usable oncepost/conversions/quote
- Conversions, newest first. `?customer_id=`get/conversions
- Execute a quote. Needs an Idempotency-Keypost/conversions
- One conversion and whether it has settledget/conversions/{id}
- Double-entry entries for a period, as JSON or CSV, in booking orderget/customers/{id}/ledger
Books and receipts9
- Whether the books are connected, to which project, and how delivery is goingget/customers/{id}/books
- Start connecting a customer's bookspost/customers/{id}/books
- End the connection. Movements stop being delivereddelete/customers/{id}/books
- Send the movements of a period to the books again. Safe to repeatpost/customers/{id}/books/backfill
- What was sent to the books and how it went, newest first. `?status=`get/customers/{id}/books/deliveries
- Customers books links getget/customers/{id}/books/links
- Complete a connectionpost/books/connections
- The signed receipt of one movementget/receipts/{id}
- The public keys receipts are signed with. Publicget/.well-known/skerry-receipt-keys
Budgets5
- Customers budgets listget/customers/{id}/budgets
- Set aside an amount of a wallet's balance for a mandate or an agentpost/customers/{id}/budgets
- One budget, with what was spent from it and what remainsget/customers/{id}/budgets/{budget_id}
- Add to a budgetpost/customers/{id}/budgets/{budget_id}/top-up
- Release a budget: what was not spent is free for other callers againpost/customers/{id}/budgets/{budget_id}/release
Customer controls11
- How a new destination is treatedget/customers/{id}/payee-controls
- Customers payee controls replaceput/customers/{id}/payee-controls
- Customers trusted payees listget/customers/{id}/trusted-payees
- Trust a destination before it is first paid, so that payout is not heldpost/customers/{id}/trusted-payees
- The customer's velocity and anomaly rules. A rule that is null is offget/customers/{id}/risk-rules
- Replace the customer's risk rulesput/customers/{id}/risk-rules
- The destinations this customer's payouts may go toget/customers/{id}/withdrawal-allow-list
- Replace the withdrawal allow-listput/customers/{id}/withdrawal-allow-list
- The customer's approvers, and whether this deployment sends mailget/customers/{id}/approvers
- Customers approvers createpost/customers/{id}/approvers
- Remove an approver. `?email=`delete/customers/{id}/approvers
Wallet controls6
- One walletget/customers/{id}/wallets/{wallet_id}
- Change a wallet's label, purpose, agent or floorpatch/customers/{id}/wallets/{wallet_id}
- The customer's sweep rules, newest first, with how each last ran (`last_result`)get/customers/{id}/sweep-rules
- Customers sweep rules createpost/customers/{id}/sweep-rules
- One sweep ruleget/customers/{id}/sweep-rules/{rule_id}
- Cancel a sweep rule. A payout it already made is not recalleddelete/customers/{id}/sweep-rules/{rule_id}
Scheduled payouts and waiting4
Authorisation evidence4
Sandbox7
- Act as the payer: succeed, decline, run short of funds, or open a disputepost/sandbox/checkout-sessions/{id}/complete
- Decide a held operation as a person would, without a second key or a linkpost/sandbox/approvals/{id}/decide
- Run a scheduled payout now instead of at its time, as the worker wouldpost/sandbox/payouts/scheduled/{id}/advance
- Record a named event about an object, marked `sandboxpost/sandbox/events
- Sandbox customers risk rules trippost/sandbox/customers/{id}/risk-rules/trip
- Sandbox budgets exhaustpost/sandbox/budgets/{id}/exhaust
- Act as the payer on a session's stablecoin or bank-transfer instructionspost/sandbox/checkout-sessions/{id}/deposit
Agentic checkout: what a customer sets10
- The customer's agent-platform credentials, never with a secretget/customers/{id}/agentic/credentials
- Issue a bearer token to an agent platformpost/customers/{id}/agentic/credentials
- Revoke a credentialdelete/customers/{id}/agentic/credentials/{credential_id}
- Customers agentic pricing callbackpost/customers/{id}/agentic/pricing-callback
- What the customer allows agents, and the address agent platforms callget/customers/{id}/agentic/settings
- Change what the customer allows agentspost/customers/{id}/agentic/settings
- Refunds agents have asked for, newest first. `?status=pending`get/customers/{id}/agentic/refund-requests
- Approve or deny a refund an agent asked forpost/customers/{id}/agentic/refund-requests/{request_id}
- Where an order standsget/customers/{id}/agentic/orders/{session_id}
- Say where an order has got topost/customers/{id}/agentic/orders/{session_id}
Agentic Commerce Protocol6
- Create a checkout session. Answers 201 with the sessionpost/agentic/{customer_id}/checkout_sessions
- Retrieve a checkout sessionget/agentic/{customer_id}/checkout_sessions/{checkout_session_id}
- Update a checkout sessionpost/agentic/{customer_id}/checkout_sessions/{checkout_session_id}
- Complete with a delegated payment tokenpost/agentic/{customer_id}/checkout_sessions/{checkout_session_id}/complete
- Cancel a session that has not completed. 405 afterwardspost/agentic/{customer_id}/checkout_sessions/{checkout_session_id}/cancel
- A Skerry extension (`xyz.skerry.refunds`), not part of the protocolpost/agentic/{customer_id}/checkout_sessions/{checkout_session_id}/refunds
Universal Commerce Protocol: what a customer sets2
Universal Commerce Protocol7
- The customer's business profileget/ucp/{customer_id}/.well-known/ucp
- Create a checkout. Answers 201 with the checkout, pricedpost/ucp/{customer_id}/checkout-sessions
- Read a checkout. Only the platform that opened it finds itget/ucp/{customer_id}/checkout-sessions/{id}
- Replace a checkoutput/ucp/{customer_id}/checkout-sessions/{id}
- Complete with the card processor's payment token, for the checkout's exact totalpost/ucp/{customer_id}/checkout-sessions/{id}/complete
- Cancel a checkout that is neither completed nor canceledpost/ucp/{customer_id}/checkout-sessions/{id}/cancel
- Ucp orders getget/ucp/{customer_id}/orders/{id}
Paying by the call9
- The customer's priced resources, with the minimum single payment per methodget/customers/{id}/priced-resources
- Price a resourcepost/customers/{id}/priced-resources
- Stop charging for a resourcedelete/customers/{id}/priced-resources/{resource_id}
- The 402 to send an unpaid request: status, headers and body, in both protocolspost/machine-payments/challenge
- Check and settle the payment a client sent, or draw the call from its creditpost/machine-payments/verify
- A customer's credits, newest firstget/machine-payments/credits
- Buy prepaid credit for a resource with one paymentpost/machine-payments/credits
- One credit: bought, balance, expiryget/machine-payments/credits/{id}
- Send back the unused part of a credit, within the customer's policypost/machine-payments/credits/{id}/refund
Hosted addresses and the pay-by-the-call proxy4
Agents paying7
- The agent's wallets, active and retired, with their addressesget/agents/{id}/wallets
- Create a wallet the agent signs payments frompost/agents/{id}/wallets
- One wallet: network, address, state and what its key may signget/agents/{id}/wallets/{wallet_id}
- Retire a walletdelete/agents/{id}/wallets/{wallet_id}
- Attempts to pay merchants, whatever became of themget/agent-payments
- Agent payments createpost/agent-payments
- One attemptget/agent-payments/{id}
Rewards and reporting7
- The stablecoins this project can holdget/coins
- Ask for a stablecoin of your ownpost/coins
- What a balance in this coin earnsget/coins/{currency}/rewards
- What one customer's balance in a coin earnedget/customers/{id}/rewards/{currency}
- Usage against the plan's limits — the same count a call is refused againstget/usage
- Requests for information about a customer or a payment, with the deadlineget/compliance-requests
- One request for information: what was asked, the deadline, and what it holdsget/compliance-requests/{id}