Download OpenAPI specification:Download
VoiceTel REST API. All resource identifiers are in the URL path. Authenticate every request with Authorization: Bearer <apikey>. To obtain your API key, POST {"username": <id>, "password": "<password>"} to /v2.2/account/api-key — this is the only endpoint that does not require an Authorization header. The response is {"status":"success","data":{"apikey":"<32-hex-string>"}}. Re-fetch the API key after any password change. Rate-limited endpoints: account, account/recurring-charges, account/cdr, account/api-key — 6 requests per hour per IP.
Account profile, settings, billing charges, credit history, call detail records, SIP registration status, and self-service signup and password recovery.
Creates a new sub-account. Requires administrator credentials. The new account password is auto-generated and returned.
Body for create account (admin only).
| username required | string^[0-9]+$ 10-digit numeric username. |
| name required | string Human-readable name (in accountAddRequest). |
| email required | string Email address (in accountAddRequest). |
| masterAccount | string Billing account. Defaults to username. |
{- "username": "1000000001",
- "name": "Acme Inc",
- "email": "user@example.com",
- "masterAccount": "1000000001"
}{- "data": {
- "username": "1000000001",
- "password": "example",
- "name": "Acme Inc",
- "email": "user@example.com",
- "masterAccount": "1000000001"
}, - "status": "success"
}Updates account settings. Customers may update: timezone, notify, notifyThreshold, callerId. Administrators may additionally update: ccs, service flags, and rate fields.
Body for update account settings.
| sms | boolean Admin only. Whether SMS messaging is enabled. |
| callerId | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Default outbound caller ID — ten-digit telephone number (in accountPutRequest). |
| notify | boolean Whether the account receives low-balance notifications (in accountPutRequest). |
| ccs | integer Admin only. Concurrent-call cap on the account. |
| intl | boolean Admin only. Whether international calling is allowed. |
| notifyThreshold | integer Balance threshold (in dollars) below which notifications fire (in accountPutRequest). |
| e911 | boolean Admin only. Whether e911 provisioning is allowed. |
| timezone | string IANA timezone identifier (in accountPutRequest). |
| mms | boolean Admin only. Whether MMS messaging is enabled. |
{- "sms": true,
- "callerId": "2015551234",
- "notify": true,
- "ccs": 0,
- "intl": true,
- "notifyThreshold": 0,
- "e911": true,
- "timezone": "America/Chicago",
- "mms": true
}{- "data": {
- "updated": [
- "example"
]
}, - "status": "success"
}Returns full account details including balance, services, and rates. Rates are read-only. Rate limited: 6 requests per hour per IP.
{- "data": {
- "services": {
- "sms": true,
- "rcid": true,
- "mms": true,
- "bypassMedia": true,
- "e911": true,
- "intl": true,
- "cnam": true,
- "dialer": true
}, - "callerId": "2015551234",
- "rates": {
- "fax": 0.5,
- "sms": 0.5,
- "mms": 0.5,
- "tfAdj": 0.5,
- "lrn": 0.5,
- "nibble": 0.5,
- "did": 0.5,
- "cnam": 0.5,
- "intlMax": 0.5
}, - "notify": true,
- "ccs": 0,
- "username": "Acme Inc",
- "notifyThreshold": 0,
- "name": "Acme Inc",
- "created": "2026-05-18T12:00:00Z",
- "timezone": "America/Chicago",
- "enabled": true,
- "cash": 0.5,
- "authType": 0,
- "email": "user@example.com"
}, - "status": "success"
}Returns the complete credit history for the account — all credits regardless of invoice status. Each entry includes a paid flag: true means the customer has fulfilled the invoice; false means the invoice is still outstanding. Use /v2.2/account/credits/paid or /v2.2/account/credits/unpaid to retrieve a filtered subset.
| status | string Enum: "paid" "unpaid" Filter results to credit entries with the given paid/unpaid state. |
{- "data": {
- "credits": [
- {
- "paid": false,
- "date": "2024-09-30T12:52:59+00:00",
- "amount": 25
}
]
}, - "status": "success"
}Call Detail Records for the authenticated account within the given Unix-timestamp range. Rate-limited to 6 requests per hour per IP.
| start | integer Example: start=1747345200 Range start as Unix timestamp. Defaults to now. |
| end | integer Example: end=1747258800 Range end as Unix timestamp. Defaults to 24h ago. |
{- "data": {
- "start": 1747345200,
- "end": 1747258800,
- "cdr": [
- {
- "key": [
- "example",
- "example_2"
], - "value": {
- "ip": "104.225.13.77",
- "cn": "TOLL%20FREE%20CALL",
- "nr": "0.025",
- "dst": "8008786160",
- "dur": "40",
- "ba": "0.017500",
- "cid": "8666326621"
}, - "id": "f2ce9c3091697619f27f7e4280bf2747"
}
]
}, - "status": "success"
}Returns current MRC broken down by service plus a total. Rate limited: 6 requests per hour per IP.
{- "data": {
- "charges": [
- {
- "amount": 0.5,
- "description": "example"
}
], - "total": 0.5
}, - "status": "success"
}Returns all PayPal payments received on the account, newest first. Each entry includes the amount, date, PayPal transaction ID, payment status, and the payer email address. Payments represent real cash received; for credit adjustments see GET /v2.2/account/credits.
{- "data": {
- "payments": [
- {
- "amount": 25,
- "date": "2024-09-30T12:52:59+00:00",
- "payerEmail": "customer@example.com",
- "transactionId": "2N045992R140725E3",
- "status": "Completed"
}
]
}, - "status": "success"
}Returns the current API key for the account identified by username and password. No Bearer token is required or accepted — credentials must be provided in the request body. Rate limited to 6 requests per hour per IP.
Body for get api key.
| username required | string Your account username. |
| password required | string Your account password. |
{- "username": "1000000001",
- "password": "abc1234567"
}{- "data": {
- "apikey": "dec759ed81963fd9a4b8a9c8f3e22b1a"
}, - "status": "success"
}Sends a password recovery link to the email address on file. No authentication required.
Body for request password recovery.
| email required | string Email address (in accountRecoverRequest). |
{- "email": "user@example.com"
}{- "data": {
- "message": "Operation completed."
}, - "status": "success"
}Creates a new account. No authentication required. Returns account credentials and API key. A verification email is sent.
Body for create a new account.
| name required | string Human-readable name (in accountSignupRequest). |
| email required | string Email address (in accountSignupRequest). |
| promo | string Optional promotional code. |
{- "name": "Acme Inc",
- "email": "user@example.com",
- "promo": "example"
}{- "data": {
- "username": "1000000001",
- "password": "example",
- "name": "Acme Inc",
- "email": "user@example.com"
}, - "status": "success"
}Manage the IP Access Control List for IP-based SIP authentication. Only routable public IPv4 CIDRs with masks /8, /16, /24, or /32 are accepted.
Adds one or more IPv4 CIDR blocks. Only routable public addresses accepted. Mask must be /8, /16, /24, or /32.
Body for add ip acl entries.
required | Array of objects (cidrEntry) List of CIDR ranges authorized for IP-based authentication on this account (in aclModifyRequest). |
{- "acl": [
- {
- "cidr": "203.0.113.0/24"
}
]
}{- "data": {
- "added": [
- {
- "cidr": "203.0.113.0/24"
}
]
}, - "status": "success"
}Removes one or more IPv4 CIDR blocks from the IP-ACL. CIDRs are passed as a comma-separated cidrs query string parameter.
| cidrs required | string Example: cidrs=203.0.113.0/24 Comma-separated list of CIDR blocks to remove from the ACL (e.g. 203.0.113.0/24,203.0.113.1/32). |
{- "data": {
- "removed": [
- {
- "cidr": "203.0.113.0/24"
}
]
}, - "status": "success"
}Updates the account authentication type and/or password.
Body for update authentication settings.
| password | string 6-10 alphanumeric characters with at least one letter and one number. |
| authType | integer Enum: 0 1 2 3 Authentication mode for the account. 0 = Digest only, 1 = IP allowlist only, 2 = Digest OR IP allowlist, 3 = Digest AND IP allowlist. |
{- "password": "abc123",
- "authType": 0
}{- "data": {
- "updated": [
- {
- "value": 1,
- "field": "authType"
}
]
}, - "status": "success"
}Returns the current authentication type, its description, and all IP ACL entries for the account.
{- "data": {
- "authTypeDescription": "IP Auth",
- "acl": [
- {
- "cidr": "203.0.113.0/24"
}
], - "authType": 0
}, - "status": "success"
}Validates a street address for e911 provisioning. Returns the validated address including an addressid for use with PUT /e911/{dn}.
Body for validate an e911 address.
| address1 required | string Street address line 1 (in e911AddressRequest). |
| address2 | string Street address line 2 (apartment, suite, floor) — may be empty. |
| city required | string City name (in e911AddressRequest). |
| zip required | string Postal code (in e911AddressRequest). |
| state required | string Two-letter US state code (in e911AddressRequest). |
{- "address1": "411 HACKENSACK AVENUE",
- "address2": "STE 200",
- "city": "HACKENSACK",
- "zip": "07601",
- "state": "NJ"
}{- "data": {
- "address": {
- "addressid": 1234567,
- "zip": "07601",
- "city": "HACKENSACK",
- "address1": "411 HACKENSACK AVE",
- "address2": "STE 200",
- "state": "NJ"
}
}, - "status": "success"
}E 911 remove record on /v2.2/e911/{dn}.
| dn required | string Ten-digit telephone number for the e911 record (DELETE /v2.2/e911/{dn}). |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Provisions an e911 address using a pre-validated addressId from POST /e911/validate.
| dn required | string Ten-digit telephone number for the e911 record (PUT /v2.2/e911/{dn}). |
Body for provision e911 with known addressid.
| addressid required | integer Address ID from POST /e911/validate. |
| callername required | string Caller name displayed to the PSAP dispatcher (e911). |
{- "addressid": 123456,
- "callername": "JOHN DOE"
}{- "data": {
- "record": {
- "zip": "07601",
- "dn": "12015551234",
- "city": "HACKENSACK",
- "address1": "411 HACKENSACK AVENUE",
- "address2": "STE 200",
- "callername": "ACME INC",
- "state": "NJ"
}
}, - "status": "success"
}Returns the e911 record for a specific telephone number on the account.
| dn required | string Example: 2015551234 10-digit telephone number — used by e 911 query record. |
{- "data": {
- "record": {
- "zip": "07601",
- "dn": "12015551234",
- "city": "HACKENSACK",
- "address1": "411 HACKENSACK AVENUE",
- "address2": "STE 200",
- "callername": "ACME INC",
- "state": "NJ"
}
}, - "status": "success"
}Validates the address and provisions an e911 record for the given dn. dn must be a 10-digit telephone number owned by the authenticated account.
e911 record details. The dn field identifies which number this record applies to.
| zip required | string Postal code (in e911CreateRequest). |
| dn required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Ten-digit telephone number owned by the authenticated account. |
| city required | string City name (schema e911CreateRequest). |
| address1 required | string Street address line 1 (in e911CreateRequest). |
| address2 | string Street address line 2 (apartment, suite, floor). |
| callername required | string Caller name displayed to dispatch. |
| state required | string Two-letter state code. |
{- "zip": "07430",
- "dn": "2017301000",
- "city": "MAHWAH",
- "address1": "4601 RIO VISTA DR",
- "address2": "example",
- "callername": "Michael Mavroudis",
- "state": "NJ"
}{- "data": {
- "record": {
- "zip": "07601",
- "dn": "12015551234",
- "city": "HACKENSACK",
- "address1": "411 HACKENSACK AVENUE",
- "address2": "STE 200",
- "callername": "ACME INC",
- "state": "NJ"
}
}, - "status": "success"
}Returns all e911 records provisioned for telephone numbers on the account.
{- "data": {
- "records": [
- {
- "zip": "07601",
- "dn": "12015551234",
- "city": "HACKENSACK",
- "address1": "411 HACKENSACK AVENUE",
- "address2": "STE 200",
- "callername": "ACME INC",
- "state": "NJ"
}
]
}, - "status": "success"
}Manage SIP gateways (outbound trunks). System route types (USER, T30, VOICE_BRIDGE, DID, T38, RTC_BRIDGE, SDN) are always present and read-only.
Removes a gateway. Will fail if DIDs are currently routed to it.
| id required | integer Resource identifier — used by gateways delete. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Gateways put on /v2.2/gateways/{id}.
| id required | integer Resource identifier — used by gateways put. |
Body for update a gateway.
| gateway | string Gateway address (IP[:port]) or system route name (in gatewayUpdateRequest). |
| prefix | string Prefix. |
| limit | integer [ 1 .. 1000 ] Limit. |
{- "gateway": "203.0.113.20:5060",
- "prefix": "example",
- "limit": 100
}{- "data": {
- "system": true,
- "id": 1000,
- "gateway": "203.0.113.10:5060",
- "prefix": "9",
- "limit": 23
}, - "status": "success"
}Gateways get on /v2.2/gateways/{id}.
| id required | integer Resource identifier — used by gateways get. |
{- "data": {
- "system": true,
- "id": 1000,
- "gateway": "203.0.113.10:5060",
- "prefix": "9",
- "limit": 23
}, - "status": "success"
}Adds a SIP gateway. Must resolve to a routable public IPv4 address. Optional port as host:port. Optionally set a dial prefix and concurrent call limit.
Body for add a gateway.
| gateway required | string IP or hostname with optional port. Must resolve to a routable public IPv4 address. |
| prefix | string Digits to prepend on outbound calls. |
| limit | integer [ 1 .. 1000 ] Max concurrent calls. Default: 23. |
{- "gateway": "203.0.113.10:5060",
- "prefix": "9",
- "limit": 23
}{- "data": {
- "system": true,
- "id": 1000,
- "gateway": "203.0.113.10:5060",
- "prefix": "9",
- "limit": 23
}, - "status": "success"
}Returns all system route types and user-defined SIP gateways. System routes: 1=USER, 2=T30, 3=VOICE_BRIDGE, 4=DID, 5=T38, 6=RTC_BRIDGE, 8=SDN.
{- "data": {
- "gateways": [
- {
- "system": true,
- "id": 1000,
- "gateway": "203.0.113.10:5060",
- "prefix": "9",
- "limit": 23
}
]
}, - "status": "success"
}Gateways numbers on /v2.2/gateways/{id}/numbers.
| id required | integer Resource identifier — used by gateways numbers. |
{- "data": {
- "numbers": [
- {
- "carrier": 16,
- "faxEnabled": false,
- "translated": "2012548000",
- "forward": false,
- "forwardTo": null,
- "number": "2012548000",
- "smsEnabled": false,
- "cnam": false
}
]
}, - "status": "success"
}Places an the number order for the listed numbers and adds them to the authenticated account. Charges accounts.cash by accounts.did × len(numbers). Supports the Idempotency-Key header for safe retries (the cached response is returned for 24h on replay).
| Idempotency-Key | string^[A-Za-z0-9_-]{1,128}$ Example: 9c8f4a-001 Client-supplied opaque token. Retries with the same key return the cached response and do NOT re-charge or re-order. |
Numbers to order. Each may set an optional route (gateway_id on this account, default 4).
required | Array of strings or objects One or more numbers (max 100). Each may be a string or an object {number, route?}. |
{- "numbers": [ ]
}{- "data": {
- "amountCharged": 0.5,
- "numbersOrdered": [
- "example"
], - "orderId": "1747345200",
- "failed": [
- {
- "reason": "example",
- "number": "2012548000"
}
]
}, - "status": "success"
}Returns counts of available numbers bucketed by the chosen dimension. Optional filter parameters narrow the result. Results are cached for 10 minutes.
| countBy required | string Enum: "state" "city" "rateCenter" "npanxx" "block" Example: countBy=state Aggregation dimension. |
| locState | string Example: locState=NJ Filter: state or province code (e.g. NJ). |
| city | string Filter: city name. |
| rcAbbre | string Filter: rate-center abbreviation. |
| npa | string Example: npa=201 Filter: area code. |
| lata | integer Filter: LATA code. |
{- "data": {
- "coverage": [
- {
- "block": "example",
- "nxx": "908",
- "rcAbbre": "example",
- "city": "example",
- "npa": "201",
- "locState": "NJ",
- "lata": "224",
- "count": 270026
}
]
}, - "status": "success"
}Submits a number port-in. Replicates the legacy LNP web form: creates a port record, opens a support ticket, notifies the LNP team, and deducts $6 per TN from accounts.cash. Numbers must have been confirmed portable via GET /v2.2/ports/availability/{number} within the prior hour. The LOA must be uploaded after submission.
Address, account, and TN list for the port-in submission.
| streetSuffix | string Enum: "N" "NE" "E" "SE" "S" "SW" "W" "NW" Optional street direction suffix. Omit the field (or send an empty string) when none applies. |
| desiredDueDate | string <date-time> Optional desired port date (YYYY-MM-DD). Leave blank for standard processing time. |
| room | string Optional room. |
| lcBtn required | string Billing telephone number from the losing carrier bill. |
| floor | string Optional floor. |
| street required | string Street name. |
| unitValue | string Optional unit designator (e.g. APT, STE) and number. |
| nameType required | string Enum: "business" "residential" Name type. |
| lcAccountNumber required | string Account number from the losing carrier bill. |
| streetNumber required | string Street number as it appears on the service address. |
| streetType required | string USPS street type abbreviation (e.g. ST, AVE, BLVD). |
| name required | string Subscriber name exactly as it appears on the bill from the losing carrier. |
| pin | string Port-out PIN. Required by many carriers especially mobile. Contact the losing carrier to obtain. |
| authPerson required | string Full name of the person authorized to sign the LOA. |
| state required | string 2-character state abbreviation. |
| zip required | string Postal code (in portSubmitRequest). |
| city required | string City name (in portSubmitRequest). |
Array of objects (portFeature) Optional per-TN routing, LIDB, and SMS configuration applied after the port completes. | |
| streetPrefix | string Enum: "N" "NE" "E" "SE" "S" "SW" "W" "NW" Optional street direction prefix. Omit the field (or send an empty string) when none applies. |
| country required | string Country code. |
| did required | Array of strings non-empty One or more 10-digit phone numbers to port. Toll-free (8xx) numbers are separated from geographic numbers automatically. |
| building | string Optional building identifier. |
{- "streetSuffix": "N",
- "desiredDueDate": "2026-05-18T12:00:00Z",
- "room": "",
- "lcBtn": "2015551000",
- "floor": "",
- "street": "Main",
- "unitValue": "",
- "nameType": "business",
- "lcAccountNumber": "123456789",
- "streetNumber": "550",
- "streetType": "ST",
- "name": "Acme Corp",
- "pin": "1234",
- "authPerson": "Jane Smith",
- "state": "IL",
- "zip": "60601",
- "city": "Chicago",
- "features": [
- {
- "routing": {
- "gatewayId": 4
}, - "sms": {
- "campaignId": "C123456"
}, - "number": "2015551234",
- "lidb": {
- "name": "Acme Corp"
}
}
], - "streetPrefix": "N",
- "country": "US",
- "did": [
- "2015551234"
], - "building": ""
}{- "data": {
- "pid": "a3a2a",
- "message": "Port request a3a2a submitted. Please complete the LOA to proceed.",
- "ticket": 2114
}, - "status": "success"
}Returns every port-in record submitted by the authenticated account, newest first.
{- "data": {
- "ports": [
- {
- "id": "8654d228e5f6f004e10edaed574424531da3517e",
- "status": "Complete",
- "createdAt": "2026-05-18T12:00:00Z",
- "pid": "y0d36",
- "foc": "19750715",
- "message": "Your numbers will be porting on May/04/2026 at 10:00 AM Central."
}
]
}, - "status": "success"
}Returns the full detail for one port-in record. Returns 404 if the id does not exist or is owned by a different account.
| id required | string = 5 characters ^[A-Za-z0-9]{5}$ Example: w1476 Port record identifier (5-character alphanumeric pid) from the list response's pid field. |
{- "data": {
- "port": {
- "id": "8654d228e5f6f004e10edaed574424531da3517e",
- "status": "Complete",
- "createdAt": "2026-05-18T12:00:00Z",
- "pid": "y0d36",
- "name": "Acme Inc",
- "email": "user@example.com",
- "foc": "example",
- "numbers": [
- "example"
], - "message": "Operation completed."
}
}, - "status": "success"
}Returns up to quantity numbers matching the tnMask and optional filters. Results are cached for 10 minutes.
| tnMask required | string Example: tnMask=201 Prefix or wildcard pattern; |
| quantity | integer Example: quantity=10 Maximum results, 1–1000. Defaults to 10. |
| province | string Example: province=NJ Limit results to this 2-letter US state or Canadian province code. |
| rateCenter | string Rate-center name. |
| lata | integer LATA code (query filter). |
{- "data": {
- "numbers": [
- {
- "province": "NJ",
- "rateCenter": "CLOSTER",
- "number": "2019085750",
- "city": "Closter",
- "lata": "224"
}
]
}, - "status": "success"
}Checks whether the number can be ported in. On portable=true the system sets a Redis flag that lets a subsequent POST /v2.2/ports submit the port within an hour.
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Example: 2017301000 Ten-digit telephone number to check. |
{- "status": "success",
- "data": {
- "reason": null,
- "losingCarrier": "Sinch Voice-NSR-10X-Port/1",
- "portable": true,
- "rateCenterTier": "0",
- "number": "9175803800",
- "localRoutingNumber": "6463071993"
}
}Per-lookup billed services. CNAM returns the registered Caller ID Name. LRN returns Location Routing Number and carrier details. Requires the service to be enabled on the account.
Returns the Caller ID Name registered for the given 10-digit telephone number. Billed per lookup. Requires CNAM service to be enabled.
| number required | string Example: 2015551234 10-digit telephone number in NPANXXXXXX format. |
{- "data": {
- "number": "2012548000",
- "cnam": "VOICETEL"
}, - "status": "success"
}Returns the Location Routing Number (LRN) and carrier details for the destination number. Billed per lookup.
| number required | string Example: 2125551234 Destination number in NPANXXXXXX format. |
| ani required | string Example: 2015551234 Calling party (ANI) in NPANXXXXXX format. |
{- "data": {
- "destination": "2015551234",
- "ani": "2012548000",
- "lrn": {
- "ocn": "9101",
- "lecType": "example",
- "city": "NEW YORK",
- "rc": "example",
- "lrn": "12125550000",
- "jurisdiction": "INTERSTATE",
- "local": "N",
- "lata": "132",
- "lec": "example",
- "state": "NY"
}
}, - "status": "success"
}Returns the current messaging routing state for each requested number. Numbers not on the authenticated account are returned with onAccount=false.
| numbers required | string Example: numbers=9175803800,2012548000 Comma-separated list of 10-digit numbers. Maximum 1000. |
{- "data": {
- "numbers": [
- {
- "carrier": 16,
- "onAccount": true,
- "campaign": {
- "upstreamCnpId": "SFL9UTQ",
- "id": "CH5K5IZ",
- "status": "ACTIVE",
- "network": "A"
}, - "enabled": false,
- "routeIn": 0,
- "number": "9175803800",
- "network": "A"
}
]
}, - "status": "success"
}Brand registration. Body fields define the brand attributes.
Brand registration body.
| messagingBrandDescription | string Free-form description of the brand. |
| messagingBrandName required | string Brand display name. |
| messagingBrandId required | string^B[A-Za-z0-9]+$ Brand identifier issued by the campaign registry. Must start with |
{- "messagingBrandDescription": "Acme Inc — appointment reminders",
- "messagingBrandName": "Acme Inc",
- "messagingBrandId": "BMQ8L9X"
}{- "data": {
- "result": {
- "statusCode": "200",
- "status": "Success"
}
}, - "status": "success"
}Sends a text message. If mediaUrls is provided it goes as MMS via the messaging network; otherwise SMS via the SMS routing routed by the source number's assigned network. Charges the account on success.
Source number, destination, and message text. Add mediaUrls to send MMS.
| text required | string Message body (UTF-8). Long messages may be split into multiple segments. |
| subject | string MMS subject line (optional, MMS only). |
| toNumber required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Destination 10-digit telephone number. |
| fromNumber required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Source 10-digit number; must be on the authenticated account. |
| mediaUrls | Array of strings One or more publicly-reachable media URLs. Presence makes this an MMS. |
{- "text": "Reminder: appointment 3pm.",
- "subject": "example",
- "toNumber": "2015551234",
- "fromNumber": "2012548000",
- "mediaUrls": [
- "example"
]
}{- "data": {
- "fromNumber": "2012548000",
- "toNumber": "2015551234",
- "id": "abc123",
- "mediaUrls": [
- "example"
], - "parts": 1,
- "type": "sms",
- "subject": "example"
}, - "status": "success"
}Returns SMS or MMS Message Detail Records for a single number within a timestamp range. Both endpoints of the range are inclusive.
| type | string Enum: "sms" "mms" "dlr" Example: type=sms sms (default), mms, or dlr. dlr returns delivery status events for sent messages. |
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Example: number=2012548000 Ten-digit telephone number on the authenticated account — used by message history. |
| from | integer Example: from=1747345200 Unix timestamp range start (newer). Defaults to now. |
| to | integer Example: to=1747258800 Unix timestamp range end (older). Defaults to 24h ago. |
{- "data": {
- "toTs": 1747258800,
- "type": "sms",
- "number": "2012548000",
- "fromTs": 1747345200,
- "messages": [
- {
- "key": [ ],
- "value": {
- "direction": "in",
- "rate": "example",
- "message": "example",
- "destinationNumber": "2015551234",
- "sourceNumber": "2015551234",
- "number": 0
}, - "id": "41946b6929e7b873fcafd5a3b475cc4ebfefd2a2"
}
]
}, - "status": "success"
}Campaign registration. messagingBrandId / externalCampaignId / campaignDescription are required; campaignClassName and campaignStartDate default to T / today if omitted.
Campaign registration body.
| campaignStartDate | string <date-time> Campaign start date. |
| externalCampaignId required | string External campaign id. |
| campaignDescription required | string Campaign description. |
| campaignClassName | string Campaign class name. |
| messagingBrandId required | string Messaging brand id. |
{- "campaignStartDate": "2026-05-18T12:00:00Z",
- "externalCampaignId": "abc123",
- "campaignDescription": "example",
- "campaignClassName": "T",
- "messagingBrandId": "abc123"
}{- "data": {
- "result": {
- "statusCode": "200",
- "status": "Success"
}
}, - "status": "success"
}For each id, returns the the messaging network campaign status and the list of numbers currently bound.
| ids required | string Example: ids=ABC123,DEF456 Comma-separated alphanumeric campaign ids; max 100. |
{- "data": {
- "campaigns": [
- {
- "id": "ABC123",
- "status": "CAMPAIGN_DCA_COMPLETE",
- "numbers": [
- "example"
]
}
]
}, - "status": "success"
}Manage telephone numbers: routing, forwarding, DNIS translation, inbound CNAM lookup, outbound Caller ID Name (LIDB), SMS routing, and fax-to-email.
Assigns a telephone number to the account. Account balance must cover the monthly DID rate.
Body for add a number.
| route | integer Gateway route ID. Defaults to 4 (DID). |
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Telephone number (ten digits) (in numberAddRequest). |
{- "route": 4,
- "number": "2015551234"
}{- "data": {
- "route": 0,
- "number": "2012548000"
}, - "status": "success"
}Returns all telephone numbers on the account with full detail including route, gateway, forwarding, CNAM, SMS, and fax configuration.
{- "data": {
- "numbers": [
- {
- "route": 1000,
- "carrier": 0,
- "faxEnabled": true,
- "gateway": "203.0.113.10:5060",
- "translated": "2015551234",
- "forward": true,
- "forwardTo": "example",
- "number": "2015551234",
- "smsEnabled": true,
- "cnam": true
}
]
}, - "status": "success"
}Numbers fax delete on /v2.2/numbers/{number}/fax.
| number required | string Ten-digit telephone number — used by numbers fax delete. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Numbers fax set on /v2.2/numbers/{number}/fax.
| number required | string Ten-digit telephone number — used by numbers fax set. |
Body for set fax-to-email.
| email required | string Email address (in numberFaxRequest). |
{- "email": "fax@example.com"
}{- "data": {
- "number": "2012548000",
- "email": "user@example.com"
}, - "status": "success"
}Numbers fax get on /v2.2/numbers/{number}/fax.
| number required | string Ten-digit telephone number — used by numbers fax get. |
{- "data": {
- "number": "2012548000",
- "email": "user@example.com"
}, - "status": "success"
}Numbers cnam on /v2.2/numbers/{number}/cnam.
| number required | string Ten-digit telephone number — used by numbers cnam. |
Body for enable or disable inbound cnam lookup.
| enabled required | boolean true to enable inbound CNAM lookup, false to disable. |
{- "enabled": true
}{- "data": {
- "number": "2012548000",
- "cnam": true
}, - "status": "success"
}Sets the inbound DNIS translation for the number.
| number required | string Ten-digit telephone number — used by numbers translation. |
Body for set dnis translation.
| translation required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ DNIS translation. Digits and # only. |
{- "translation": "2015559999"
}{- "data": {
- "translation": "2015551234",
- "number": "2012548000"
}, - "status": "success"
}Numbers sms delete on /v2.2/numbers/{number}/sms.
| number required | string Ten-digit telephone number — used by numbers sms delete. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Sets or updates SMS routing for the number.
| number required | string Ten-digit telephone number — used by numbers sms set. |
Body for set sms routing.
| type required | string Enum: "email" "webhook" "sip" email=forward to email address, webhook=HTTP POST, sip=direct IP delivery. |
| resource required | string Email address, webhook URL, or IP address depending on type. |
{- "type": "email",
- "resource": "user@example.com"
}{- "data": {
- "type": "email",
- "number": "2012548000",
- "resource": "example"
}, - "status": "success"
}Returns the SMS routing configuration for the number. Type is one of: email, webhook, sip.
| number required | string Ten-digit telephone number — used by numbers sms get. |
{- "data": {
- "type": "email",
- "number": "2012548000",
- "resource": "example"
}, - "status": "success"
}Sets the gateway route for a number.
| number required | string Ten-digit telephone number — used by numbers route. |
Body for set number route.
| route required | integer Gateway id the number is currently routed to (in numberRouteRequest). |
{- "route": 1000
}{- "data": {
- "route": 0,
- "number": "2012548000"
}, - "status": "success"
}Numbers forward remove on /v2.2/numbers/{number}/forward.
| number required | string Ten-digit telephone number — used by numbers forward remove. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Numbers forward set on /v2.2/numbers/{number}/forward.
| number required | string Ten-digit telephone number — used by numbers forward set. |
Body for set call forward.
| destination required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ 10-digit destination number. |
{- "destination": "2015551234"
}{- "data": {
- "forwardTo": "example",
- "number": "2012548000"
}, - "status": "success"
}Removes each listed number from the given campaign. The campaign itself is unchanged; only the number-to-campaign bindings are removed. campaignId is required — the system uses CSP sharing to resolve which messaging path holds the bindings, then issues path-appropriate removal calls.
| numbers required | string Example: numbers=6185243600,4055160600 Comma-separated list of 10-digit telephone numbers to remove from the campaign. Maximum 1000. |
| campaignId required | string^C[A-Z0-9]{6}$ Example: campaignId=CH5K5IZ TCR campaign id the numbers are being removed from. The network is resolved via CSP sharing. |
{- "data": {
- "campaignId": "CH5K5IZ",
- "upstreamCnpId": "SFL9UTQ",
- "failed": [
- {
- "reason": "example",
- "number": "2015551234"
}
], - "unassignedNumbers": [
- "example"
], - "network": "A"
}, - "status": "success"
}Reassigns the number from the authenticated account to the destination accountId on the given route. Both fields are required.
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Example: 2012548000 Ten-digit telephone number currently on the authenticated account. |
Destination account and the route on that account that should receive the number.
| route required | integer Gateway id the number is currently routed to (in numberMoveRequest). |
| accountId required | integer Destination account id (numeric username). |
{- "route": 1000,
- "accountId": 1002
}{- "data": {
- "route": 0,
- "accountId": 1,
- "number": "2012548000"
}, - "status": "success"
}Permanently removes the number from the account. Numbers currently porting cannot be removed.
| number required | string Ten-digit telephone number — used by numbers delete. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Numbers get on /v2.2/numbers/{number}.
| number required | string Example: 2015551234 10-digit telephone number — used by numbers get. |
{- "data": {
- "route": 1000,
- "carrier": 0,
- "faxEnabled": true,
- "gateway": "203.0.113.10:5060",
- "translated": "2015551234",
- "forward": true,
- "forwardTo": "example",
- "number": "2015551234",
- "smsEnabled": true,
- "cnam": true
}, - "status": "success"
}Sets the outbound Caller ID Name (CNAM/LIDB) for the number. Writes the name to the local cache (used by the softswitch for outbound caller-id) and then submits the update to the LIDB network. The local cache update is durable; a downstream failure is reported via the response's carrierStatus field but does not fail the request. Max 15 alphanumeric characters.
| number required | string Ten-digit telephone number — used by numbers lidb. |
Body for set outbound caller id name (lidb).
| customerOrderReference | string Optional order reference. Auto-generated if omitted. |
| cnam required | string Outbound caller name. Max 15 alphanumeric characters. |
{- "customerOrderReference": "example",
- "cnam": "ACME CORP"
}{- "data": {
- "customerOrderReference": "example",
- "number": "2015551234",
- "cnam": "example",
- "carrierStatus": "success"
}, - "status": "success"
}At least one of routeIn / routeOut must be present. routeIn must be a numbers_sms row id owned by the authenticated account, or 0 to detach.
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Ten-digit telephone number on the authenticated account — used by number messaging patch. |
Subset of routeIn/routeOut to update.
| routeIn | integer numbers_sms row id for inbound. 0 to detach. |
| routeOut | integer Outbound carrier id (numbers.carrier value). |
{- "routeIn": 1234,
- "routeOut": 17
}{- "data": {
- "number": "9175803800",
- "updated": [
- "routeIn"
]
}, - "status": "success"
}Returns the current inbound route, outbound carrier, and enabled state for this number.
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Example: 9175803800 Ten-digit telephone number on the authenticated account — used by number messaging get. |
{- "data": {
- "carrier": 16,
- "onAccount": true,
- "campaign": {
- "upstreamCnpId": "SFL9UTQ",
- "id": "CH5K5IZ",
- "status": "ACTIVE",
- "network": "A"
}, - "enabled": false,
- "routeIn": 0,
- "number": "9175803800",
- "network": "A"
}, - "status": "success"
}Releases the number back to the network (different from removing it from the account). A release event is created; the number cannot be re-assigned.
| number required | string Ten-digit telephone number — used by number release. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Removes this number from the given campaign. The campaign continues to exist with its other bindings. campaignId is supplied as a query parameter (per REST: DELETE should not carry a request body).
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Ten-digit telephone number on the authenticated account. |
| campaignId required | string^C[A-Z0-9]{6}$ Example: campaignId=CH5K5IZ TCR campaign id the number is being removed from. |
{- "data": {
- "campaignId": "CH5K5IZ",
- "upstreamCnpId": "SFL9UTQ",
- "number": "6185243600",
- "unassigned": true,
- "network": "A"
}, - "status": "success"
}Binds the number to a registered campaign at the network. Number must be on the authenticated account.
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Ten-digit telephone number on the authenticated account — used by number messaging campaign assign. |
Campaign id to bind to this number.
| campaignId required | string^[A-Z0-9]+$ Campaign id (in numberCampaignAssignRequest). |
{- "campaignId": "ABC123"
}{- "data": {
- "carrier": 17,
- "upstreamCnpId": "SFL9UTQ",
- "previousNetwork": null,
- "campaignId": "CH5K5IZ",
- "previousNetworkCleared": false,
- "number": "6185243600",
- "network": "A"
}, - "status": "success"
}Updates the four-digit PIN that future losing carriers must present to release this number. Requires that the number is currently on the authenticated account.
| number required | string^[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$ Example: 2012548000 Ten-digit telephone number owned by the authenticated account — used by number port out pin update. |
Four-digit PIN to set on this number for future port-out validation.
| pin required | string^[0-9]{4}$ Four-digit numeric PIN. |
{- "pin": "4287"
}{- "data": {
- "portOutPin": "4287",
- "number": "2012548000"
}, - "status": "success"
}Support ticket management. Customers see only their own tickets. Administrators see all tickets.
Adds a customer reply to an existing ticket. Customers can only reply to their own tickets.
| id required | integer Resource identifier — used by support ticket reply create. |
Body for add a reply to a ticket.
| message required | string Free-form message text (in ticketReplyRequest). |
{- "message": "Thank you for your reply."
}{- "data": {
- "message": "Reply added"
}, - "status": "success"
}Returns all message threads for a ticket. Customers can only view their own tickets.
| id required | integer Resource identifier — used by support ticket messages. |
{- "data": {
- "messages": [
- {
- "bcc": [
- "example"
], - "source": {
- "type": "example",
- "via": "example"
}, - "to": [
- "example"
], - "body": "Hello, I cannot send SMS from my account.",
- "ratingComment": "example",
- "embedded": {
- "attachments": [
- {
- "size": 4096,
- "id": 5001,
- "mimeType": "text/plain",
- "fileName": "logs.txt"
}
]
}, - "rating": 0,
- "assignedTo": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "action": {
- "type": "example",
- "text": "example"
}, - "state": "published",
- "cc": [
- "example"
], - "id": 98765,
- "status": "active",
- "createdAt": "2026-05-18T10:00:00Z",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}, - "type": "customer",
- "openedAt": "2026-05-18T12:00:00Z",
- "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}
}
]
}, - "status": "success"
}Tickets delete on /v2.2/support/tickets/{id}.
| id required | integer Resource identifier — used by tickets delete. |
{- "status": "error",
- "error": {
- "code": 400,
- "message": "Field Required: number"
}
}Updates the status of a ticket. Customers can only update their own tickets.
| id required | integer Resource identifier — used by tickets put. |
Body for update ticket status.
| status required | string Enum: "active" "pending" "closed" "spam" Outcome of the ticket update request operation. |
{- "status": "active"
}{- "data": {
- "id": 1001,
- "status": "success"
}, - "status": "success"
}Returns a ticket including its threads. Customers can only view their own tickets.
| id required | integer Resource identifier — used by tickets get. |
{- "data": {
- "ticket": {
- "bcc": [
- "example"
], - "updatedAt": "2026-05-18T11:23:00Z",
- "customerWaitingSince": {
- "latestReplyFrom": "customer",
- "friendly": "example",
- "time": "2026-05-18T12:00:00Z"
}, - "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}, - "customFields": [
- {
- "name": "example",
- "value": "example",
- "text": "example",
- "id": 0
}
], - "source": {
- "type": "example",
- "via": "example"
}, - "folderId": 1,
- "cc": [
- "example"
], - "id": 4242,
- "userUpdatedAt": "2026-05-18T12:00:00Z",
- "createdAt": "2026-05-18T10:00:00Z",
- "embedded": {
- "threads": [
- {
- "bcc": [
- "example"
], - "source": {
- "type": "example",
- "via": "example"
}, - "to": [
- "example"
], - "body": "Hello, I cannot send SMS from my account.",
- "ratingComment": "example",
- "embedded": {
- "attachments": [
- {
- "size": 4096,
- "id": 5001,
- "mimeType": "text/plain",
- "fileName": "logs.txt"
}
]
}, - "rating": 0,
- "assignedTo": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "action": {
- "type": "example",
- "text": "example"
}, - "state": "published",
- "cc": [
- "example"
], - "id": 98765,
- "status": "active",
- "createdAt": "2026-05-18T10:00:00Z",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}, - "type": "customer",
- "openedAt": "2026-05-18T12:00:00Z",
- "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}
}
]
}, - "closedByUser": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "type": "email",
- "number": 1015,
- "threadsCount": 3,
- "mailboxId": 2,
- "preview": "Hello, I cannot send SMS from my account…",
- "subject": "Cannot send SMS",
- "closedAt": "2026-05-18T12:00:00Z",
- "state": "published",
- "assignee": {
- "lastName": "example",
- "id": 0,
- "type": "user",
- "photoUrl": "example",
- "email": "example",
- "firstName": "example"
}, - "closedBy": 0,
- "status": "active",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}
}
}, - "status": "success"
}Creates a new support ticket. The customer email is automatically populated from the authenticated account. Administrators may optionally specify a different email.
Body for create a support ticket.
| subject required | string Subject line. |
string Admin only: create ticket on behalf of this customer email. | |
| message required | string Free-form message text (in ticketCreateRequest). |
{- "subject": "I need help with my account",
- "email": "user@example.com",
- "message": "Please help me..."
}{- "data": {
- "ticket": {
- "bcc": [
- "example"
], - "updatedAt": "2026-05-18T11:23:00Z",
- "customerWaitingSince": {
- "latestReplyFrom": "customer",
- "friendly": "example",
- "time": "2026-05-18T12:00:00Z"
}, - "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}, - "customFields": [
- {
- "name": "example",
- "value": "example",
- "text": "example",
- "id": 0
}
], - "source": {
- "type": "example",
- "via": "example"
}, - "folderId": 1,
- "cc": [
- "example"
], - "id": 4242,
- "userUpdatedAt": "2026-05-18T12:00:00Z",
- "createdAt": "2026-05-18T10:00:00Z",
- "embedded": {
- "threads": [
- {
- "bcc": [
- "example"
], - "source": {
- "type": "example",
- "via": "example"
}, - "to": [
- "example"
], - "body": "Hello, I cannot send SMS from my account.",
- "ratingComment": "example",
- "embedded": {
- "attachments": [
- {
- "size": 4096,
- "id": 5001,
- "mimeType": "text/plain",
- "fileName": "logs.txt"
}
]
}, - "rating": 0,
- "assignedTo": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "action": {
- "type": "example",
- "text": "example"
}, - "state": "published",
- "cc": [
- "example"
], - "id": 98765,
- "status": "active",
- "createdAt": "2026-05-18T10:00:00Z",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}, - "type": "customer",
- "openedAt": "2026-05-18T12:00:00Z",
- "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}
}
]
}, - "closedByUser": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "type": "email",
- "number": 1015,
- "threadsCount": 3,
- "mailboxId": 2,
- "preview": "Hello, I cannot send SMS from my account…",
- "subject": "Cannot send SMS",
- "closedAt": "2026-05-18T12:00:00Z",
- "state": "published",
- "assignee": {
- "lastName": "example",
- "id": 0,
- "type": "user",
- "photoUrl": "example",
- "email": "example",
- "firstName": "example"
}, - "closedBy": 0,
- "status": "active",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}
}
}, - "status": "success"
}Returns support tickets. Customers see only their own tickets. Administrators see all tickets.
{- "data": {
- "totalCount": 1,
- "tickets": [
- {
- "bcc": [
- "example"
], - "updatedAt": "2026-05-18T11:23:00Z",
- "customerWaitingSince": {
- "latestReplyFrom": "customer",
- "friendly": "example",
- "time": "2026-05-18T12:00:00Z"
}, - "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}, - "customFields": [
- {
- "name": "example",
- "value": "example",
- "text": "example",
- "id": 0
}
], - "source": {
- "type": "example",
- "via": "example"
}, - "folderId": 1,
- "cc": [
- "example"
], - "id": 4242,
- "userUpdatedAt": "2026-05-18T12:00:00Z",
- "createdAt": "2026-05-18T10:00:00Z",
- "embedded": {
- "threads": [
- {
- "bcc": [
- "example"
], - "source": {
- "type": "example",
- "via": "example"
}, - "to": [
- "example"
], - "body": "Hello, I cannot send SMS from my account.",
- "ratingComment": "example",
- "embedded": {
- "attachments": [
- {
- "size": 4096,
- "id": 5001,
- "mimeType": "text/plain",
- "fileName": "logs.txt"
}
]
}, - "rating": 0,
- "assignedTo": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "action": {
- "type": "example",
- "text": "example"
}, - "state": "published",
- "cc": [
- "example"
], - "id": 98765,
- "status": "active",
- "createdAt": "2026-05-18T10:00:00Z",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}, - "type": "customer",
- "openedAt": "2026-05-18T12:00:00Z",
- "customer": {
- "company": "Acme Inc",
- "updatedAt": "2026-05-15T09:30:00Z",
- "jobTitle": "Director of Operations",
- "notes": "",
- "lastName": "Mavroudis",
- "id": 12345,
- "createdAt": "2026-05-01T12:00:00Z",
- "embedded": {
- "socialProfiles": [
- {
- "type": "twitter",
- "value": "example",
- "id": 0
}
], - "phones": [
- {
- "type": "mobile",
- "value": "example",
- "id": 0
}
], - "emails": [
- {
- "type": "work",
- "value": "example",
- "id": 0
}
], - "websites": [
- {
- "value": "example",
- "id": 0
}
], - "address": {
- "country": "example",
- "street": "example",
- "city": "example",
- "zip": "example",
- "state": "example"
}
}, - "type": "customer",
- "email": "michael@example.com",
- "firstName": "Michael",
- "photoType": "gravatar"
}
}
]
}, - "closedByUser": {
- "id": 0,
- "lastName": "example",
- "email": "example",
- "firstName": "example",
- "type": "user"
}, - "type": "email",
- "number": 1015,
- "threadsCount": 3,
- "mailboxId": 2,
- "preview": "Hello, I cannot send SMS from my account…",
- "subject": "Cannot send SMS",
- "closedAt": "2026-05-18T12:00:00Z",
- "state": "published",
- "assignee": {
- "lastName": "example",
- "id": 0,
- "type": "user",
- "photoUrl": "example",
- "email": "example",
- "firstName": "example"
}, - "closedBy": 0,
- "status": "active",
- "createdBy": {
- "id": 0,
- "email": "example",
- "type": "customer"
}
}
]
}, - "status": "success"
}