Download OpenAPI specification:Download
Comprehensive API for managing DIDs (phone numbers), groups, spam checks, and user accounts for the DialB service. Provides endpoints for single and bulk spam checks, job management for asynchronous operations, DID and group CRUD operations, API key management, and user account details.
Authenticates a user with email and password, returning a session token (API key).
email required | string <email> |
password required | string <password> |
{- "email": "user@example.com",
- "password": "pa$$word"
}
{- "token": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "expires_at": "2019-08-24T14:15:22Z"
}
Retrieves detailed information for the authenticated user, including profile, limits, and rate limit usage.
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "role": "client",
- "is_active": true,
- "daily_limit": 0,
- "weekly_limit": 0,
- "monthly_limit": 0,
- "can_use_tmobile": true,
- "can_use_att": true,
- "can_use_third_party": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "daily_lookups_used": 0,
- "daily_lookups_remaining": 0,
- "weekly_lookups_used": 0,
- "weekly_lookups_remaining": 0,
- "monthly_lookups_used": 0,
- "monthly_lookups_remaining": 0
}
Generates a new API key for the authenticated user.
Optional description and expiration for the new API key.
description | string or null |
expires_at | string or null <date-time> ISO 8601 timestamp string. |
{- "description": "string",
- "expires_at": "2019-08-24T14:15:22Z"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_prefix": "string",
- "description": "string",
- "type": "string",
- "is_active": true,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "last_used_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "apiKey": "string",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Lists metadata for all API keys belonging to the authenticated user.
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "key_prefix": "string",
- "description": "string",
- "type": "string",
- "is_active": true,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "last_used_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Permanently deletes a specific API key. This action is irreversible.
keyId required | string <uuid> ID of the API key to permanently delete. |
{- "error": "string",
- "details": { }
}
Initiates an asynchronous job to export DIDs based on specified filters.
required | object (DIDExportFilters) |
excludedIds | Array of strings or null <uuid> List of DID IDs to exclude from the export. |
{- "filters": {
- "searchNumber": "string",
- "groupId": "string",
- "overallStatus": "Clean"
}, - "excludedIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{- "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
- "message": "string",
- "status": "Pending",
- "createdAt": "2019-08-24T14:15:22Z"
}
Initiates an asynchronous job to import DIDs. Accepts either a JSON payload with 'pastedNumbers' or multipart/form-data with a 'file'.
pastedNumbers required | string A string containing numbers, typically newline or comma separated. |
targetGroupId | string or null <uuid> Optional ID of an existing group to import DIDs into. |
newGroupName | string or null Optional name for a new group to be created for these DIDs. |
trackSpam required | boolean Whether to track spam status for these DIDs. |
{- "pastedNumbers": "string",
- "targetGroupId": "48ef2c38-9f7c-40bd-9b53-7e9ad33e6373",
- "newGroupName": "string",
- "trackSpam": true
}
{- "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
- "message": "string"
}
Synchronously imports a list of DIDs into a specified group. Might be deprecated.
phoneNumbers required | Array of strings |
groupId required | string <uuid> |
{- "phoneNumbers": [
- "string"
], - "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55"
}
{- "message": "string",
- "totalInRequest": 0,
- "uniqueValidProcessed": 0,
- "createdCount": 0,
- "alreadyExistedCount": 0,
- "ignoredFromRequestCount": 0
}
Lists DIDs for the authenticated user with pagination and filtering.
page | integer Default: 1 |
pageSize | integer Default: 10 |
exportAll | boolean Default: false |
groupId | string <uuid> |
searchNumber | string |
overallStatus | string (OverallDIDStatus) Enum: "Clean" "Spam" "Failed" Overall consolidated spam status for a DID. |
sortBy | string Default: "created_at" Enum: "phone_number" "group_name" "latest_overall_status" "last_checked_at" "created_at" "updated_at" |
sortOrder | string Default: "desc" Enum: "asc" "desc" |
{- "pagination": {
- "page": 0,
- "pageSize": 0,
- "totalPages": 0,
- "totalResults": 0
}, - "results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "phone_number": "string",
- "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
- "group_name": "string",
- "latest_tmobile_status": "true",
- "latest_att_status": "true",
- "latest_third_party_status": "true",
- "latest_overall_status": "Clean",
- "last_checked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Retrieves statistics about DIDs, e.g., count of spam DIDs in a period.
status | string (OverallDIDStatus) Enum: "Clean" "Spam" "Failed" Filter by overall status (Spam, Clean, Failed). |
period | string Default: "all" Time period for stats (e.g., "7d", "30d", "all"). |
{- "count": 0
}
Assigns multiple DIDs to a specified group.
did_ids required | Array of strings <uuid> |
group_id required | string <uuid> |
{- "did_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f"
}
{- "message": "string",
- "updatedCount": 0,
- "notFoundCount": 0
}
Deletes multiple DIDs.
did_ids required | Array of strings <uuid> |
{- "did_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{- "message": "string",
- "deletedCount": 0,
- "notFoundCount": 0
}
Retrieves details for a specific DID.
didId required | string <uuid> ID of the DID. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "phone_number": "string",
- "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
- "group_name": "string",
- "latest_tmobile_status": "true",
- "latest_att_status": "true",
- "latest_third_party_status": "true",
- "latest_overall_status": "Clean",
- "last_checked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the group assignment for a specific DID.
didId required | string <uuid> ID of the DID to update. |
groupId required | string <uuid> |
{- "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "phone_number": "string",
- "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
- "group_name": "string",
- "latest_tmobile_status": "true",
- "latest_att_status": "true",
- "latest_third_party_status": "true",
- "latest_overall_status": "Clean",
- "last_checked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves the spam check history for a specific DID, paginated.
didId required | string <uuid> ID of the DID. |
page | integer Default: 1 |
pageSize | integer Default: 10 |
{- "pagination": {
- "page": 0,
- "pageSize": 0,
- "totalPages": 0,
- "totalResults": 0
}, - "results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "check_request_id": "6c19bf2d-4215-41d6-afb9-97b421dc3334",
- "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
- "tmobile_status": "true",
- "att_status": "true",
- "third_party_status": "true",
- "overall_status": "Clean",
- "checked_at": "2019-08-24T14:15:22Z"
}
]
}
Creates a new group for organizing DIDs.
name required | string |
{- "name": "string"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "total_dids": 0,
- "spam_dids": 0,
- "clean_dids": 0,
- "failed_dids": 0
}
Lists all groups for the authenticated user with pagination and DID counts.
page | integer Default: 1 |
pageSize | integer Default: 10 |
{- "pagination": {
- "page": 0,
- "pageSize": 0,
- "totalPages": 0,
- "totalResults": 0
}, - "results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "total_dids": 0,
- "spam_dids": 0,
- "clean_dids": 0,
- "failed_dids": 0
}
]
}
Retrieves details for a specific group.
groupId required | string <uuid> ID of the group. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "total_dids": 0,
- "spam_dids": 0,
- "clean_dids": 0,
- "failed_dids": 0
}
Updates the name of a specific group.
groupId required | string <uuid> ID of the group to update. |
name required | string |
{- "name": "string"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "total_dids": 0,
- "spam_dids": 0,
- "clean_dids": 0,
- "failed_dids": 0
}
Deletes a specific group. If the group contains DIDs, an 'action' query parameter is required:
action=delete_dids
: Deletes all DIDs in the group, then the group.action=reassign_dids&new_group_id=<uuid>
: Reassigns DIDs to new_group_id
, then deletes the group.
The 'Uncategorized' group cannot be deleted.groupId required | string <uuid> ID of the group to delete. |
action | string Enum: "delete_dids" "reassign_dids" Action to take if the group is not empty ('delete_dids' or 'reassign_dids'). |
new_group_id | string <uuid> ID of the group to reassign DIDs to (required if action=reassign_dids). |
{- "error": "string",
- "details": { }
}
Performs a spam check on a single phone number.
phoneNumber required | string The phone number to check. |
groupId | string or null <uuid> Optional group ID to associate the DID with. |
{- "phoneNumber": "string",
- "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55"
}
{- "phoneNumber": "string",
- "tmobileStatus": "true",
- "attStatus": "true",
- "thirdPartyStatus": "true",
- "overallStatus": "Clean",
- "usage": {
- "dailyLookupsLeft": 0,
- "weeklyLookupsLeft": 0,
- "monthlyLookupsLeft": 0
}
}
Initiates an asynchronous bulk spam check job for a list of phone numbers or DIDs in a group.
phoneNumbers | Array of strings List of phone numbers to check. Max 10,000. |
groupId | string or null <uuid> Optional group ID. If provided and phoneNumbers is empty, all DIDs in this group will be checked. |
{- "phoneNumbers": [
- "string"
], - "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55"
}
{- "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
- "message": "string",
- "count": 0
}
Initiates an asynchronous bulk spam check job for DIDs matching specified filters.
object (DIDExportFilters) | |
excluded_ids | Array of strings or null <uuid> List of DID IDs to exclude from the filtered check. |
{- "filters": {
- "searchNumber": "string",
- "groupId": "string",
- "overallStatus": "Clean"
}, - "excluded_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{- "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
- "message": "string"
}
Lists all jobs for the authenticated user with pagination.
page | integer Default: 1 Page number for pagination. |
pageSize | integer Default: 10 Number of items per page. |
{- "pagination": {
- "page": 0,
- "pageSize": 0,
- "totalPages": 0,
- "totalResults": 0
}, - "results": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
- "type": "BulkCheck",
- "status": "Pending",
- "total_numbers": 0,
- "processed_numbers": 0,
- "successfully_checked_numbers": 0,
- "failed_check_numbers": 0,
- "spamNumbers": 0,
- "cleanNumbers": 0,
- "group_name": "string",
- "file_path": "string",
- "file_error": "string",
- "input_type": "string",
- "original_file_name": "string",
- "new_group_name": "string",
- "track_spam": true,
- "total_in_request": 0,
- "unique_valid_processed": 0,
- "dids_created_count": 0,
- "dids_updated_count": 0,
- "dids_ignored_count": 0,
- "dids_failed_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "user_deleted_at": "2019-08-24T14:15:22Z"
}
]
}
Retrieves the status and details of a specific job.
jobId required | string <uuid> ID of the job to retrieve. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
- "type": "BulkCheck",
- "status": "Pending",
- "total_numbers": 0,
- "processed_numbers": 0,
- "successfully_checked_numbers": 0,
- "failed_check_numbers": 0,
- "spamNumbers": 0,
- "cleanNumbers": 0,
- "group_name": "string",
- "file_path": "string",
- "file_error": "string",
- "input_type": "string",
- "original_file_name": "string",
- "new_group_name": "string",
- "track_spam": true,
- "total_in_request": 0,
- "unique_valid_processed": 0,
- "dids_created_count": 0,
- "dids_updated_count": 0,
- "dids_ignored_count": 0,
- "dids_failed_count": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "user_deleted_at": "2019-08-24T14:15:22Z"
}
Retrieves the results of a completed bulk check job, with pagination or full export.
jobId required | string <uuid> ID of the job. |
page | integer Default: 1 Page number for paginated results. Not used if exportAll=true. |
pageSize | integer Default: 10 Number of results per page. Not used if exportAll=true. |
exportAll | boolean Default: false Set to 'true' to export all results. |
format | string Default: "csv" Enum: "csv" "txt" Export format ('csv' or 'txt'). Used only if exportAll=true. |
{- "pagination": {
- "page": 0,
- "pageSize": 0,
- "totalPages": 0,
- "totalResults": 0
}, - "results": [
- {
- "phoneNumber": "string",
- "tmobileStatus": "true",
- "attStatus": "true",
- "thirdPartyStatus": "true",
- "overallStatus": "Clean"
}
]
}