The Partners REST API allows external systems to manage partners and customers programmatically within the SIP Caller ecosystem.
This API is designed for Distributors and Partners who need to automate onboarding and management tasks.
All API requests require authentication using a Bearer Token.
Include the API key token in the Authorization header:
Authorization: Bearer YOUR_API_KEY_TOKEN
Every request must be sent to the following base URL:
https://api.sipcaller.com/v1/
| Role | Permissions |
|---|---|
| PartnerReader | Can only get existing partners and customers |
| PartnerAdmin | Can get existing partners and customers, and create new ones |
| Method | Endpoint | Description | Role Required |
|---|---|---|---|
| GET | /partners | List associated partners | PartnerReader (Distributor) |
| POST | /partners | Create associated partner | PartnerAdmin (Distributor) |
| GET | /customers | List customers | PartnerReader (Partner / Distributor) |
| POST | /customers | Create customer | PartnerAdmin (Partner / Distributor) |
GET /partners
Returns all partners associated with the authenticated distributor.
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"ACME","countryIds_ovl":["us"],"code":"acme","state":"Active","level":["Basic","Certified"],"createdAt_gte":"2026-03-01","createdAt_lte":"2026-04-01"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/partners'
The request allows specifying filters, sorting and range:
[ { "id": "019cea04-b015-7f54-a7dd-6e5c198f15a9", "name": "ACME", "type": "Partner", "code": "acme", "countryIds": [ "us" ], "state": "Active", "level": "Basic", "parent": { "id": "019cea04-b00f-76a3-b584-025a91dc697e", "name": "Distributor Name", "type": "Distributor", "contactData": { "web": "https://distributor.example.com", "email": "sales@distributor.example.com", "phone": "+1 234 555 0000" } }, "signUpData": { "comments": "We want to become a SIP Caller partner.", "originType": "HomeSite", "websiteUrl": "https://acme.example.com" }, "contactData": { "public": { "web": "https://acme.example.com", "email": "sales@acme.example.com", "phone": "+1 234-555-0001" }, "members": [ { "id": "019cea04-b016-75ea-8b2f-a87a96005e82", "name": "John Doe", "email": "john.doe@acme.example.com", "phoneNumber": "+1 234 555-0002", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "PartnerAdmin" ] } ] }, "counters": { "apiKeys": { "created": 0, "deleted": 0 } }, "customersCount": 1, "createdAt": "2026-03-14T01:45:01.717", "updatedAt": "2026-03-14T01:45:01.717" } ]
POST /partners
Creates a new partner under the authenticated distributor.
{ "email": "john.doe@partner.example.com", "firstName": "John", "lastName": "Doe", "partnerName": "Example Partner", "type": "Partner", "code": "example-partner", "level": "Basic", "languageId": "en", "timeZoneId": "US/Eastern", "countryIds": [ "us", "ca" ], "contactData": { "web": "https://partner.example.com", "email": "john.doe@partner.example.com", "phone": "+1 234 555-0000" }, "logo": { "file": "example-partner.png", "maxHeight": 60 } }
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{ "email": "john.doe@partner.example.com", "firstName": "John", "lastName": "Doe", "partnerName": "Example Partner", "type": "Partner", "code": "example-partner", "level": "Basic", "languageId": "en", "timeZoneId": "US/Eastern", "countryIds": [ "us", "ca" ], "contactData": { "web": "https://partner.example.com", "email": "john.doe@partner.example.com", "phone": "+1 234 555-0000" }, "logo": { "file": "example-partner.png", "maxHeight": 60 } }' \ 'https://api.sipcaller.com/v1/partners'
{ "id": "019d0cfc-19eb-7017-8166-f007ebfbe70c", "name": "Eample Partner", "type": "Partner", "code": "example-partner", "countryIds": [ "us", "ca" ], "state": "Active", "level": "Basic", "parent": { "id": "019cea04-b002-7271-be0b-3fdbbc483aba", "name": "Example Distributor", "type": "Distributor", "contactData": { "web": "https://distributor.example.com", "email": "sales@distributor.example.com", "phone": "+1 234 555 0001" } }, "signUpData": { "originType": "PartnerApiKey" }, "contactData": { "public": { "web": "https://partner.example.com", "email": "john.doe@partner.example.com", "phone": "+1 234 555-0000" }, "members": [ { "id": "019d0cfc-19eb-7c4d-9b70-b6e5e926be3f", "name": "John Doe", "email": "john.doe@partner.example.com", "phoneNumber": "+1 234 555-0000", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "PartnerAdmin" ] } ] }, "counters": { "apiKeys": { "created": 0, "deleted": 0 } }, "customersCount": 0, "createdAt": "2026-03-20T20:42:21.545", "updatedAt": "2026-03-20T20:42:21.545" }
GET /customers
Returns all customers associated with the authenticated partner or distributor.
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"Customer Name","countryId":["us","ar"],"planId":["ent-4sc-y"],"state":["Trialing"],"createdAt_gte":"2026-03-01","createdAt_lte":"2026-04-01"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/customers'
The request allows specifying filters, sorting and range:
[ { "id": "019d06bc-cce2-7310-99b4-fc67f0090456", "name": "Example Customer", "countryId": "us", "state": "Trialing", "planId": "ent-4sc-y", "ownerType": "Customer", "signUpData": { "originType": "PartnerConsole", "websiteUrl": "https://customer.example.com" }, "contactData": { "members": [ { "id": "019d06bc-ccea-7ad7-b6bd-76bb684636fd", "name": "John Doe", "email": "john.doe@customer.example.com", "phoneNumber": "+1 234 555-0001", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "AccountAdmin" ] } ] }, "partner": { "id": "019cea04-b00f-76a3-b584-025a91dc697f", "name": "Example Partner", "type": "Partner" }, "counters": { "phoneSystems": { "created": 0, "deleted": 0 }, "callflows": { "created": 0, "deleted": 0 }, "campaigns": { "created": 0, "deleted": 0, "activated": { "powerDialer": 0, "predictiveDialer": 0, "progressiveDialer": 0 } }, "apiKeys": { "created": 0, "deleted": 0 }, "webhookEndpoints": { "created": 0, "deleted": 0 }, "webhookEvents": { "created": 0, "delivered": 0 }, "calls": { "powerDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "predictiveDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "progressiveDialer": { "agentAnswer": { "numberConnected": 0, "numberNotConnected": 0, "numberConnectionUnknown": 0, "numberNotCalled": 0 }, "agentNoAnswer": 0, "agentBusy": 0, "agentCallError": 0 } } }, "ttsUsage": { "monthlyPeriod": { "startAt": "2026-03-19T15:00:00", "endAt": "2026-04-19T15:00:00" }, "maxChars": 1500000, "usedChars": 0, "isLimitReached": false, "usageDetails": [] }, "createdAt": "2026-03-19T15:35:29.75", "updatedAt": "2026-03-19T15:35:29.75" } ]
POST /customers
Creates a new customer under the authenticated partner or distributor.
{ "countryId": "us", "languageId": "en", "timeZoneId": "US/Eastern", "email": "john.doe@customer.example.com", "customerName": "Example Customer", "firstName": "John", "lastName": "Doe", "websiteUrl": "https://customer.example.com", "phoneNumber": "+1 234 555-0001", "partnerId": "019cea04-b002-7271-be0b-3fdbbc483ab9", "partnerMemberIdForCustomerSupport": "019cea04-b005-73e2-9d0f-8ccf53da5c0c" }
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{ "countryId": "us", "languageId": "en", "timeZoneId": "US/Eastern", "email": "john.doe@customer.example.com", "customerName": "Example Customer", "firstName": "John", "lastName": "Doe", "websiteUrl": "https://customer.example.com", "phoneNumber": "+1 234 555-0001", "partnerId": "019cea04-b002-7271-be0b-3fdbbc483ab9", "partnerMemberIdForCustomerSupport": "019cea04-b005-73e2-9d0f-8ccf53da5c0c"}' \ 'https://api.sipcaller.com/v1/customers'
The following fields are optional:
partnerId: this is the ID of the partner that will be associated with the new customer. If not provided, the system will automatically associate the customer with the partner of the authenticated user. This is useful for distributors who want to create customers already associated with a specific partner.partnerMemberIdForCustomerSupport: this is the ID of a member of the partner that will be associated with the new customer for support purposes. If provided, this member will be able to access the customer's account in the SIP Caller Console to provide support.{ "id": "019d1bbc-85f8-7336-8034-ad4707badc52", "name": "Example Customer", "countryId": "us", "state": "Trialing", "planId": "ent-4sc-y", "ownerType": "Customer", "signUpData": { "originType": "PartnerApiKey", "websiteUrl": "https://customer.example.com" }, "contactData": { "members": [ { "id": "019d1bbc-85ff-74eb-87df-1f50fb2fcfc3", "name": "John Doe", "email": "john.doe@customer.example.com", "phoneNumber": "+1 234 555-0001", "languageId": "en", "timeZoneId": "US/Eastern", "roles": [ "AccountAdmin" ] } ] }, "partner": { "id": "019cea04-b002-7271-be0b-3fdbbc483ab8", "name": "Example Partner", "type": "Partner" }, "counters": { "phoneSystems": { "created": 0, "deleted": 0 }, "callflows": { "created": 0, "deleted": 0 }, "campaigns": { "created": 0, "deleted": 0, "activated": { "powerDialer": 0, "predictiveDialer": 0, "progressiveDialer": 0 } }, "apiKeys": { "created": 0, "deleted": 0 }, "webhookEndpoints": { "created": 0, "deleted": 0 }, "webhookEvents": { "created": 0, "delivered": 0 }, "calls": { "powerDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "predictiveDialer": { "answer": 0, "noAnswer": 0, "busy": 0, "callError": 0 }, "progressiveDialer": { "agentAnswer": { "numberConnected": 0, "numberNotConnected": 0, "numberConnectionUnknown": 0, "numberNotCalled": 0 }, "agentNoAnswer": 0, "agentBusy": 0, "agentCallError": 0 } } }, "ttsUsage": { "monthlyPeriod": { "startAt": "2026-03-23T17:00:00", "endAt": "2026-04-23T17:00:00" }, "maxChars": 1500000, "usedChars": 0, "isLimitReached": false, "usageDetails": [] }, "createdAt": "2026-03-23T17:27:13.137", "updatedAt": "2026-03-23T17:27:13.137" }