Maton

Quo

Access the Quo API with managed OAuth authentication. Send SMS messages, manage calls and contacts, and retrieve call recordings and transcripts.

Reference

List Phone Numbers

GET /quo/v1/phone-numbers

Optional query parameter:

  • userId - Filter by user ID (pattern: ^US(.*)$)

Response:

{
  "data": [
    {
      "id": "PN123abc",
      "number": "+15555555555",
      "formattedNumber": "(555) 555-5555",
      "name": "Main Line",
      "users": [
        {
          "id": "US123abc",
          "email": "user@example.com",
          "firstName": "John",
          "lastName": "Doe",
          "role": "admin"
        }
      ],
      "createdAt": "2022-01-01T00:00:00Z",
      "updatedAt": "2022-01-01T00:00:00Z"
    }
  ]
}

List Users

GET /quo/v1/users?maxResults=50

Query parameters:

  • maxResults (required) - Results per page (1-50, default: 10)
  • pageToken - Pagination token

Response:

{
  "data": [
    {
      "id": "US123abc",
      "email": "user@example.com",
      "firstName": "John",
      "lastName": "Doe",
      "role": "owner",
      "createdAt": "2022-01-01T00:00:00Z",
      "updatedAt": "2022-01-01T00:00:00Z"
    }
  ],
  "totalItems": 10,
  "nextPageToken": null
}

Get User by ID

GET /quo/v1/users/{userId}

Send Text Message

POST /quo/v1/messages
Content-Type: application/json

{
  "content": "Hello, world!",
  "from": "PN123abc",
  "to": ["+15555555555"]
}

Request body:

  • content (required) - Message text (1-1600 characters)
  • from (required) - Phone number ID (PN*) or E.164 format
  • to (required) - Array with single recipient in E.164 format
  • userId - User ID (defaults to phone owner)
  • setInboxStatus - Set to "done" to mark conversation complete

Response (202):

{
  "id": "AC123abc",
  "to": ["+15555555555"],
  "from": "+15555555555",
  "text": "Hello, world!",
  "phoneNumberId": "PN123abc",
  "direction": "outgoing",
  "userId": "US123abc",
  "status": "queued",
  "createdAt": "2022-01-01T00:00:00Z",
  "updatedAt": "2022-01-01T00:00:00Z"
}

List Messages

GET /quo/v1/messages?phoneNumberId=PN123abc&participants[]=+15555555555&maxResults=100

Query parameters:

  • phoneNumberId (required) - Phone number ID
  • participants (required) - Array of participant phone numbers in E.164 format
  • maxResults (required) - Results per page (1-100, default: 10)
  • userId - Filter by user ID
  • createdAfter - ISO 8601 timestamp
  • createdBefore - ISO 8601 timestamp
  • pageToken - Pagination token

Get Message by ID

GET /quo/v1/messages/{messageId}

List Calls

GET /quo/v1/calls?phoneNumberId=PN123abc&participants[]=+15555555555&maxResults=100

Query parameters:

  • phoneNumberId (required) - Phone number ID
  • participants (required) - Array with single participant phone number in E.164 format (max 1)
  • maxResults (required) - Results per page (1-100, default: 10)
  • userId - Filter by user ID
  • createdAfter - ISO 8601 timestamp
  • createdBefore - ISO 8601 timestamp
  • pageToken - Pagination token

Response:

{
  "data": [
    {
      "id": "AC123abc",
      "phoneNumberId": "PN123abc",
      "userId": "US123abc",
      "direction": "incoming",
      "status": "completed",
      "duration": 120,
      "participants": ["+15555555555"],
      "answeredAt": "2022-01-01T00:00:00Z",
      "completedAt": "2022-01-01T00:02:00Z",
      "createdAt": "2022-01-01T00:00:00Z",
      "updatedAt": "2022-01-01T00:02:00Z"
    }
  ],
  "totalItems": 50,
  "nextPageToken": "..."
}

Get Call by ID

GET /quo/v1/calls/{callId}

Get Call Recordings

GET /quo/v1/call-recordings/{callId}

Response:

{
  "data": [
    {
      "id": "REC123abc",
      "duration": 120,
      "startTime": "2022-01-01T00:00:00Z",
      "status": "completed",
      "type": "voicemail",
      "url": "https://..."
    }
  ]
}

Recording status values: absent, completed, deleted, failed, in-progress, paused, processing, stopped, stopping

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}

List Contacts

GET /quo/v1/contacts?maxResults=50

Query parameters:

  • maxResults (required) - Results per page (1-50, default: 10)
  • externalIds - Array of external identifiers
  • sources - Array of source indicators
  • pageToken - Pagination token

Response:

{
  "data": [
    {
      "id": "CT123abc",
      "externalId": null,
      "source": null,
      "defaultFields": {
        "company": "Acme Corp",
        "firstName": "Jane",
        "lastName": "Doe",
        "role": "Manager",
        "emails": [{"name": "work", "value": "jane@example.com", "id": "EM1"}],
        "phoneNumbers": [{"name": "mobile", "value": "+15555555555", "id": "PH1"}]
      },
      "customFields": [],
      "createdAt": "2022-01-01T00:00:00Z",
      "updatedAt": "2022-01-01T00:00:00Z",
      "createdByUserId": "US123abc"
    }
  ],
  "totalItems": 100,
  "nextPageToken": "..."
}

Get Contact by ID

GET /quo/v1/contacts/{contactId}

Create Contact

POST /quo/v1/contacts
Content-Type: application/json

{
  "defaultFields": {
    "firstName": "Jane",
    "lastName": "Doe",
    "company": "Acme Corp",
    "phoneNumbers": [{"name": "mobile", "value": "+15555555555"}],
    "emails": [{"name": "work", "value": "jane@example.com"}]
  }
}

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

List Conversations

GET /quo/v1/conversations?maxResults=100

Query parameters:

  • maxResults (required) - Results per page (1-100, default: 10)
  • phoneNumbers - Array of phone number IDs or E.164 numbers (1-100 items)
  • userId - Filter by user ID
  • createdAfter - ISO 8601 timestamp
  • createdBefore - ISO 8601 timestamp
  • updatedAfter - ISO 8601 timestamp
  • updatedBefore - ISO 8601 timestamp
  • excludeInactive - Boolean to exclude inactive conversations
  • pageToken - Pagination token

Response:

{
  "data": [
    {
      "id": "CV123abc",
      "phoneNumberId": "PN123abc",
      "name": "Jane Doe",
      "participants": ["+15555555555"],
      "assignedTo": "US123abc",
      "lastActivityAt": "2022-01-01T00:00:00Z",
      "createdAt": "2022-01-01T00:00:00Z",
      "updatedAt": "2022-01-01T00:00:00Z"
    }
  ],
  "totalItems": 50,
  "nextPageToken": "..."
}

Resources

On this page