Get a single tenant number by id
Authorization
bearerAuth Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the
platform keyring. Carries workspace_id and scopes claims;
revoked via the platform deny-list.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/v1/numbers/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9", "e164": "string", "friendly_name": "string", "status": "active", "assigned_at": "2019-08-24T14:15:22Z", "current_sip_credential_count": 0, "monthly_rental_anchor": "string", "routing": { "voice_callback_url": "string", "events_url": "string", "inbound_agent": { "enabled": true, "agent_id": "9d2b1f53-8c0e-4f1d-9a6b-5d3a8c47e9f0", "mode": "after_hours", "schedule": { "timezone": "Africa/Nairobi", "hours": [ { "days": [ 1, 2, 3, 4, 5 ], "start": "08:00", "end": "17:30" } ] }, "handover_callback_url": "https://hooks.example.com/handover" }, "forward": { "destinations": [ "+254700000001", "+254700000002" ], "sequential": false, "first_answer_wins": true, "ring_timeout": 20, "caller_id": "+254712345678" }, "queue": { "enabled": true, "agents": { "destinations": [ "+254700000001", "+254700000002" ], "sequential": false, "first_answer_wins": true, "ring_timeout": 20, "caller_id": "+254712345678" }, "greeting_text": "string", "greeting_play_url": "string", "greeting_voice": "man", "hold_play_url": "string", "hold_duration_seconds": 0, "announce_position": true, "announce_every_seconds": 15, "tick_seconds": 15, "max_wait_seconds": 0, "max_depth": 1, "on_timeout": "hangup", "voicemail": { "greeting_text": "Sorry we missed your call. Leave a message after the tone.", "max_length": 120, "beep": true }, "overflow_forward": { "destinations": [ "+254700000001", "+254700000002" ], "sequential": false, "first_answer_wins": true, "ring_timeout": 20, "caller_id": "+254712345678" } }, "voicemail": { "greeting_text": "Sorry we missed your call. Leave a message after the tone.", "max_length": 120, "beep": true }, "outbound_mode": "server" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ] }}Claim an available inventory DID into the workspace POST
Server-side proration debits the workspace wallet for the remainder of the current billing month. Idempotency via the `Idempotency-Key` header (preferred) — the body's `idempotency_key` field is accepted for backwards compatibility but deprecated. If both are supplied, the header wins.
Release a tenant number DELETE
Marks the number released, returns the DID to the available pool, and emits a `number.released` event. Idempotent — re-releasing a released number returns 204 with no event.