openapi: 3.2.0 info: title: Explorer CRM Actions API description: The entire API V2 documentation is interactive and can be tested here. To the right side of every endpoint you will see a box with an example request. You can click on the "Try it" button to send a request to the server right from the docs. You will need to provide an API key by clicking the `ApiKeyAuth_token` blue text. version: 2.0.0 servers: - url: https://api.instantly.ai description: Instantly API Server security: - ApiKeyAuth: [] tags: - name: CRMActions description: CRM related actions x-group: CRM Actions paths: /api/v2/crm-actions/phone-numbers: get: operationId: listPhoneNumbers summary: List phone numbers tags: - CRMActions description: 'Retrieve all phone numbers associated with the current organization. Requires one of the following scopes: `crm_actions:read`, `crm_actions:all`, `all:read`, `all:all`' responses: '200': description: Default Response content: application/json: schema: type: array items: type: object properties: id: type: string description: Unique identifier of the phone number record. example: 019ffad2-9bc5-721c-93a2-b2d6078d7bff timestamp_created: type: string format: date-time description: Timestamp when the phone number record was created. example: '2026-08-13T11:12:14.277Z' organization_id: type: string description: Identifier of the organization that owns this phone number. example: 019ffad2-9bc5-721c-93a2-b2d71c075939 phone_number: type: string description: The phone number in international E.164 format. example: '+15551234567' country: type: string description: Country code where the phone number is registered. example: US locality: type: string description: City or region associated with the phone number. example: San Francisco subscription_id: type: string description: Billing subscription ID linked to this phone number. example: sub_1PuaE1B3VEKBA0ygDAKk7QVc twilio_sid: type: string description: Twilio resource SID for the phone number. example: PN998dda028e07a49c8038b2206341d463 renewal_date: type: string format: date description: Next renewal date for the phone number subscription. example: '2026-08-13T11:12:14.277Z' price: type: number description: Monthly price for this phone number (USD). example: 1 '401': description: This request is unauthorized (either the Authorization header is missing or invalid, or the API key has been revoked) content: application/json: schema: type: object properties: statusCode: type: number enum: - 401 examples: - 401 example: 401 error: type: string enum: - Unauthorized examples: - Unauthorized example: Unauthorized message: type: string examples: - Missing Authorization header example: Missing Authorization header required: - statusCode - error - message '402': description: This request cannot be fulfilled because the workspace does not have an active paid plan content: application/json: schema: type: object properties: statusCode: type: number enum: - 402 examples: - 402 example: 402 error: type: string enum: - Payment Required examples: - Payment Required example: Payment Required message: type: string examples: - Workspace does not have an active paid plan example: Workspace does not have an active paid plan required: - statusCode - error - message '404': description: The requested resource was not found content: application/json: schema: type: object properties: statusCode: type: number enum: - 404 examples: - 404 example: 404 error: type: string enum: - Not Found examples: - Not Found example: Not Found message: type: string examples: - Resource not found example: Resource not found required: - statusCode - error - message '429': description: You have exceeded the rate limit. Please check the rate limit docs for more information. content: application/json: schema: type: object properties: statusCode: type: number enum: - 429 examples: - 429 example: 429 error: type: string enum: - Too Many Requests examples: - Too Many Requests example: Too Many Requests message: type: string examples: - Rate limit exceeded example: Rate limit exceeded required: - statusCode - error - message /api/v2/crm-actions/phone-numbers/{id}: delete: operationId: deletePhoneNumber summary: Delete phone number tags: - CRMActions description: 'Delete a specific phone number from the organization. Requires one of the following scopes: `crm_actions:delete`, `crm_actions:all`, `all:delete`, `all:all`' parameters: - schema: type: string example: 019ffad2-9bc6-7ab6-a6df-429c878f0cf6 example: 019ffad2-9bc6-7ab6-a6df-429c878f0cf6 in: path name: id required: true description: The phone number record id to delete responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string description: Unique identifier of the deleted phone number record. example: 019ffad2-9bc6-7ab6-a6df-429d2e8fd925 timestamp_created: type: string format: date-time description: Timestamp when the deleted record was originally created. example: '2026-08-13T11:12:14.278Z' organization_id: type: string description: Identifier of the organization that owned the phone number. example: 019ffad2-9bc6-7ab6-a6df-429ea3825b7b phone_number: type: string description: The deleted phone number. example: '+15551234567' country: type: string description: Country code of the deleted phone number. example: US locality: type: string description: Region or city associated with the deleted phone number. example: San Francisco subscription_id: type: string description: Billing subscription ID associated with this number (if any). example: sub_1PuaE1B3VEKBA0ygDAKk7QVc twilio_sid: type: string description: Twilio SID of the deleted number. example: PN998dda028e07a49c8038b2206341d463 '401': description: This request is unauthorized (either the Authorization header is missing or invalid, or the API key has been revoked) content: application/json: schema: type: object properties: statusCode: type: number enum: - 401 examples: - 401 example: 401 error: type: string enum: - Unauthorized examples: - Unauthorized example: Unauthorized message: type: string examples: - Missing Authorization header example: Missing Authorization header required: - statusCode - error - message '402': description: This request cannot be fulfilled because the workspace does not have an active paid plan content: application/json: schema: type: object properties: statusCode: type: number enum: - 402 examples: - 402 example: 402 error: type: string enum: - Payment Required examples: - Payment Required example: Payment Required message: type: string examples: - Workspace does not have an active paid plan example: Workspace does not have an active paid plan required: - statusCode - error - message '404': description: The requested resource was not found content: application/json: schema: type: object properties: statusCode: type: number enum: - 404 examples: - 404 example: 404 error: type: string enum: - Not Found examples: - Not Found example: Not Found message: type: string examples: - Resource not found example: Resource not found required: - statusCode - error - message '429': description: You have exceeded the rate limit. Please check the rate limit docs for more information. content: application/json: schema: type: object properties: statusCode: type: number enum: - 429 examples: - 429 example: 429 error: type: string enum: - Too Many Requests examples: - Too Many Requests example: Too Many Requests message: type: string examples: - Rate limit exceeded example: Rate limit exceeded required: - statusCode - error - message components: securitySchemes: ApiKeyAuth: type: http scheme: bearer