2.9 KiB
2.9 KiB
Quo Routing Reference
App name: quo
Base URL proxied: api.openphone.com
API Path Pattern
/quo/v1/{resource}
Common Endpoints
Phone Numbers
List Phone Numbers
GET /quo/v1/phone-numbers
Users
List Users
GET /quo/v1/users?maxResults=50
Get User
GET /quo/v1/users/{userId}
Messages
Send Text Message
POST /quo/v1/messages
Content-Type: application/json
{
"content": "Hello, world!",
"from": "PN123abc",
"to": ["+15555555555"]
}
List Messages
GET /quo/v1/messages?phoneNumberId=PN123abc&participants[]=+15555555555&maxResults=100
Get Message
GET /quo/v1/messages/{messageId}
Calls
List Calls
GET /quo/v1/calls?phoneNumberId=PN123abc&participants[]=+15555555555&maxResults=100
Get Call
GET /quo/v1/calls/{callId}
Get Call Recordings
GET /quo/v1/call-recordings/{callId}
Get Call Summary
GET /quo/v1/call-summaries/{callId}
Get Call Transcript
GET /quo/v1/call-transcripts/{callId}
Get Call Voicemail
GET /quo/v1/call-voicemails/{callId}
Contacts
List Contacts
GET /quo/v1/contacts?maxResults=50
Get Contact
GET /quo/v1/contacts/{contactId}
Create Contact
POST /quo/v1/contacts
Content-Type: application/json
{
"defaultFields": {
"firstName": "Jane",
"lastName": "Doe",
"phoneNumbers": [{"name": "mobile", "value": "+15555555555"}]
}
}
Update Contact
PATCH /quo/v1/contacts/{contactId}
Content-Type: application/json
{
"defaultFields": {
"company": "New Company"
}
}
Delete Contact
DELETE /quo/v1/contacts/{contactId}
Get Contact Custom Fields
GET /quo/v1/contact-custom-fields
Conversations
List Conversations
GET /quo/v1/conversations?maxResults=100
Webhooks
List Webhooks
GET /quo/v1/webhooks
Get Webhook
GET /quo/v1/webhooks/{webhookId}
Create Webhook
POST /quo/v1/webhooks
Content-Type: application/json
{
"url": "https://your-webhook-url.com/calls",
"resourceType": "call"
}
Resource types: call, message, callSummary, callTranscript
Delete Webhook
DELETE /quo/v1/webhooks/{webhookId}
Notes
- Phone number IDs start with
PN - User IDs start with
US - Call/Message IDs start with
AC - Phone numbers must be in E.164 format (e.g.,
+15555555555) - Uses token-based pagination with
pageTokenparameter - Maximum 1600 characters per SMS message
- List calls requires exactly 1 participant (1:1 conversations only)