Call Management API Documentation
These endpoints let you retrieve your Missed Calls, Incoming Answered Calls, and Outgoing Calls synced from the SMSMobileAPI mobile app into your dashboard + API.
Important: if the mobile app runs in the background, the phone system may impose a delay (often up to ~10 minutes) between synchronizations. You can always open the app to sync manually if needed.
Quickstart
Base URL
Examples
Authentication
Call Management endpoints authenticate using the apikey query parameter.
Common concepts
Pagination
Use limit and offset to paginate results.
Timestamps
- call_date_ms is a UNIX timestamp in milliseconds.
- call_datetime_utc is stored as a UTC datetime string (database field).
- For Missed Calls, the API returns a formatted date string (derived from a milliseconds value).
Search
- Missed calls: search matches number or name.
- Incoming/Outgoing: q matches phone_number or cached_name.
Sorting (Incoming/Outgoing only)
Sorting is controlled by sort_by + sort_dir (whitelisted fields only). Missed calls are always ordered by newest first.
Errors
| HTTP | Example error | Meaning |
|---|---|---|
| 400 | {"success":false,"error":"missing_apikey"} | Missing or empty apikey. |
| 403 | {"success":false,"error":"invalid_apikey"} | API key not found / not recognized. |
| 403 | {"success":false,"error":"api_expired"} | Your subscription is expired (dateLimit is before today). |
| 500 | {"success":false,"error":"server_error","detail":"..."} | Server error (database, SQL, exception). |
Note: the Missed Calls endpoint can also return messages like Missing apikey or SQL preparation errors depending on the situation.
Missed Calls – List
Retrieve missed calls synchronized from the mobile device.
Endpoint
Query parameters
| Parameter | Type | Description |
|---|---|---|
| apikey | string | Required Your API key linked to the mobile phone. |
| offset | int | Optional Pagination offset (default: 0). |
| limit | int | Optional Max rows (default: 100, max: 500). |
| search | string | Optional Search by number or name (SQL LIKE). |
| date_start | YYYY-MM-DD | Optional Filter from this day (00:00:00). |
| date_end | YYYY-MM-DD | Optional Filter up to this day (23:59:59). |
Incoming Calls – List
Retrieve incoming answered calls synchronized from the mobile device.
Endpoint
Query parameters
| Parameter | Type | Description |
|---|---|---|
| apikey | string | Required Your API key (validated against subscription). |
| limit | int | Optional Rows per page (default: 50, max: 200). |
| offset | int | Optional Pagination offset (default: 0). |
| sort_by | string | Optional Allowed: call_date_ms call_datetime_utc duration_sec phone_number created_at cached_name geo_location |
| sort_dir | asc|desc | Optional Default: desc. |
| date_from_ms | int (ms) | Optional Filter where call_date_ms >= date_from_ms. |
| date_to_ms | int (ms) | Optional Filter where call_date_ms <= date_to_ms. |
| q | string | Optional Search on phone_number or cached_name (LIKE). |
Outgoing Calls – List
Retrieve outgoing calls synchronized from the mobile device.
Endpoint
Query parameters
Same parameters and behavior as Incoming Calls.
| Parameter | Type | Description |
|---|---|---|
| apikey | string | Required Your API key (validated against subscription). |
| limit | int | Optional Rows per page (default: 50, max: 200). |
| offset | int | Optional Pagination offset (default: 0). |
| sort_by | string | Optional Allowed: call_date_ms call_datetime_utc duration_sec phone_number created_at cached_name geo_location |
| sort_dir | asc|desc | Optional Default: desc. |
| date_from_ms | int (ms) | Optional Filter where call_date_ms >= date_from_ms. |
| date_to_ms | int (ms) | Optional Filter where call_date_ms <= date_to_ms. |
| q | string | Optional Search on phone_number or cached_name (LIKE). |
Missed call fields
| Field | Type | Description |
|---|---|---|
| success | bool | Request status. |
| offset | int | Pagination offset returned. |
| limit | int | Pagination limit returned. |
| count | int | Number of rows returned in data. |
| data | array | List of missed calls. |
| data[].number | string | Caller phone number. |
| data[].name | string | Cached contact name (may be empty). |
| data[].date | string | Formatted datetime string derived from a milliseconds timestamp. |
Incoming/Outgoing fields
| Field | Type | Description |
|---|---|---|
| success | bool | Request status. |
| apikey | string | Echoed back by API (your key). |
| limit | int | Rows per page returned. |
| offset | int | Pagination offset returned. |
| sort_by | string | Applied sort field. |
| sort_dir | string | Applied sort direction. |
| filters | object | Echoed filters (date_from_ms, date_to_ms, q). |
| count | int | Number of rows returned in rows. |
| rows | array | List of calls. |
| rows[].phone_number | string | Phone number. |
| rows[].cached_name | string|null | Cached contact name (can be null). |
| rows[].call_date_ms | int | Call timestamp in milliseconds. |
| rows[].call_datetime_utc | string | UTC datetime field (database). |
| rows[].duration_sec | int | Duration in seconds. |
| rows[].geo_location | string|null | Geo location label (can be null/empty). |
| rows[].created_at | string | Server insertion timestamp. |
