Skip to main content
POST
Add member
Required scope: PARTNER
Adds a teammate to one of your accounts, with a phone number of their own. The response returns the member, including the id you need to order the member’s eSIM.

Request

  • email is required and becomes the member’s login.
  • name is required.
  • personal_mobile is optional, in E.164 format, for example +33612345679. A number Allo cannot read fails with INVALID_PHONE_NUMBER.
  • role is optional: ADMIN, MANAGER or MEMBER, MEMBER by default. Any other value fails with INVALID_MEMBER_ROLE.
  • number_preference is required: the member’s number, with the same fields as on Create account. number_preference.country is required. Set number_preference.esim to true to give the member a French mobile number that can carry an eSIM.
  • If the email or the personal mobile already belongs to an Allo account, the request fails with 409 PARTNER_ACCOUNT_ALREADY_EXISTS, and param names the field.
{id} is the account id returned by Create account. An account your API key did not create, or one already deactivated, returns 404 PARTNER_ACCOUNT_NOT_FOUND.

What Allo does

  • Allo creates the member in the account’s workspace and assigns the member’s number.
  • Allo sends the member no invitation email. You onboard the member yourself. The member signs in to Allo with the email (or the personal mobile) you sent, and activated turns true once they sign in on a device.
  • The member takes a seat on the account’s subscription. The seat includes the member’s number, so the number is not billed on top.

Billing

  • If the account already pays for a seat that no one uses, the member takes it and nothing is charged.
  • Otherwise Allo adds one seat to the account’s subscription, which you pay, and charges the rest of the current billing period now, with the subscription’s discount applied. Allo draws on your prepaid credit first, then charges your card on file for the rest. Allo never charges your customer.
  • Allo checks the email, the personal mobile and the number before charging anything. If no number matches, the request fails with 409 NO_NUMBER_AVAILABLE and nothing is charged.
  • If your prepaid credit does not cover the seat and you have no card on file, the request fails with 402 PARTNER_CREDIT_INSUFFICIENT and nothing is created. A declined card fails with 402 PARTNER_BILLING_FAILED.
  • If the member’s number cannot be set up after the charge, Allo removes the member and takes the seat back off the subscription.
The endpoint takes no Idempotency-Key. If a request times out, check List members before you retry: once the member exists, a retry with the same email fails with PARTNER_ACCOUNT_ALREADY_EXISTS.

How to give the member an eSIM

1

Add the member with an eSIM number

Send number_preference: {"country": "FR", "esim": true}. The member gets a French mobile number that can carry an eSIM, listed in phone_numbers.
2

Order the eSIM for the member

Call Order eSIM on the same account (POST /v2/api/partner/accounts/{account_id}/esims). Send the member’s number as phone_number and the member’s id as holder_id. The eSIM is then registered to the member, not to the account.
3

Deliver the eSIM

Wait for partner.esim.ready, then send the member the code from Get eSIM activation code.

Errors

Authorizations

Authorization
string
header
required

Path Parameters

id
string
required

The account id returned by Create account (usr-*).

Body

application/json
email
string
required

Becomes the member's login. It must not belong to an Allo account yet.

name
string
required
Example:

"Paul Martin"

number_preference
object
required

The member's number.

personal_mobile
string | null

Optional, E.164. The member's own mobile. It must not belong to an Allo account yet.

Example:

"+33612345679"

role
enum<string> | null

Optional, default MEMBER. The member's role in the account's workspace.

Available options:
ADMIN,
MANAGER,
MEMBER
Example:

"MEMBER"

Response

Member added

data
object