A valid request URL is required to generate request examples{
"success": true,
"data": {
"id": "num_88",
"organizationId": "org_2a1b9c",
"e164": "+14155550100",
"status": "available",
"monthlyCost": 2,
"provider": "flowyte",
"createdAt": "2026-07-13T10:35:00.000Z"
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Buy a phone number
Purchases a number and charges your prepaid wallet. Optionally pass a reservation id from the reserve endpoint so the number is already held for you and can’t be taken during checkout. Returns 402 if your wallet balance is too low.
A valid request URL is required to generate request examples{
"success": true,
"data": {
"id": "num_88",
"organizationId": "org_2a1b9c",
"e164": "+14155550100",
"status": "available",
"monthlyCost": 2,
"provider": "flowyte",
"createdAt": "2026-07-13T10:35:00.000Z"
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
- Token URL
- /api/v1/api-keys
Headers
Client-supplied idempotency key on mutating POSTs. Retrying the same request with the same key returns the original result instead of creating a duplicate — send a fresh UUID per logical operation. The prefixes api_sms_send: and harness_initiate: are reserved for the platform's own records, so do not use them; an endpoint that records the key refuses one that starts with either with 400 validation_error.