Firsty

Search...

Search...

Number

Allocate a number to a service

Allocates a new phone number to a service (eSIM).

post/number/{profileReference}/allocate

Authorization

Authorization: Bearer {token} — an OAuth2 access token from the client-credentials flow. How authentication works

Path parameters

profileReferencestringrequired

The eSIM's profile reference (16-digit numeric string)

Headers

X-Idempotency-Keystring

Optional idempotency key for mutating requests (POST, PATCH). If provided, duplicate requests with the same key within 48 hours will return the cached original response without duplicating side effects.

Behavior:

  • Same key + same request body → returns cached response (prevents duplicate operations)
  • Same key + different request body → returns 422 error
  • Same key + in-flight request → returns 409 error with Retry-After header
  • Keys expire after 48 hours

Request Body Matching: Request bodies are compared using a deterministic fingerprint. The fingerprint is computed by canonicalizing the JSON (sorting object keys recursively) and hashing with SHA-256. This means:

  • {"a":1,"b":2} and {"b":2,"a":1} are treated as identical ✓
  • Whitespace differences are ignored ✓
  • URL parameters and headers are NOT included in the fingerprint

Best Practices:

  • Use UUIDs or client-generated unique strings
  • Store keys on your side to support retries
  • Don't reuse keys across different operations

Request body

application/json · required

esimReferencestringrequired

eSIM reference identifier (18-digit opaque token)

countryCodestringrequired

ISO country code (2-6 letters to support regional codes like GLOBAL)

typestring
  • local: Local/landline number
  • mobile: Mobile number
  • tollfree: Toll-free number
Optionslocalmobiletollfree
isPrimaryboolean

Whether this should be the primary number for the profile

Defaulttrue
customerInfoobjectrequired
Show properties
firstNamestringrequired

Customer's first name

lastNamestringrequired

Customer's last name

companyNamestring

(Optional) Company name for business accounts

emailstring · email

(Optional) Customer's email address

phonestring

(Optional) Customer's contact phone number

addressobjectrequired
Show properties
streetstringrequired

Street name

streetNumberstring

(Optional) House/building number. Required for NL porting.

streetNumberAdditionstring

(Optional) Number addition (apartment, floor, etc.)

streetLine2string

(Optional) Additional address line (apartment, suite, etc.)

citystringrequired

City name

statestring

(Optional) State or province

postalCodestringrequired

Postal/ZIP code

countryCodestringrequired

ISO 3166-1 alpha-2 country code

Responses

200Number allocated successfullyapplication/json
Show response body
dataobject
Show properties
assignmentIdinteger

Unique identifier for the number assignment

profileReferencestring

The profile reference this number is allocated to

esimReferencestring

The eSIM reference this number is associated with

iccidstring

ICCID of the eSIM this number is associated with

msisdnstring

The phone number (MSISDN)

countryCodestring

ISO country code

typestring
  • local: Local/landline number
  • mobile: Mobile number
  • tollfree: Toll-free number
Optionslocalmobiletollfree
statusstring
  • active: Number is active and operational
  • suspended: Number is temporarily suspended
  • released: Number has been released
Optionsactivesuspendedreleased
isPrimaryboolean

Whether this is the primary number for the profile

customerInfoobject
Show properties
firstNamestringrequired

Customer's first name

lastNamestringrequired

Customer's last name

companyNamestring

(Optional) Company name for business accounts

emailstring · email

(Optional) Customer's email address

phonestring

(Optional) Customer's contact phone number

addressobject
Show properties
streetstringrequired

Street name

streetNumberstring

(Optional) House/building number. Required for NL porting.

streetNumberAdditionstring

(Optional) Number addition (apartment, floor, etc.)

streetLine2string

(Optional) Additional address line (apartment, suite, etc.)

citystringrequired

City name

statestring

(Optional) State or province

postalCodestringrequired

Postal/ZIP code

countryCodestringrequired

ISO 3166-1 alpha-2 country code

createdAtstring · date-time
updatedAtstring · date-time
400Bad request - invalid parameters401Unauthorized - missing or invalid API key403Forbidden - client does not have access to this resource404Resource not found409Request with this idempotency key is still being processed422Idempotency key was previously used with a different request body429Rate limit exceeded500Internal server error