Mobile API Reference
Complete REST API reference for the CRM mobile app. 125 endpoints across 13 resource groups.
auth
3 endpoints| Field | Type | Required | Description |
|---|---|---|---|
| login | string | required | User email address |
| password | string | required | User password |
| device_name | string | optional | Device identifier for token scoping |
Response: {"access_token": "string"}
curl -X POST "{{baseUrl}}/api/v1/login" \
-H "Content-Type: application/json" \
-d '{"login": "user@example.com", "password": "secret", "device_name": "MyApp"}'
curl -X POST "{{baseUrl}}/api/v1/logout" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| string | optional | Email address to send reset link to |
curl -X POST "{{baseUrl}}/api/v1/reset-password" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com"}'
common
10 endpointsResponse: {"badges": {"new_activities": 0, "unread_emails": 0, "unread_sms": 0, "unread_messages": 0}}
curl "{{baseUrl}}/api/v1/common/app-state" \
-H "access_token: {your_token}"
/common/app-user-settings
Twilio config + default_status_view — load once at app launch
Try it →
curl "{{baseUrl}}/api/v1/common/app-user-settings" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/common/app-phones-prefixes" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/common/app-phone-main-type" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/common/app-phone-types" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| interval | query | string | optional | day | week | two_weeks | month (default: day) |
Response: statuses (customers/opportunities/leads with title+stages), calls (incoming/outgoing), emails, sms, campaigns_stats, campaigns_count
curl "{{baseUrl}}/api/v1/dashboard?interval=week" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| year | query | integer | required | Four-digit year e.g. 2026 |
| month | query | integer | required | 1–12 |
| day | query | integer | required | 1–31 |
Response: array of {contact_id, name, time (W3C), note}
curl "{{baseUrl}}/api/v1/dashboard/calendar?year=2026&month=3&day=18" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| search | query | string | required | Search query string |
Response: {contacts, organizations, tickets}
curl "{{baseUrl}}/api/v1/search?search=acme" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| token | string | optional | Firebase APNs device token |
curl -X POST "{{baseUrl}}/api/v1/system/push/firebase/ios" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"token": "apns_device_token_here"}'
| Field | Type | Required | Description |
|---|---|---|---|
| token | string | optional | Firebase FCM device token |
curl -X POST "{{baseUrl}}/api/v1/system/push/firebase/android" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"token": "fcm_device_token_here"}'
contacts
19 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| status | query | string | optional | Pipeline status filter |
| stage | query | string | optional | Pipeline stage filter |
| last_name_beginning | query | string | optional | Filter by last name prefix |
| name | query | string | optional | Name search string |
| tags | query | string | optional | Comma-separated tag IDs |
| user | query | integer | optional | Assigned user ID |
| organization | query | integer | optional | Organization ID |
| contactlist | query | integer | optional | Contact list ID |
| phone | query | string | optional | Phone number filter |
| touches | query | string | optional | Touch count filter |
| confidence_level | query | string | optional | Confidence level filter |
| orderby | query | string | optional | Sort field |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/contacts?status=customers&limit=25&offset=0" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| first_name | string | optional | First name |
| last_name | string | optional | Last name |
| string | optional | Email address | |
| phone | string | optional | Phone number |
| status | string | optional | customers | opportunities | leads |
| stage | string | optional | Pipeline stage |
curl -X POST "{{baseUrl}}/api/v1/contacts/new" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"first_name": "Jane", "last_name": "Doe", "email": "jane@example.com", "status": "leads"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/contacts/lists?limit=25&offset=0" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
curl "{{baseUrl}}/api/v1/contacts/42" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| first_name | string | optional | First name |
| last_name | string | optional | Last name |
| string | optional | Email address | |
| phone | string | optional | Phone number |
curl -X PATCH "{{baseUrl}}/api/v1/contacts/42" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"first_name": "Jane", "email": "jane.new@example.com"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
Response: {videos_count, campaigns_count, support_tickets_count, unread_emails, unread_sms}
curl "{{baseUrl}}/api/v1/contacts/42/stats" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/contacts/42/campaigns?limit=10&offset=0" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/contacts/42/available-campaigns" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | required | Campaign ID to start |
curl -X POST "{{baseUrl}}/api/v1/contacts/42/campaigns/create" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"campaign_id": 7}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| campaign_id | integer | required | Campaign ID to stop |
curl -X POST "{{baseUrl}}/api/v1/contacts/42/campaigns/stop" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"campaign_id": 7}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | required | customers | opportunities | leads |
curl -X POST "{{baseUrl}}/api/v1/contacts/42/setstatus" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"status": "customers"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| stage | string | required | received | contact | appointment | sold | lost |
curl -X POST "{{baseUrl}}/api/v1/contacts/42/setstage" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"stage": "appointment"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| id_tag | integer | required | Tag ID to add |
curl -X POST "{{baseUrl}}/api/v1/contacts/42/settag" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"id_tag": 5}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| id_tag | integer | required | Tag ID to remove |
curl -X POST "{{baseUrl}}/api/v1/contacts/42/unsettag" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"id_tag": 5}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
curl "{{baseUrl}}/api/v1/contacts/42/subscribesms" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
curl "{{baseUrl}}/api/v1/contacts/42/unsubscribesms" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
curl "{{baseUrl}}/api/v1/contacts/42/subscribeemail" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
curl "{{baseUrl}}/api/v1/contacts/42/unsubscribeemail" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Contact ID |
curl "{{baseUrl}}/api/v1/contacts/42/sendvideourl" \
-H "access_token: {your_token}"
organizations
8 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| title_beginning | query | string | optional | Filter by company name prefix |
| employees | query | string | optional | Employee count filter |
| status | query | string | optional | Pipeline status |
| stage | query | string | optional | Pipeline stage |
| email_beginning | query | string | optional | Filter by email prefix |
| tags | query | string | optional | Comma-separated tag IDs |
| user | query | integer | optional | Assigned user ID |
| phone | query | string | optional | Phone number filter |
| city | query | string | optional | City filter |
| confidence_level | query | string | optional | Confidence level |
| state | query | string | optional | State filter |
| orderby | query | string | optional | Sort field |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/organizations?limit=25&offset=0" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | optional | Organization name |
| string | optional | Email address | |
| phone | string | optional | Phone number |
| address | string | optional | Physical address |
curl -X POST "{{baseUrl}}/api/v1/organizations/new" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Corp", "email": "contact@acme.com"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Organization ID |
curl "{{baseUrl}}/api/v1/organizations/10" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Organization ID |
curl -X PATCH "{{baseUrl}}/api/v1/organizations/10" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Corporation"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Organization ID |
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | required | Pipeline status value |
curl -X POST "{{baseUrl}}/api/v1/organizations/10/setstatus" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"status": "customers"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Organization ID |
| Field | Type | Required | Description |
|---|---|---|---|
| stage | string | required | Pipeline stage value |
curl -X POST "{{baseUrl}}/api/v1/organizations/10/setstage" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"stage": "contact"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Organization ID |
| Field | Type | Required | Description |
|---|---|---|---|
| id_tag | integer | required | Tag ID to add |
curl -X POST "{{baseUrl}}/api/v1/organizations/10/settag" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"id_tag": 3}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Organization ID |
| Field | Type | Required | Description |
|---|---|---|---|
| id_tag | integer | required | Tag ID to remove |
curl -X POST "{{baseUrl}}/api/v1/organizations/10/unsettag" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"id_tag": 3}'
activities
16 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contact_id | query | integer | optional | Filter by contact |
| user_id | query | integer | optional | Filter by user |
| organization_id | query | integer | optional | Filter by organization |
| type | query | string | optional | sms | email | task | call | note | booked_call |
| direction | query | string | optional | incoming | outgoing |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
Response: stats array + data array
curl "{{baseUrl}}/api/v1/activities?type=call&direction=incoming&limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Call ID |
Response: {id, contact_id, user_id, time, status, duration, recording_url}
curl "{{baseUrl}}/api/v1/communication/call/99" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | SMS ID |
curl "{{baseUrl}}/api/v1/communication/sms/55" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contact_id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | SMS message text |
| time | string | optional | W3C datetime for scheduled send |
curl -X POST "{{baseUrl}}/api/v1/communication/sms/contact/42" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Hi, checking in!"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Email ID |
curl "{{baseUrl}}/api/v1/communication/emails/77" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contact_id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| subject | string | required | Email subject line |
| message | string | required | HTML message body |
| time | string | optional | W3C datetime for scheduled send |
curl -X POST "{{baseUrl}}/api/v1/communication/emails/contact/42" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"subject": "Following up", "message": "<p>Just checking in!</p>"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Note ID |
curl "{{baseUrl}}/api/v1/communication/notes/12" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Note ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Note content |
curl -X PATCH "{{baseUrl}}/api/v1/communication/notes/12" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Updated note content"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Note ID |
curl -X DELETE "{{baseUrl}}/api/v1/communication/notes/12" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contact_id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Note content (no title field) |
curl -X POST "{{baseUrl}}/api/v1/communication/notes/contact/42" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Called and left voicemail."}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
| status | query | string | optional | Active | Completed |
| orderby | query | string | optional | date |
| contact_id | query | integer | optional | Filter by contact |
| year | query | integer | optional | Year filter |
| month | query | integer | optional | Month filter (1–12) |
| day | query | integer | optional | Day filter (1–31) |
curl "{{baseUrl}}/api/v1/communication/tasks/todos?status=Active&limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Task ID |
curl "{{baseUrl}}/api/v1/communication/tasks/8" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Task ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Task description |
| time_scheduled | string | optional | Scheduled date/time |
| reminder | string | optional | Reminder setting |
| priority | string | optional | Task priority |
| status | string | optional | Active | Completed |
curl -X PATCH "{{baseUrl}}/api/v1/communication/tasks/8" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Follow up call", "status": "Completed"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contact_id | path | integer | required | Contact ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Task description |
| time_scheduled | string | optional | Scheduled date/time |
| reminder | string | optional | Reminder setting |
| priority | string | optional | Task priority |
| status | string | optional | Active | Completed |
curl -X POST "{{baseUrl}}/api/v1/communication/tasks/contact/42" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Send proposal", "time_scheduled": "2026-04-01T10:00:00Z"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
| contact_id | query | integer | optional | Filter by contact |
| year | query | integer | optional | Year filter |
| month | query | integer | optional | Month filter (1–12) |
| day | query | integer | optional | Day filter (1–31) |
curl "{{baseUrl}}/api/v1/communication/bookedcalls?limit=25&offset=0" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Booked call ID |
curl "{{baseUrl}}/api/v1/communication/bookedcalls/14" \
-H "access_token: {your_token}"
calendar
1 endpoint| Name | In | Type | Required | Description |
|---|---|---|---|---|
| type | query | string | required | calendar | task |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
| contact_id | query | integer | optional | Filter by contact |
| year | query | integer | optional | Year filter |
| month | query | integer | optional | Month filter (1–12) |
| day | query | integer | optional | Day filter (1–31) |
curl "{{baseUrl}}/api/v1/calendar/list?type=calendar&year=2026&month=3&day=18" \
-H "access_token: {your_token}"
support
26 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contact_id | query | integer | optional | Filter by contact |
| subject | query | string | optional | Subject search |
| priority | query | string | optional | low | normal | high | urgent |
| status | query | string | optional | Ticket status filter |
| department_id | query | integer | optional | Department filter |
| user_id | query | integer | optional | Assigned user filter |
| support_contact_id | query | integer | optional | Support contact filter |
| organization | query | integer | optional | Organization filter |
| year / month / day | query | integer | optional | Date filter (updated date) |
| created_year / created_month / created_day | query | integer | optional | Created date filter |
| updated_year / updated_month / updated_day | query | integer | optional | Updated date filter |
| tags | query | string | optional | Tag filter |
| orderby | query | string | optional | Sort field |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/support/tickets?status=open&limit=25" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| subject | string | optional | Ticket subject |
| message | string | optional | Initial message |
| contact_id | integer | optional | Contact ID |
| priority | string | optional | low | normal | high | urgent |
| department_id | integer | optional | Department ID |
curl -X POST "{{baseUrl}}/api/v1/support/ticket/create" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"subject": "Login issue", "message": "Cannot log in.", "priority": "high"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
curl "{{baseUrl}}/api/v1/support/ticket/101" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
Response: array of {text, time, icon, icon_color}
curl "{{baseUrl}}/api/v1/support/ticket/101/activity?limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/support/ticket/101/messages?limit=50" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Message text |
| close_ticket | integer | optional | 0 | 1 — close ticket after sending |
| attachments | array | optional | Array of attachment IDs |
curl -X POST "{{baseUrl}}/api/v1/support/ticket/101/messages" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Issue has been resolved.", "close_ticket": 1}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/support/ticket/101/note?limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Note text |
| attachments | array | optional | Array of attachment IDs |
curl -X POST "{{baseUrl}}/api/v1/support/ticket/101/note" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Internal note: escalate if no reply by EOD."}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Note ID |
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | required | Updated note text |
| attachments | array | optional | Array of attachment IDs |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/note/33" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Updated internal note."}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Note ID |
curl -X DELETE "{{baseUrl}}/api/v1/support/ticket/note/33" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| priority | string | required | low | normal | high | urgent |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/101/priority" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"priority": "urgent"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | required | New status value |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/101/status" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"status": "closed"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| user_id | integer | required | User ID to assign |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/101/user" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"user_id": 5}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| department_id | integer | required | Department ID |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/101/department" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"department_id": 2}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/support/ticket/101/timelog?limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Ticket ID |
| Field | Type | Required | Description |
|---|---|---|---|
| time_start | string | required | W3C start time |
| time_end | string | required | W3C end time |
| text | string | optional | Work description |
| note | string | optional | Internal note |
| attachments | array | optional | Array of attachment IDs |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/101/timelog" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"time_start": "2026-03-18T09:00:00Z", "time_end": "2026-03-18T10:30:00Z", "text": "Investigated issue"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Time log ID |
curl "{{baseUrl}}/api/v1/support/ticket/timelog/7" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Time log ID |
| Field | Type | Required | Description |
|---|---|---|---|
| time_start | string | optional | W3C start time |
| time_end | string | optional | W3C end time |
| text | string | required | Work description |
| note | string | optional | Internal note |
| attachments | array | optional | Array of attachment IDs |
curl -X PATCH "{{baseUrl}}/api/v1/support/ticket/timelog/7" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"text": "Updated description", "time_start": "2026-03-18T09:00:00Z", "time_end": "2026-03-18T11:00:00Z"}'
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Time log ID |
curl -X DELETE "{{baseUrl}}/api/v1/support/ticket/timelog/7" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Time log ID |
| Field | Type | Required | Description |
|---|---|---|---|
| attachments | array | optional | Array of attachment IDs to add |
curl -X POST "{{baseUrl}}/api/v1/support/ticket/timelog/7/attachment" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"attachments": [42]}'
/support/ticket/timelog/{id}/attachment/{id_attachment}
Delete an attachment from a time log entry
Try it →
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Time log ID |
| id_attachment | path | integer | required | Attachment ID |
curl -X DELETE "{{baseUrl}}/api/v1/support/ticket/timelog/7/attachment/42" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/support/contacts?limit=25" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| first_name | string | required | First name |
| last_name | string | required | Last name |
| string | optional | Email address | |
| phone | array | optional | Array of phone numbers |
curl -X POST "{{baseUrl}}/api/v1/support/contact/create" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"first_name": "Jane", "last_name": "Smith", "email": "jane@example.com"}'
Response: array of {tag, title}
curl "{{baseUrl}}/api/v1/support/statuses" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| type | query | integer | optional | Template type filter |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
Response: array of {id, title, body, attachments}
curl "{{baseUrl}}/api/v1/support/messagetemplates?limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
Response: array of {id, title, subtypes}
curl "{{baseUrl}}/api/v1/support/types?limit=25" \
-H "access_token: {your_token}"
company
6 endpointsResponse: array of {status, title, stages[]}
curl "{{baseUrl}}/api/v1/company/pipeline-tree" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| status | path | string | required | Pipeline status (e.g. customers) |
Response: array of {stage, title}
curl "{{baseUrl}}/api/v1/company/stages/customers" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/company/tags?limit=50" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/company/users?limit=50" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| support | query | string | optional | Filter to support departments |
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/company/departments" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
curl "{{baseUrl}}/api/v1/company/locations" \
-H "access_token: {your_token}"
purchases
2 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
| contact_id | query | integer | optional | Filter by contact |
Response fields: id, title, price, discount, product_id, time, download
curl "{{baseUrl}}/api/v1/purchases?contact_id=42&limit=25" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Purchase ID |
curl -X POST "{{baseUrl}}/api/v1/purchases/15" \
-H "access_token: {your_token}"
files
2 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | optional | Results per page |
| offset | query | integer | optional | Pagination offset |
| contact_id | query | integer | optional | Filter by contact |
| filter_my | query | string | optional | Show only current user's videos |
| user_id | query | integer | optional | Filter by uploader user ID |
Response fields: id, title, uploaded_by_name, preview_image, video_url, publication_status_name, featured, published_time, share_buttons
curl "{{baseUrl}}/api/v1/media/videos?limit=25" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| file | binary | optional | File to upload |
Response: {"id": integer}
curl -X POST "{{baseUrl}}/api/v1/file-upload/generic-multipart" \
-H "access_token: {your_token}" \
-F "file=@/path/to/document.pdf"
my account
3 endpointscurl "{{baseUrl}}/api/v1/account/profile" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/account/sendvideourl" \
-H "access_token: {your_token}"
social
11 endpointscurl "{{baseUrl}}/api/v1/social/facebook/connect-url" \
-H "access_token: {your_token}"
curl -X DELETE "{{baseUrl}}/api/v1/social/facebook/current" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/social/email/connect-url" \
-H "access_token: {your_token}"
curl -X DELETE "{{baseUrl}}/api/v1/social/email/current" \
-H "access_token: {your_token}"
Response fields: calendar_token, title
curl "{{baseUrl}}/api/v1/social/email/calendars" \
-H "access_token: {your_token}"
| Field | Type | Required | Description |
|---|---|---|---|
| calendar_token | string | required | Token from the calendars list |
curl -X POST "{{baseUrl}}/api/v1/social/email/calendars/current" \
-H "access_token: {your_token}" \
-H "Content-Type: application/json" \
-d '{"calendar_token": "primary"}'
curl -X DELETE "{{baseUrl}}/api/v1/social/email/calendars/current" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/social/twitter/connect-url" \
-H "access_token: {your_token}"
curl -X DELETE "{{baseUrl}}/api/v1/social/twitter/current" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/social/linkedin/connect-url" \
-H "access_token: {your_token}"
curl -X DELETE "{{baseUrl}}/api/v1/social/linkedin/current" \
-H "access_token: {your_token}"
content
15 endpointscurl "{{baseUrl}}/api/v1/content/plans" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/content/products" \
-H "access_token: {your_token}"
curl "{{baseUrl}}/api/v1/content/socialcontent" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Plan ID |
curl -X POST "{{baseUrl}}/api/v1/content/plan/3/facebook" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Plan ID |
curl -X POST "{{baseUrl}}/api/v1/content/plan/3/twitter" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Plan ID |
curl -X POST "{{baseUrl}}/api/v1/content/plan/3/linkedin" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Plan ID |
curl -X POST "{{baseUrl}}/api/v1/content/plan/3/sms" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Product ID |
curl -X POST "{{baseUrl}}/api/v1/content/product/8/facebook" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Product ID |
curl -X POST "{{baseUrl}}/api/v1/content/product/8/twitter" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Product ID |
curl -X POST "{{baseUrl}}/api/v1/content/product/8/linkedin" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Product ID |
curl -X POST "{{baseUrl}}/api/v1/content/product/8/sms" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Social content ID |
curl -X POST "{{baseUrl}}/api/v1/content/socialcontent/12/facebook" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Social content ID |
curl -X POST "{{baseUrl}}/api/v1/content/socialcontent/12/twitter" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Social content ID |
curl -X POST "{{baseUrl}}/api/v1/content/socialcontent/12/linkedin" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | required | Social content ID |
curl -X POST "{{baseUrl}}/api/v1/content/socialcontent/12/sms" \
-H "access_token: {your_token}"
templates
3 endpoints| Name | In | Type | Required | Description |
|---|---|---|---|---|
| type | path | string | required | email | text |
curl "{{baseUrl}}/api/v1/templates/categories/email" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category_id | path | integer | required | Template category ID |
curl "{{baseUrl}}/api/v1/templates/for-email/2" \
-H "access_token: {your_token}"
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category_id | path | integer | required | Template category ID |
curl "{{baseUrl}}/api/v1/templates/for-text/4" \
-H "access_token: {your_token}"