Skip to main content
POST
rent a number

Authorizations

Authorization
string
header
required

your rumik api key, e.g. rk_live_.... create one in the rumik dashboard.

Body

the rental payload — the JSON body, or the data field of the multipart form.

requestedNumber
string
required

the number to rent, as returned by the search (number, bare digits, or e164).

Example:

"918046800123"

searchFilters
object

the filters the number was found with (pattern, city), so a substitute can be picked from the same search if the number is taken meanwhile.

endUser
object

the business renting the number: name (required, the legal name), email, address_line1, address_line2, city, state, postal_code, country, registration_number. required when documents are sent.

documents
object[]

one entry per required document type from the requirements: documentTypeId and its dataFields. the files go in the multipart files field, in this order.

Response

created.

a number rented through rumik, with its lifecycle.

id
string<uuid>
required

the rental's id.

status
string
required

fundingkyc_submittedkyc_acceptedpurchasingawaiting_fundsactive; kyc_rejected, past_due, releasing, released, failed.

numberType
string
required
countryIso
string
required
currency
string
required

the wallet's currency (INR).

timeline
TimelineStep · object[]
required

the rental's progress, step by step: key, label, state (done | active | pending | failed), at, detail.

events
object[]
required

the raw event log.

createdAt
string<date-time>
required
updatedAt
string<date-time>
required
requestedNumber
string | null

what was asked for.

number
string | null

the number owned (bare digits), once purchased.

e164
string | null

the same in E.164 — what fromNumber on POST /v1/calls takes.

alias
string | null
region
string | null
city
string | null
monthlyRentalRateUsd
string | null
setupRateUsd
string | null
voiceRateUsd
string | null
monthlyRentNanos
integer | null

the monthly rent in the wallet's currency, in nanos (billionths).

setupNanos
integer | null

one-off setup fee, nanos.

voiceRateNanos
integer | null

inbound per-minute carrier rate, nanos.

outboundRateUsd
string | null
outboundRateNanos
integer | null

outbound per-minute carrier rate, nanos, billed per outboundUnitSeconds.

outboundUnitSeconds
integer | null

the outbound billing pulse (30 s for India).

prepaidNanos
integer
default:0

the first charge collected before the KYC went out.

rentedAt
string<date-time> | null

when the number was purchased.

nextRenewalAt
string<date-time> | null

when the next month's rent is due.

lastRenewalChargedFor
string<date-time> | null
renewalAttempts
integer
default:0
renewalLastError
string | null
releaseReason
string | null

why it was released (user, non_payment, …).

releasedAt
string<date-time> | null
lastError
string | null

the last carrier or billing error, if any.

userAgentId
string<uuid> | null

the agent connected to the number, or null.

agentName
string | null

that agent's name.

compliance
ComplianceApplication · object | null

the KYC application: status, rejectionReason, attempts, history.