SautiDesk
SautiDesk API
Workspace configuration

Buy a number from wallet balance

POST
/v1/desk/numbers/{id}/claim

Buys the number from the existing wallet balance. If the balance is too low the request is refused and nothing is charged, because a key cannot top up a wallet. Send an Idempotency-Key so a retry buys the number once.

Requires: desk.admin scope, workspace owner or admin.

Authorization

bearerAuth
AuthorizationBearer <token>

A SautiDesk API key. An owner or admin makes it under Settings in SautiDesk for a named person and picks the scopes. The key is shown once. Send it as Authorization: Bearer <key>. It acts as that person and as nobody else.

In: header

Path Parameters

id*string

The number's id (a UUID).

Request Body

application/json

Response

OK

Example

{  "number": {    "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",    "inventory_id": "2dfe9c17-9ac4-4b9f-998b-12b936732f05",    "e164": "+254712345678",    "country": "KE",    "status": "open",    "assigned_at": "2026-10-14T08:30:00Z"  },  "prorated_minor": 1,  "vat_minor": 1,  "total_minor": 3,  "currency": "KES",  "idempotent_replay": true}
FieldTypeDescription
numberrequiredobjectA phone number in international format, for example +254712345678.
idrequiredstring
inventory_idrequiredstring
e164requiredstring
countryrequiredstring
statusrequiredstringThe status to set.
assigned_atrequiredstring
prorated_minorrequiredinteger
vat_minorrequiredinteger
total_minorrequiredinteger
currencyrequiredstringThe currency code of the money in this report, for example KES. Write money figures with it. Left out when the report has no money.
idempotent_replayrequiredany
curl -X POST "https://api.sautidesk.com/v1/desk/numbers/string/claim" \  -H "Content-Type: application/json" \  -d '{}'