Skip to main content
POST
Create a pre-order

Errors

The errors that every operation shares are in Errors.

Authorizations

Authorization
string
header
required

An API key created in the iSnap dashboard, or a trial key, sent as Authorization: Bearer <key>. An API key starts with isnap_live_ or isnap_test_; both act on the same account, lines and billing. A trial key acts on its trial only.

Body

application/json
preferred_area_codes
string[]

Area codes you accept for the number of the line, in order of preference: 0 to 5 strings of 1 to 10 characters. Default: an empty list, which accepts any area code.

Maximum array length: 5
Required string length: 1 - 10
Example:
inbound_only
boolean
default:false

true orders an inbound-only line, false a two-way line. Default: false.

billing_tier
enum<string>

Optional. Only rental_iphone is accepted: rental_android returns 400 android_rental_not_purchasable, and byod_imessage, byod_android, shared_pool and shared_imessage return 400 tier_not_pre_orderable. The value is neither stored nor returned.

Available options:
rental_iphone,
rental_android,
byod_imessage,
byod_android,
shared_pool,
shared_imessage
Example:

"rental_iphone"

billing_anchor_at
string<date-time>

The billing anchor of the line: an ISO 8601 timestamp in UTC, with a Z suffix. A line billed on the monthly wholesale invoice is charged one full month at each monthly occurrence of this timestamp: the same day of the month, moved to the last day of a shorter month, at the same time of day. At the first occurrence after its activation, the line is also credited for the days that the month charged at activation had already paid for past that occurrence. Omit it to bill the line at each monthly occurrence of its activation. A past timestamp is accepted. A timestamp more than 31 days after the request returns 400 billing_anchor_too_far.

Example:

"2026-09-11T09:15:00Z"

metadata
object

Your own key-value data. iSnap stores it as sent and does not interpret it. Events about this resource carry it in data.metadata. At most 20 keys and 8,192 bytes once serialized as JSON.

Example:

Response

The pre-order, in status draft.

success
enum<boolean>
required

Always true on a success response.

Available options:
true
data
object
required

A pre-order: an order for one rented iMessage line.

trace_id
string
required

Trace id of the request that produced this response: 32 lowercase hexadecimal characters. Quote it when you report a problem to iSnap.

request_id
string
required

Id of the request that produced this response: req_ followed by 25 letters or digits.