Send21 provides a non-custodial crypto payment link service and API for people and AI agents. Users can create pay links or invoices priced in various cryptocurrencies, including BTC, USDC, USDT, EURC, SOL, and ETH, and pay directly from their wallets via on-chain or Lightning. The platform emphasizes security, stating that it never holds users' money or private keys, and offers documentation, pricing, and demo pages for developers and businesses.
send21-io publishes 13 API contracts indexed on the APIs.io network, including Account API, Auth API, Checkout API, and 10 more. Tagged areas include Company, Payments, Crypto, API, and Non-custodial.
The send21-io catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 1 Spectral governance ruleset.
send21-io’s developer surface includes authentication, documentation, API reference, getting-started guide, support, pricing, and 24 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Payments regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for
this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero:
never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and
several others — scorable at all.
The six quality facets above are damped to 85 points between them,
because the conditional facet above carries the other
15. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 85% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/send21-io/"><img src="https://apis.io/badge/send21-io/card.svg" alt="send21-io on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Rate-Limit Signaling+7 pts — OpenAPI responses document X-RateLimit-* / RateLimit headers (verified), else a rate_limits artifact or RateLimits link (documented)
Request/Response Examples+7 pts — share of operations carrying request/response examples; else an Examples / Code Samples link
Documented Reversibility+6 pts — a reversal operation in the contract, graded up when a window is documented too
Pagination+5 pts — share of collection GETs (an array, or one wrapped in data/items/results ...) that declare a page/limit/offset/cursor parameter, a Link header or a next/cursor field; na with no collection GETs
Agentic Commerce Well-Known Document+5 pts — a parsing /.well-known/ucp.json or acp.json declaring a version and at least one service — `self` when its endpoints are on the provider's own domain, `platform` when they are on a vendor's
3 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
**send21 calls your server when a draft changes.** Register an endpoint with `POST /api/v1/webhooks` (scope `webhooks:manage`) and pick the events you want. The response contain...
aid: send21-io
name: send21-io
image: https://send21.io/og/send21-card.png
description: Send21 provides a non-custodial crypto payment link service and API for people and AI agents. Users can create
pay links or invoices priced in various cryptocurrencies, including BTC, USDC, USDT, EURC, SOL, and ETH, and pay directly
from their wallets via on-chain or Lightning. The platform emphasizes security, stating that it never holds users' money
or private keys, and offers documentation, pricing, and demo pages for developers and businesses.
url: https://artifacts.apis.io/send21-io/apis.yml
x-type: company
x-source: harvest:mcp-registry
x-tier: profiled
x-tier-reason: enrichment pass 2026-10-31 (modular-v1; was harvest)
specificationVersion: '0.20'
created: '2026-10-31'
modified: '2026-10-31'
tags:
- Company
- Payments
- Crypto
- API
- Non-custodial
- AI
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
common:
- type: AgenticAccess
url: agentic-access/send21-io-agentic-access.yml
- type: Plans
url: plans/send21-io-plans-pricing.yml
- type: Spectral
url: rules/send21-io-rules.yml
- type: JSONLD
url: json-ld/send21-io-context.jsonld
- type: Vocabulary
url: vocabulary/send21-io-vocabulary.yml
- type: Webhooks
url: asyncapi/send21-io-webhooks.yml
- type: DataModel
url: data-model/send21-io-data-model.yml
- type: Idempotency
url: conventions/send21-io-conventions.yml
- type: Conventions
url: conventions/send21-io-conventions.yml
- type: Security
url: security/send21-io-vulnerability-disclosure.yml
- type: Authentication
url: authentication/send21-io-authentication.yml
- type: ErrorCatalog
url: errors/send21-io-problem-types.yml
- type: Conformance
url: conformance/send21-io-conformance.yml
- type: LLMsTxt
url: llms/send21-io-llms.txt
- type: SecurityTxt
url: well-known/send21-io-security.txt
- type: WellKnown
url: well-known/send21-io-well-known.yml
- type: Hosts
url: hosts/send21-io-hosts.yml
- type: Vendors
url: vendors/send21-io-vendors.yml
- type: Login
url: https://send21.io/login
- type: VulnerabilityDisclosure
url: security/send21-io-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/send21-io-domain-security.yml
- type: Website
url: https://send21.io/
- type: Documentation
url: https://send21.io/docs
- type: APIReference
url: https://send21.io/swagger/v1/swagger.json
- type: GettingStarted
url: https://send21.io/docs/quickstart
- type: Support
url: https://send21.io/about
- type: GitHubOrganization
url: https://github.com/send21io
- type: Pricing
url: https://send21.io/pricing
- type: TermsOfService
url: https://send21.io/terms
- type: PrivacyPolicy
url: https://send21.io/privacy
apis:
- aid: send21-io:send21-io-account-api
name: send21-io Account API
description: The Account API from send21-io — 2 operation(s) for account.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Account
properties:
- type: OpenAPI
url: openapi/send21-io-account-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-auth-api
name: send21-io Auth API
description: The Auth API from send21-io — 26 operation(s) for auth.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Auth
properties:
- type: OpenAPI
url: openapi/send21-io-auth-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-checkout-api
name: send21-io Checkout API
description: The Checkout API from send21-io — 3 operation(s) for checkout.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Checkout
properties:
- type: OpenAPI
url: openapi/send21-io-checkout-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-demo-api
name: send21-io Demo API
description: The Demo API from send21-io — 3 operation(s) for demo.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Demo
properties:
- type: OpenAPI
url: openapi/send21-io-demo-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-drafts-api
name: send21-io Drafts API
description: The Drafts API from send21-io — 13 operation(s) for drafts.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Drafts
properties:
- type: OpenAPI
url: openapi/send21-io-drafts-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-fees-api
name: send21-io Fees API
description: The Fees API from send21-io — 3 operation(s) for fees.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Fees
properties:
- type: OpenAPI
url: openapi/send21-io-fees-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-rates-api
name: send21-io Rates API
description: The Rates API from send21-io — 1 operation(s) for rates.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Rates
properties:
- type: OpenAPI
url: openapi/send21-io-rates-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-recurringtemplates-api
name: send21-io Recurring Templates API
description: The RecurringTemplates API from send21-io — 4 operation(s) for recurringtemplates.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- RecurringTemplates
properties:
- type: OpenAPI
url: openapi/send21-io-recurringtemplates-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-suggestions-api
name: send21-io Suggestions API
description: The Suggestions API from send21-io — 1 operation(s) for suggestions.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Suggestions
properties:
- type: OpenAPI
url: openapi/send21-io-suggestions-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-webhooks-api
name: send21-io Webhooks API
description: "**send21 calls your server when a draft changes.** Register an endpoint with `POST /api/v1/webhooks`\n(scope\
\ `webhooks:manage`) and pick the events you want. The response contains the signing secret\nonce; store it. Send a signed\
\ test event any time with `POST /api/v1/webhooks/{id}/test`.\n\n### Delivery\n\nA `POST` to your URL with `Content-Type:\
\ application/json` and this body:\n\n```json\n{ \"event\": \"draft.confirmed\", \"data\": { ... } }\n```\n\n| Header\
\ | Meaning |\n|---|---|\n| `X-Send21-Event` | The event type, same as `event` in the body. |\n| `X-Send21-Delivery` |\
\ Unique delivery id. Retries reuse it, so use it to ignore duplicates. |\n| `X-Send21-Signature-V2` | `t=<timestamp>,v1=<hex\
\ HMAC-SHA256 of \"<timestamp>.<delivery id>.<raw body>\">`, keyed with your secret. Verify this one: it also signs the\
\ time and the delivery id, so a copied delivery cannot be replayed later. Refuse deliveries older than 5 minutes (300\
\ seconds). |\n| `X-Send21-Timestamp` | When the delivery was sent, in Unix seconds (the same value as `t=`). |\n| `X-Send21-Signature`\
\ | Original signature, kept for existing integrations: `sha256=` followed by the lowercase hex HMAC-SHA256 of the raw\
\ body only. It has no timestamp, so a copied delivery passes it again. |\n\nAny 2xx response counts as delivered. Anything\
\ else, or no answer within 15 seconds, is retried\nafter 1, 2, 4, 8 minutes and so on, up to 8 attempts. Deliveries can\
\ arrive out of order.\n\n### Verifying the signature\n\nCheck `X-Send21-Signature-V2`: compute the HMAC over `<timestamp>.<delivery\
\ id>.<raw body>`, using the\nraw request bytes before parsing the JSON, compare in constant time, and refuse deliveries\
\ more than\n300 seconds old. Answer 401 when the header is missing or wrong. The same check as on\nsend21.io/docs/webhooks:\n\
\n```js\n// X-Send21-Signature-V2: t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<delivery id>.<raw body>\">\nconst sig\
\ = String(req.headers['x-send21-signature-v2'] ?? '');\nconst t = /(?:^|,)t=(\\d+)/.exec(sig)?.[1];\nconst v1 = /(?:^|,)v1=([0-9a-f]{64})/.exec(sig)?.[1];\n\
const deliveryId = String(req.headers['x-send21-delivery'] ?? '');\nconst fresh = t !== undefined && Math.abs(Date.now()\
\ / 1000 - Number(t)) <= 300;\nconst expected = crypto.createHmac('sha256', secret)\n .update(t + '.' + deliveryId +\
\ '.').update(rawBody).digest('hex');\nconst ok = fresh && v1 !== undefined &&\n crypto.timingSafeEqual(Buffer.from(v1,\
\ 'hex'), Buffer.from(expected, 'hex'));\nif (!ok) return res.status(401).end();\n```\n\nBefore you ship goods, check\
\ that the confirmed amount, currency and `orderId` are the ones you\nexpect, or fetch `GET /api/v1/drafts/{id}` with\
\ your API key and check its status there.\n\n### Events\n\n| Event | When |\n|---|---|\n| `draft.created` | A draft was\
\ created: by you, an API key, a recurring template, or a payer picking a currency on a pay link. |\n| `draft.seen` |\
\ A payment for the draft was seen, but is not confirmed yet. Also sent when you accept a payment with a different amount\
\ (`acceptedByOwner: true`); `draft.confirmed` follows once that transfer has the required confirmations. |\n| `draft.confirmed`\
\ | The payment reached the required confirmations. For Lightning: the provider confirmed it with a valid preimage. |\n\
| `draft.amount_mismatch` | A transfer needs your decision (`reviewState: pending`). `reviewReason: \"amount\"`: it arrived\
\ within 10% of the billed amount, but not the exact amount. `reviewReason: \"rate_lock_expired\"`: a pay-link payment\
\ of the exact amount arrived more than 10 minutes after its rate lock ended, so it was priced at an older rate. It does\
\ not pay the draft until you accept it with `POST /api/v1/drafts/{id}/accept-received`; decline it with `POST /api/v1/drafts/{id}/reject-received`.\
\ Sent once. |\n| `draft.mismatch_accepted` | A payment with a different amount was accepted, by you (`acceptReason`)\
\ or by the draft's `shortfallPolicy` (`acceptReason: \"auto: shortfallPolicy\"`). Carries `expectedAmountSats`, `receivedAmountSats`,\
\ `acceptedBy` and `acceptedAt`. |\n| `draft.mismatch_rejected` | You declined it (`rejectReason`, `rejectedBy`, `rejectedAt`).\
\ `refund: \"manual\"`: the money is in your wallet and send21 cannot return it. |\n| `draft.mismatch_reminder` | Still\
\ undecided 2 hours before the draft expires. Sent once. |\n| `draft.mismatch_unresolved` | The draft expired or was cancelled\
\ while the transfer was undecided. The money arrived and is in your wallet; you can still accept it. |\n| `draft.expired`\
\ | The draft expired unpaid. If an undecided transfer with a different amount arrived, `receivedAmountSats` is set and\
\ `reviewState` is `unresolved`. Pay-link payments also carry `opened`, `quoteRequested`, `firstOpenedAt` and `quoteRequestedAt`.\
\ |\n| `draft.cancelled` | The draft was cancelled. |\n| `payment_request.expired` | A pay link expired unpaid. `opened`:\
\ the payer loaded the pay page (link previews and bots ignored). `quoteRequested`: they picked a currency. `reviewState`\
\ if a differing transfer arrived. No IP or payer data. |\n| `test` | Sent by the test endpoint. `data` has `message`\
\ and `occurredAt`. |\n\n### Payload of draft.seen, draft.confirmed, draft.amount_mismatch and draft.expired\n\nAmounts\
\ ending in `Sats` are base units of the sent asset: 8 decimals for BTC, 6 for USDC, USDT and\nEURC, 9 for SOL and ETH\
\ (ETH amounts are in gwei). `txId` is the transaction id or signature; for Lightning it is the payment hash. For native\
\ ETH\nfound by the balance fallback from a smart-wallet transfer, it is `block-<number>`.\n`receivedAmountSats` and `receivedAmount`\
\ are set only when the amount differs from the billed amount,\nincluding on the `draft.confirmed` of an accepted short\
\ or over payment, so you can record what arrived.\n`paymentRequestId` and `orderId` are set for pay-link payments.\n\n\
```json\n{\n \"event\": \"draft.amount_mismatch\",\n \"data\": {\n \"draftId\": \"3f6c2a9e-5d1b-4c8e-9a7f-2b4d6e8f0a1c\"\
,\n \"status\": \"AwaitingPayment\",\n \"txId\": \"5KqZ9bQ...\",\n \"confirmations\": 1,\n \"receivedAmountSats\"\
: 49250000,\n \"receivedAmount\": \"49.250000\",\n \"sentCurrency\": \"USDC\",\n \"network\": \"Solana\",\n \
\ \"amountSats\": 50000000,\n \"sentAmount\": \"50.000000\",\n \"fiatCurrency\": \"EUR\",\n \"fiatAmount\"\
: 46.00,\n \"conversionRate\": 0.92,\n \"rateSource\": \"coinbase\",\n \"platformFee\": {\n \"accrued\"\
: true, \"waived\": false, \"percent\": 0.39, \"feeUsd\": 0.20,\n \"feeBaseUnits\": 195000, \"feeAmount\": \"0.195000\"\
, \"currency\": \"USDC\"\n },\n \"paymentRequestId\": \"8d1e4b7a-0c2f-4e6d-b3a9-7f5c1e2d4a6b\",\n \"orderId\"\
: \"ORDER-1042\",\n \"occurredAt\": \"2026-10-06T08:22:22Z\"\n }\n}\n```\n\n### Payload of draft.created and draft.cancelled\n\
\n`draft.created` has `draftId`, `amountSats`, `network` and `occurredAt`; pay-link drafts add\n`paymentRequestId`, `orderId`\
\ and `currency`. `draft.cancelled` has `draftId`, `status`, `network`,\n`amountSats`, `paymentRequestId` and `occurredAt`."
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Webhooks
properties:
- type: OpenAPI
url: openapi/send21-io-webhooks-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-address-book-api
name: send21-io Address Book API
description: The Address Book API from send21-io — 2 operation(s) for address book.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Address Book
properties:
- type: OpenAPI
url: openapi/send21-io-address-book-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-api-keys-api
name: send21-io API Keys API
description: The API Keys API from send21-io — 2 operation(s) for api keys.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- API Keys
properties:
- type: OpenAPI
url: openapi/send21-io-api-keys-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
- aid: send21-io:send21-io-payment-requests-api
name: send21-io Payment Requests API
description: The Payment Requests API from send21-io — 3 operation(s) for payment requests.
humanURL: https://send21.io/docs
baseURL: https://send21.io
tags:
- Payment Requests
properties:
- type: OpenAPI
url: openapi/send21-io-payment-requests-api-openapi.yml
- type: JSONSchema
url: json-schema/send21-io-draft-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-payment-request-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-quote-info-schema.json
- type: JSONSchema
url: json-schema/send21-io-create-draft-request-schema.json
- type: JSONSchema
url: json-schema/send21-io-fee-breakdown-response-schema.json
- type: JSONSchema
url: json-schema/send21-io-demo-draft-response-schema.json
x-enrichment:
date: '2026-10-31'
status: enriched
artifacts_added: 30
pass: modular-v1
engine: identity=local,contract=local,surfaces=local,docs=local,regulatory=local
send21-io API — frequently asked questions
Does send21-io have an API?
Yes. APIs.io lists 13 APIs from send21-io, including send21-io Account API, send21-io Auth API and send21-io Checkout API, and 10 more.
Is there an OpenAPI specification for the send21-io API?
Yes. APIs.io indexes 13 OpenAPI specifications for send21-io, each linked for download from this page.
How do I authenticate with the send21-io API?
send21-io documents its authentication (1 scheme). The details are profiled on APIs.io as Send21 Io Authentication.
How much does the send21-io API cost?
APIs.io lists 1 pricing plan for send21-io, with each plan's price, limits and inclusions under Pricing Plans on this page.
Is the send21-io API ready for AI agents?
send21-io has a Kin Score of 56.9 out of 100 (strong) and an Agent Readiness score of 54.9 (agent-ready), scored by API Evangelist on 2026-10-31.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.