Create an invitation
curl --request POST \
--url https://dev-public-api.openphone.dev/invites \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'Quo-Api-Version: <quo-api-version>' \
--data '
{
"email": "johndoe@example.com",
"role": "member",
"phoneNumberIds": [
"PN123abc"
]
}
'{
"data": {
"id": "IV123abc",
"email": "johndoe@example.com",
"phoneNumberIds": [
"PN123abc"
],
"role": "member",
"status": "pending",
"acceptedAt": "2022-01-01T00:00:00Z",
"acceptedBy": "US456def",
"cancelledAt": "2022-01-01T00:00:00Z",
"createdAt": "2022-01-01T00:00:00Z",
"invitedBy": "US123abc",
"updatedAt": "2022-01-01T00:00:00Z"
}
}{
"message": "The input was invalid",
"docs": "https://quo.com/docs",
"title": "Bad Request",
"errors": [
{
"path": "/inviteId",
"message": "Expected string to match '^IV(.*)$'",
"value": "abc123",
"schema": {
"type": "TemplateLiteral",
"pattern": "^IV(.*)$"
}
}
]
}{
"message": "Unauthorized",
"docs": "https://quo.com/docs",
"title": "Unauthorized",
"trace": "6897907457496870895"
}{
"message": "You do not have permission to invite an admin",
"docs": "https://quo.com/docs",
"title": "Forbidden",
"trace": "6897907457496870895"
}{
"message": "A pending invitation already exists for johndoe@example.com",
"docs": "https://quo.com/docs",
"title": "Conflict",
"trace": "6897907457496870895"
}{
"message": "We have encountered an unknown error",
"docs": "https://quo.com/docs",
"title": "Unknown",
"trace": "6897907457496870895"
}Invites
Create an invitation
Invite someone to your Quo workspace and send them an invitation email. A pending invitation occupies a billable seat, so creating one changes your subscription.
POST
/
invites
Create an invitation
curl --request POST \
--url https://dev-public-api.openphone.dev/invites \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'Quo-Api-Version: <quo-api-version>' \
--data '
{
"email": "johndoe@example.com",
"role": "member",
"phoneNumberIds": [
"PN123abc"
]
}
'{
"data": {
"id": "IV123abc",
"email": "johndoe@example.com",
"phoneNumberIds": [
"PN123abc"
],
"role": "member",
"status": "pending",
"acceptedAt": "2022-01-01T00:00:00Z",
"acceptedBy": "US456def",
"cancelledAt": "2022-01-01T00:00:00Z",
"createdAt": "2022-01-01T00:00:00Z",
"invitedBy": "US123abc",
"updatedAt": "2022-01-01T00:00:00Z"
}
}{
"message": "The input was invalid",
"docs": "https://quo.com/docs",
"title": "Bad Request",
"errors": [
{
"path": "/inviteId",
"message": "Expected string to match '^IV(.*)$'",
"value": "abc123",
"schema": {
"type": "TemplateLiteral",
"pattern": "^IV(.*)$"
}
}
]
}{
"message": "Unauthorized",
"docs": "https://quo.com/docs",
"title": "Unauthorized",
"trace": "6897907457496870895"
}{
"message": "You do not have permission to invite an admin",
"docs": "https://quo.com/docs",
"title": "Forbidden",
"trace": "6897907457496870895"
}{
"message": "A pending invitation already exists for johndoe@example.com",
"docs": "https://quo.com/docs",
"title": "Conflict",
"trace": "6897907457496870895"
}{
"message": "We have encountered an unknown error",
"docs": "https://quo.com/docs",
"title": "Unknown",
"trace": "6897907457496870895"
}Authorizations
Headers
API version header. Supported values: 2026-03-30
Available options:
2026-03-30 Body
application/json
The email address to invite. Must not already have a pending invitation in this workspace.
Example:
"johndoe@example.com"
The role the invited person will hold. Only an owner can invite an owner, and only an owner or admin can invite an admin.
Available options:
owner, admin, member Example:
"member"
The phone numbers to assign the invited person to.
Pattern:
^PN(.*)$Example:
["PN123abc"]
Response
Created
Show child attributes
Show child attributes
Was this page helpful?