Create a user
Required scope: org-users-write
The new user must have a phone number or email and these must each be unique within the organization. A user with both a phone and an email may sign into Pronto using either method.
By default a welcome message is not sent to the user upon creation. Use the send_welcome_message property in this request to have one sent immediately, or you can send one later via the POST /users/{user_id}/send-welcome-message API.
You can use the external_id property to tie this user to an account in another system. This property must be unique within your org. To do a lookup for a user with an external_id use the GET /organization/users endpoint with a filter for external_id.
Body
- Type: stringfirst
_name min length:1max length:60required - Type: stringlast
_name min length:1max length:60required - Type: stringemailmax length:100
Required without phone. Must be unique within your organization.
- Type: stringexternal
_id The key to correlate this user with an external service
- Type: booleanlocked
Whether or not the user is to be managed by an external service or not. Defaults to false.
- Type: stringphonemax length:15
Required without email. Formatted in E.164 format -or- optionally enter phone_country as well. Must be unique within your organization.
- Type: stringphone
_country The country code associated with your phone number
- Type: stringprofile
_pic _key File upload key from the response given by the /api/files endpoint
- Type: string | nullpronounsmax length:40
The user's preferred pronouns. This field is ignored unless the user pronouns feature is enabled for the organization.
- Type: "admin" or "manager" or "user"enumrole
The organization permission level of the user. Defaults to 'user'
- Type: booleansend
_welcome _message Whether or not you want to send a welcome message to the email and/or phone upon creation
- Type: string | nulltitlemax length:40
The user's title. This field is ignored unless the user title feature is enabled for the organization.
Responses
- application/json
- application/json
- application/json
- application/json
curl https://api.pronto.io/api/users \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"first_name": "John",
"last_name": "Smith",
"phone": "+61891691664",
"phone_country": "AU",
"email": "your@email.here",
"profile_pic_key": "string",
"role": "admin",
"locked": false,
"external_id": "string"
}'
{
"data": {
"id": 123456,
"external_id": "d747948384aac79d4b9c88129e4835d5",
"first_name": "John",
"last_name": "Smith",
"profile_pic_url": "https://somewhere.pronto.io/files/user/555/profilepic?pronto_time=-62169984000",
"phone": "+18015551234",
"email": "user@example.com",
"role": "user",
"is_online": true,
"last_presence_at": "2026-09-23T18:05:53Z",
"created_at": "2021-07-22T18:05:53Z",
"updated_at": "2021-07-22T18:05:53Z",
"welcome_sent_at": "2021-07-22T18:05:54Z",
"deactivated_at": null
}
}