openapi: 3.2.0 info: title: Vonage Reports API version: 3.1.4 contact: name: Vonage DevRel url: https://developer.vonage.com/ email: devrel@vonage.com license: name: The MIT License (MIT) url: https://opensource.org/licenses/MIT termsOfService: https://www.nexmo.com/terms-of-use x-metaDescription: Find quick answers to questions about the Vonage Reports API in this reference guide. Learn more in Vonage's API documentation. x-metaTitle: Vonage Reports API Reference | Vonage API Documentation description: 'Operations tagged Reports across 2 of this provider''s published API definitions: vonage-reports-openapi.json, vonage-reports-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.nexmo.com description: Production server security: - basicAuth: [] tags: - name: Reports paths: /v2/reports/records: get: summary: Load records synchronously description: 'Generate and immediately return report data synchronously. Supports query parameters for filtering. For large datasets, consider using asynchronous reports instead. Two query modes are supported: date-based queries (using date_start/date_end) or ID-based queries (using the id parameter). Only synchronous version supports retrival of data records by message/record ID. When using ID queries, only a limited subset of parameters are allowed: product, account_id, direction, id, include_message, show_concatenated.' operationId: createSyncReportPublic parameters: - name: product in: query description: The product to return records for. required: true schema: type: string enum: - SMS - SMS-TRAFFIC-CONTROL - VOICE-CALL - VOICE-FAILED - VOICE-TTS - IN-APP-VOICE - WEBSOCKET-CALL - ASR - AMD - VERIFY-API - VERIFY-V2 - NUMBER-INSIGHT - CONVERSATION-EVENT - CONVERSATION-MESSAGE - MESSAGES - VIDEO-API - NETWORK-API-EVENT - REPORTS-USAGE - name: account_id in: query description: The account ID (API key) you wish to search for. This can differ from the API key in the authorization header because some accounts can request reports for other accounts, e.g. a primary account owner wants to create a report for one of its subaccounts. required: true schema: type: string - name: date_start in: query description: "ISO-8601 extended time zone offset or ISO-8601 UTC zone offset formatted date (format `yyyy-mm-ddThh:mm:ss[.sss]±hh:mm` or `yyyy-mm-ddThh:mm:ss[.sss]Z`) for when reports \n should begin. It filters on the time the API call was received by Vonage and corresponds to the field `date_received` (`date_start` for Voice) in the report file. It is\n inclusive, i.e. the provided value is less than or equal to the value in the field `date_received` (`date_start` for Voice) in the CDR.
If unspecified, defaults\n to seven days ago." schema: type: string - name: date_end in: query description: "ISO-8601 extended time zone offset or ISO-8601 UTC zone offset formatted date (format `yyyy-mm-ddThh:mm:ss[.sss]±hh:mm` or `yyyy-mm-ddThh:mm:ss[.sss]Z`) for when report should end.\n It is exclusive, i.e. the provided value is strictly greater than the value in the field `date_received` in the CDR.
If unspecified, defaults to the current time." schema: type: string - name: cursor in: query description: Pagination cursor for retrieving the next page of results (date-based queries only) schema: type: string - name: iv in: query description: Initialization vector for encrypted cursor pagination (date-based queries only) schema: type: string - name: id in: query description: 'The UUID of the message or call to be searched for. You can specify a comma-separated list of UUIDs (maximum 20 UUIDs). If UUIDs are not found they are listed in the response in the `ids_not_found` field. When the `id` parameter is specified, only the following parameters are accepted: `product`, `account_id`, `direction`, `include_message` and `show_concatenated`.' schema: type: string - name: direction in: query description: Direction of the communication, either `inbound` (received by our services), or `outbound` (originated from our services). Required for products `SMS` and `MESSAGES`. Optional for `VOICE-CALL`,`VOICE-FAILED`, `ASR`. schema: type: string enum: - inbound - outbound - name: status in: query description: Status of the event. Optional for `SMS`, `CONVERSATION-EVENT`, `IN-APP-VOICE`, `MESSAGES`, `VOICE-CAL`, `VERIFY-V2`. schema: type: string - name: from in: query description: Sender ID/number. Optional for `SMS`, `MESSAGES`, `VOICE-CALL`, `VOICE-FAILED`, `ASR`. schema: type: string - name: to in: query description: Recipient phone number. Optioanl for `SMS`, `VOICE-CALL`, `VOICE-FAILED`, `ASR`, `MESSAGES`, `VERIFY-API`, `VERIFY-V2`. schema: type: string - name: country in: query description: Country code filter. Optional for `SMS`, `VOICE-CALL`, `VOICE-FAILED`, `ASR`, `MESSAGES`, `VERIFY-API`, `VERIFY-V2`, `NUMBER-INSIGHT`, `NETWORK-API-EVENT`. schema: type: string - name: network in: query description: Mobile network code filter. Optional for `SMS`, `VOICE-CALL`, `VOICE-FAILED`, `ASR`, `VERIFY-API`, `VERIFY-V2`, `NUMBER-INSIGHT`, `NETWORK-API-EVENT`. schema: type: string - name: number in: query description: Phone number for lookup. Optional for `NUMBER-INSIGHT`. schema: type: string - name: locale in: query description: Language/locale. Optional for `VERIFY-API`, `VERIFY-V2`. schema: type: string - name: include_message in: query description: Include message content in response. Optional for `SMS`, `MESSAGES`. schema: type: boolean - name: show_concatenated in: query description: A boolean flag that determines whether the `concatenated` field is included in the report. Optional for `SMS` with `direction=outbound`. schema: type: boolean - name: account_ref in: query description: Account reference. Optional for `SMS`. schema: type: string - name: call_id in: query description: Unique call identifier. Optional for `AMD`, `ASR`, `VOICE-CALL`, `VOICE-FAILED`, `VOICE-TTS`, `WEBSOCKET-CALL`. schema: type: string - name: leg_id in: query description: Unique leg identifier for the call. Optional for `IN-APP-VOICE`. schema: type: string - name: provider in: query description: Messaging provider. Optional for `MESSAGES`. schema: type: string enum: - whatsapp - sms - mms - messenger - viber_service_msg - instagram - rcs - email - name: number_type in: query description: Number type. Optional for `VERIFY-API`. schema: type: string - name: channel in: query description: Verification channel. Optional for `VERIFY-V2`. schema: type: string enum: - v2 - email - silent_auth - name: parent_request_id in: query description: Filter by parent request ID, which correlates `v2` verification requests with their associated `email` or `silent_auth` events. Optional for `VERIFY-V2`. schema: type: string - name: request_type in: query description: Type of Request. Optional for `NETWORK-API-EVENT`. schema: type: string - name: risk in: query description: Risk assessment level. schema: type: string - name: swapped in: query description: Whether the number has been ported/swapped. schema: type: boolean - name: conversation_id in: query description: Conversation ID. Optional for `CONVERSATION-EVENT`, `CONVERSATION-MESSAGE`, `IN-APP-VOICE`. schema: type: string - name: session_id in: query description: Session ID. Optional for `VIDEO-API`. schema: type: string - name: meeting_id in: query description: Meeting ID. Optional for `VIDEO-API`. schema: type: string - name: product_name in: query description: Product name for Network API event. Optional for `NETWORK-API-EVENT`. schema: type: string - name: request_session_id in: query description: Session ID for Network API. Optional for `NETWORK-API-EVENT`. schema: type: string - name: product_path in: query description: API path. Optional for `NETWORK-API-EVENT`. schema: type: string - name: correlation_id in: query description: Correlation ID. Optional for `NETWORK-API-EVENT`. schema: type: string responses: '200': $ref: '#/components/responses/ReportsRecords200' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '422': $ref: '#/components/responses/422' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' security: - basicAuth: [] tags: - Reports servers: - url: https://api.nexmo.com description: Production server /v2/reports: post: summary: Create an asynchronous report description: Creates an asynchronous report generation request. The report will be processed in the background and you can check its status using the returned report ID. The API returns a combination of the standard required fields and those specified in the input payload. operationId: createAsyncReportPublic requestBody: description: Report request parameters content: application/json: schema: $ref: '#/components/schemas/AnyAsyncRequestParams' required: true responses: '200': $ref: '#/components/responses/ReportsAsync200' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '422': $ref: '#/components/responses/422' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' security: - basicAuth: [] tags: - Reports servers: - url: https://api.nexmo.com description: Production server /v2/reports/{reportId}: get: summary: Get status of report description: 'Retrieve the status and details of an asynchronous report using its report ID. Note that there is a data retention period of 4 days, so reports older than 4 days will not be able to be retrieved.' operationId: getAsyncReportPublic parameters: - name: reportId in: path description: Unique identifier of the report (`request_id` in response). required: true schema: type: string example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab responses: '200': $ref: '#/components/responses/ReportStatus200' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' security: - basicAuth: [] tags: - Reports delete: summary: Cancel the execution of a report description: Abort a pending or processing asynchronous report. Reports that are already completed cannot be aborted. operationId: abortAsyncReportPublic parameters: - name: reportId in: path description: Unique identifier of the report to abort (`request_id` in response). required: true schema: type: string example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab responses: '200': $ref: '#/components/responses/ReportDelete200' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '409': $ref: '#/components/responses/409' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' security: - basicAuth: [] tags: - Reports servers: - url: https://api.nexmo.com description: Production server components: schemas: ConversationMessageFields: type: object properties: conversation_id: type: string description: Conversation ID example: CON-d01afdc1-7f8c-49d8-9fc0-e92854xxxxx description: Conversation Message API ConversationMessageReportResponse: description: Conversation Message allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/CONVERSATION-MESSAGE_ASYNC' VoiceAsrRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 call_id: type: string description: UUID of the call request example: dfc0c915f38ae6701d7d114cde2556b1-1 direction: type: string description: 'Direction of the call, either inbound or outbound. One of: inbound or outbound' example: outbound from: type: string description: The number of the caller requested to be used by the Customer. example: '12345678912' to: type: string description: The dialed number in a call. For an inbound call, this will be the virtual number. example: '12345678912' call_date_start: type: string description: 'ASR start time (explanation from voice team). Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' date_start: type: string description: 'Event record start (creation) time. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' date_end: type: string description: 'Event end time. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' duration: type: string description: Duration of call example: '6' status: type: string description: Call status example: ok status_description: type: string description: Call status description example: 'ERR1: Failed to analyze audio' currency: type: string description: Currency of the price of the ASR event example: EUR price: type: string description: Price of the ASR event example: '0.018662' total_price: type: string description: Total price of the ASR event example: '0.018662' asr_type: type: string description: Indicates the quality of the ASR service applied to the event. Can be one of standard or premier. enum: - standard - premier example: standard id: type: string description: The unique id of the record in the report example: ebbe1234-da56-78a9-9d5c-3da9787c5720 description: Voice ASR WEBSOCKET-CALL_ASYNC: description: Voice WebSocket Call allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/WebsocketFields' - type: object properties: product: type: string example: WEBSOCKET-CALL enum: - WEBSOCKET-CALL SmsTrafficControlRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 12aa3456 queued_time: type: string description: 'Date and time when messaged was placed in Vonage queue. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-07-17T12:34:56+00:00' message_id: type: string description: Vonage's unique identifier for this message example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab status: type: string description: 'Either queued in Vonage or dequeued in Vonage. Possible values: queued, dequeued' example: queued queue_duration: type: string description: Duration of staying in queue in milliseconds example: '100' id: type: string description: The unique id of the record in the report example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab description: SMS Traffic Control AMD_ASYNC: description: Voice AMD (Advanced Machine Detection) allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/AmdFields' - type: object properties: product: type: string example: AMD enum: - AMD VERIFY-API_ASYNC: description: Verify v1 allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/VerifyV1Fields' - type: object properties: product: type: string example: VERIFY-API enum: - VERIFY-API NUMBER-INSIGHT_ASYNC: description: Number Insight v1 allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/NIV1Fields' - type: object properties: product: type: string example: NUMBER-INSIGHT enum: - NUMBER-INSIGHT ConversationsEventRecordsResponse: description: Conversations Event allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: CONVERSATION-EVENT enum: - CONVERSATION-EVENT - type: object properties: records: type: array description: List of Conversations event records items: $ref: '#/components/schemas/ConversationsEventRecord' VideoApiRecordsResponse: description: Video API allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: VIDEO-API enum: - VIDEO-API - type: object properties: records: type: array description: List of Video API usage records items: $ref: '#/components/schemas/VideoApiRecord' NIV1Fields: type: object properties: number: type: string description: Phone number for Number Insight example: '447700900000' network: type: string description: Mobile network code example: '23420' description: Number Insight API VoiceInAppRecordsResponse: description: In-App Voice allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: IN-APP-VOICE enum: - IN-APP-VOICE - type: object properties: records: type: array description: List of in-app voice call records items: $ref: '#/components/schemas/VoiceInAppRecord' MessagesOutboundRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 message_id: type: string description: Vonage's unique identifier for this message example: a1aa2bcd-6a96-4a9b-bd9d-a72477238b22 client_ref: type: string description: If client-ref parameter were used by the Customer while calling Messages API, the value with Client's own reference will be shown in this field. example: my-personal-reference direction: type: string description: Direction of the message, either `inbound` or `outbound`. example: outbound from: type: string description: The phone number/account that this inbound message was sent from. example: '447700900001' to: type: string description: The phone number/account that the message was sent to. example: '447700900000' message_body: type: string description: Body of the message sent. Only present if include_message parameter is set to true example: Hello World! country: type: string description: The ISO two letter country code. For whatsapp provider available only for messages with status delivered/read. Not available for `viber` and `messenger` provider. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: ES country_name: type: string description: Country name of the country code. Might be UNKNOWN. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: Spain provider: type: string description: 'Provider of the message. Can be one of: `whatsapp`, `sms`, `mms`, `messenger`, `viber_service_msg`, `instagram`, `rcs`, `email`' example: whatsapp provider_error_code: type: string description: An error code sent to Vonage from the messaging channel's Provider as per availability example: '1020' network: type: string description: The network code of the destination phone number. Relevant and available for provider = `sms` or `mms`. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: 12345 MX-FIXED network_name: type: string description: The name of the network code. Relevant and available for provider = `sms` or `mms`. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: Airtel Nigeria session_type: type: string description: 'The WhatsApp conversation type. Examples: `authentication`, `utility`, `marketing`, `referral_conversion` or `service`. See details on Developer portal. Available only for Whatsapp messages with status `delivered` or `read`.' example: marketing session_id: type: string description: Unique conversation ID for whatsapp. {This may be used or other messaging channels in the future such as Viber} Available only for Whatsapp messages with status `delivered` or `read`. example: 12345ef678ce4595751dda993ef59c7e date_received: type: string description: 'Date when Vonage received Message API request. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' date_finalized: type: string description: 'Date when the message reached its current state. The state `read` is not considered. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h.' example: '2024-02-02T13:50:00+00:00' latency: type: string description: Latency of the message request in ms calculated as the difference between date_received and date_finalized. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: '67' status: type: string description: The state of message in the delivery process. The statuses are according to Messages API statuses. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: delivered error_code: type: string description: Error code of the message, available if status is `rejected`. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: '1020' currency: type: string description: Currency of the price of the message request. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: EUR estimated_price: type: string description: Price that was estimated before any delivery receipt (DR) was received. Not available for `whatsapp` provider. example: '0.036' total_price: type: string description: Price calculated after delivery receipt was received, so all the pricing rules are applied. For `WhatsApp` provider it includes both Vonage and Meta fees. In a `conversation` based pricing model, the total price for the entire conversation will be displayed in the first message. Subsequent messages in a conversation will have zero price. In a `per-message-pricing` model, the total price will hold a price for each message as per the type of message. For RCS Conversational pricing model (non-US), the price will be available with a delay of up to 48h example: '0.036' workflow_id: type: string description: Unique ID for the failover workflow. example: 3TcNjgZvTgbJ41bJGMiHQxf7s6UPsKUEnkhyY workflow_items_number: type: string description: Indicates the sequence of the messages sent (e.g. `1` for primary, `2` for the first failover). example: '1' workflow_items_total: type: string description: Total number of messages attempted in this workflow. example: '2' pricing_model: type: string description: Vonage pricing model applied. example: single message pricing_type: type: string description: Provider's pricing type. Available for WhatsApp only and showing Meta pricing type. example: standard id: type: string description: The UUID of the record in the report example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab tier_volume: $ref: '#/components/schemas/TierVolume' description: Messages (Outbound) AsrReportResponse: description: Voice ASR allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/ASR_ASYNC' VideoApiReportResponse: description: Video API allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/VIDEO-API_ASYNC' ReportsUsageFields: type: object description: Reports API usage statistics MessagesOutboundRecordsResponse: description: Messages (Outbound) allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: MESSAGES enum: - MESSAGES - type: object properties: records: type: array description: List of outbound Messages API records items: $ref: '#/components/schemas/MessagesOutboundRecord' AsyncRequestFields: type: object properties: include_subaccounts: type: boolean description: Include data from sub-accounts example: true callback_url: type: string description: Webhook URL for completion notifications format: uri example: https://example.com/webhook description: Fields for asynchronous report requests NETWORK-API-EVENT_ASYNC: description: Network API Event allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/NetworkApiEventFields' - type: object properties: product: type: string example: NETWORK-API-EVENT enum: - NETWORK-API-EVENT VoiceAmdRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: nexmo-vapi-us-east-1 start_time: type: string description: 'Detection start time. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-3-22 11:24:05+00:00' end_time: type: string description: 'Detection end time. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-03-22T11:24:19+00:00' amd_result_sent: type: boolean description: 'If true, AMD events were sent to a requester. Possible values: true, false' example: false amd_detection_result: type: string description: Result of detection. Either human or machine example: MACHINE amd_beep_detection_result: type: boolean description: If true, beep was detected. Otherwise false example: true amd_user_defined_beep_timeout: type: integer description: Maximum time in seconds Vonage should wait for a machine beep to be detected. Value of a beep_timeout defined by user, when requesting the Voice API. Can be between 30 and 120. example: 30 amd_user_defined_behavior: type: string description: 'The value passed to behavior parameter when requesting the Voice API. Possible values: hangup, continue' example: continue amd_user_defined_mode: type: string description: 'The value passed to mode parameter when requesting the Voice API. Possible values: default, detect, detect_beep' example: default total_price: type: string description: Total price of the AMD feature example: '0.018662' currency: type: string description: Currency of the total_price example: EUR call_id: type: string description: UUID of the call request example: dfc0c915f38ae6701d7d114cde2556b1-1 id: type: string description: The unique id of the record in the report example: ebbe1234-da56-78a9-9d5c-3da9787c5720 description: Voice AMD (Advanced Machine Detection) VoiceTtsRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 from: type: string description: The number of the caller requested to be used by the Customer. example: '12345678912' to: type: string description: The dialed number in a call. For an inbound call, this will be the virtual number. example: '22345678912' status: type: string description: The final status of the TTS event example: completed trace_id: type: string description: Trace example: trc-abcdef1234567890 premium: type: string description: DEPRECATED Premium/standard example: 'true' deprecated: true language: type: string description: BCP-47 language code example: id-ID style: type: string description: Voice style index example: '0' length: type: string description: Message length (in characters) example: '12' size: type: string description: Audio file size in bytes example: '52480' start_time: type: string description: 'Date and time, when TTS event started. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' end_time: type: string description: 'Date and time, when TTS event ended. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' duration: type: string description: Duration of the TTS event in seconds example: '0' currency: type: string description: Currency of the price of the call example: EUR price: type: string description: Price per unit example: '0.005' total_price: type: string description: Total price of the TTS event example: '0.005' tts_type: type: string description: Indicates the voice quality used for the Voice TTS event. Can be one of standard, premium, or premier. enum: - standard - premium - premier example: standard tts_level: type: string description: Indicates whether the TTS action was applied at the call leg level or at the conversation level. `leg` — TTS was played to a specific call leg only. `conversation` — TTS was played to the entire conversation. enum: - conversation - leg example: conversation call_id: $ref: '#/components/schemas/VoiceTtsCallId' conversation_id: type: string description: The unique identifier of the Voice conversation associated with this TTS event. A conversation groups one or more call legs under a single session. This field is populated when `tts_level` is `conversation`, or when `tts_level` is `leg` and the TTS was applied to a specific participant within a conversation. Empty when TTS was applied to a standalone call leg not part of a named conversation. example: 0c689d3f-b23f-46fc-b15b-441f14c70870 creation_date: type: string description: Timestamp of this UDR creation example: '2024-02-07T14:22:08+00:00' id: type: string description: The unique id of the record in the report example: ebbe1234-da56-78a9-9d5c-3da9787c5720 description: Voice TTS VerifyV2ReportResponse: description: Verify v2 allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/VERIFY-V2_ASYNC' AmdReportResponse: description: Voice AMD (Advanced Machine Detection) allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/AMD_ASYNC' ReportsUsageRecord: type: object properties: acc: type: string description: Account authenticated when making Reports API call. Not necessarily the same as account_id for which reports data is requested. example: 12aa3456 product_type: type: string description: Report's API product. Always `reports`. example: reports date_received: type: string description: 'Date when report was requested by Customer by calling Reports API. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' date_started: type: string description: 'Date when Reports API started processing the request. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' date_finished: type: string description: 'Date when Reports API finished processing the request. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' status: type: string description: Status of the report's request example: SUCCESS account_id: type: string description: The account ID (API key) for which the report data is generated. example: 12aa3456 master_account_id: type: string description: Master account ID of requested account. If Master account is not available, the field will be equal to account_id. example: 88aa3456 is_charged: type: string description: Would be `TRUE` if the report request was charged, otherwise - `FALSE` example: 'TRUE' request_params: $ref: '#/components/schemas/BaseRequestParams' job_type: type: string description: 'This is either sync or async Reports API request. Possible values: SYNC_JOB_FROM_ID, SYNC_JOB_FROM_DATES, ASYNC_JOB' example: ASYNC_JOB requested_product: type: string description: Product requested in the report. example: SMS items_written: type: integer description: Number of CDRs/records returned in the report example: 134 price: type: number description: The price for the CDR in the report (individual record in the report) example: 0.0004 currency: type: string description: Currency of the price of the report example: EUR total_price: type: number description: The total price for the whole report example: 120 id: type: string description: The unique id of the record in the report example: ab12345678c90-b1234-ba78-f1c3e400f28d tier_volume: $ref: '#/components/schemas/TierVolume' description: Reports Usage VOICE-FAILED_ASYNC: description: Voice Failed allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/VoiceRejectedFields' - type: object properties: product: type: string example: VOICE-FAILED enum: - VOICE-FAILED VoiceWebSocketRecordsResponse: description: Voice WebSocket Call allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: WEBSOCKET-CALL enum: - WEBSOCKET-CALL - type: object properties: records: type: array description: List of voice WebSocket streaming records items: $ref: '#/components/schemas/VoiceWebSocketRecord' AmdFields: type: object description: Answering Machine Detection (AMD) properties: call_id: type: string description: Unique call identifier example: dfc0c915f38ae6701d7d114cde2556b1-1 VoiceRecordsResponse: description: Voice Call allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: VOICE-CALL enum: - VOICE-CALL - type: object properties: records: type: array description: List of voice call records items: $ref: '#/components/schemas/VoiceRecord' ErrorResponseWithInvalidParameters: allOf: - $ref: '#/components/schemas/ErrorResponse' - type: object required: - detail properties: invalid_parameters: type: array description: List of invalid parameters items: type: object required: - name - reason properties: name: type: string description: Name of the invalid parameter example: name reason: type: string description: Reason why the parameter is invalid example: Must not be empty AnyReportResponse: description: Discriminated Union Schema for All Asynchronous Report Responses oneOf: - $ref: '#/components/schemas/SmsReportResponse' - $ref: '#/components/schemas/SmsTrafficControlReportResponse' - $ref: '#/components/schemas/VoiceReportResponse' - $ref: '#/components/schemas/VoiceRejectedReportResponse' - $ref: '#/components/schemas/VoiceTTSReportResponse' - $ref: '#/components/schemas/InAppVoiceReportResponse' - $ref: '#/components/schemas/AsrReportResponse' - $ref: '#/components/schemas/WebsocketReportResponse' - $ref: '#/components/schemas/AmdReportResponse' - $ref: '#/components/schemas/MessagesReportResponse' - $ref: '#/components/schemas/VerifyReportResponse' - $ref: '#/components/schemas/VerifyV2ReportResponse' - $ref: '#/components/schemas/NIReportResponse' - $ref: '#/components/schemas/ConversationEventReportResponse' - $ref: '#/components/schemas/ConversationMessageReportResponse' - $ref: '#/components/schemas/ReportsUsageReportResponse' - $ref: '#/components/schemas/NetworkApiEventReportResponse' - $ref: '#/components/schemas/VideoApiReportResponse' VoiceAmdRecordsResponse: description: Voice AMD (Advanced Machine Detection) allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: AMD enum: - AMD - type: object properties: records: type: array description: List of voice AMD records items: $ref: '#/components/schemas/VoiceAmdRecord' BaseRequestParams: required: - account_id - product type: object properties: product: type: string description: Product type for the report example: SMS enum: - SMS - SMS-TRAFFIC-CONTROL - VOICE-CALL - VOICE-FAILED - VOICE-TTS - IN-APP-VOICE - WEBSOCKET-CALL - ASR - AMD - VERIFY-API - NUMBER-INSIGHT - VERIFY-V2 - CONVERSATION-EVENT - CONVERSATION-MESSAGE - MESSAGES - VIDEO-API - NETWORK-API-EVENT - REPORTS-USAGE account_id: type: string description: The account ID (API key) you wish to search for. This can differ from the API key in the authorization header because some accounts can request reports for other accounts, e.g. a primary account owner wants to create a report for one of its subaccounts. example: 12aa3456 date_start: type: string description: Start date for the report (ISO 8601 format). Not mandatory for async requests - defaults to CURRENT_TIME-7D if not provided. example: '2024-02-02T13:50:00+00:00' date_end: type: string description: End date for the report (ISO 8601 format). Defaults to current time if not provided. example: '2024-02-07T14:22:08+00:00' description: Base parameters for all report requests ConversationsEventRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer example: 12aa3456 request_id: type: string description: Request id example: 03d9e0e0-9a96-40f7-ab20-2b92a7f5a19f application_id: type: string description: Id of the application used example: ab05efe3-0f00-4ac9-ad64-60825dxxxxxx conversation_id: type: string description: Particular Conversation example: CON-d01afdc1-7f8c-49d8-9fc0-e92854xxxxx user_id: type: string description: User id in the conversation example: USR-8e012e3c-703a-40cd-be03-74e57fcxxxxx client_ref: type: string description: If client-ref parameter were used by the Customer example: my-client-ref creation_date: type: string description: Date of event example: '2025-07-18T10:32:48+00:00' currency: type: string description: Currency of the price of the request example: EUR price: type: string description: Price of the request example: '0.00072' total_price: type: string description: The total price of the request example: '0.00072' id: type: string description: The unique id of the record in the report example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab WebsocketFields: type: object properties: call_id: type: string description: Unique WebSocket call identifier example: dfc0c915f38ae6701d7d114cde2556b1-1 description: Voice WebSocket Call VoiceFailedRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 call_id: type: string description: UUID of the call request example: dfc0c915f38ae6701d7d114cde2556b1-1 direction: type: string description: Direction of the call, either `inbound` or `outbound`. example: outbound from: type: string description: The number of the caller example: '12345678912' to: type: string description: The dialed number in a call. For an inbound call, this will be the virtual number. example: '22345678912' network: type: string description: Network of the destination number example: 12345 MX-FIXED network_name: type: string description: Name of the network used to send the call request example: Airtel Nigeria country: type: string description: Country where the call request was sent example: PL country_name: type: string description: Country name where the call request was sent example: Poland date_start: type: string description: 'Date of the start of the call. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' date_end: type: string description: 'Date of the end of the call. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' status: type: string description: The status of the call. Would be always `FAILED` example: FAILED status_code: type: string description: The SIP/HTTP response code received. example: '480' status_description: type: string description: 'status_description field in the voice reports should contain values from d.reason field. Example: 486, 487, 480, 404, 502' example: Callee currently unavailable id: type: string description: The unique id of the record in the report example: ebbe1234-da56-78a9-9d5c-3da9787c5720 description: Voice Failed SmsInboundRecordsResponse: description: SMS (Inbound) allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: SMS enum: - SMS - type: object properties: records: type: array description: List of inbound SMS records items: $ref: '#/components/schemas/SmsInboundRecord' SmsTrafficControlRecordsResponse: description: SMS Traffic Control allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: SMS-TRAFFIC-CONTROL enum: - SMS-TRAFFIC-CONTROL - type: object properties: records: type: array description: List of SMS traffic control records items: $ref: '#/components/schemas/SmsTrafficControlRecord' MessagesInboundRecordsResponse: description: Messages (Inbound) allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: MESSAGES enum: - MESSAGES - type: object properties: records: type: array description: List of inbound Messages API records items: $ref: '#/components/schemas/MessagesInboundRecord' ReportResponseBase: required: - _links - items_count - receive_time - request_id - request_status - start_time type: object properties: request_id: type: string description: UUID of the request. example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab request_status: type: string description: Status of the request. example: PENDING enum: - PENDING - PROCESSING - SUCCESS - ABORTED - FAILED - TRUNCATED receive_time: type: string description: Time at which the request of the report was received. example: '2024-02-07T14:22:08+00:00' start_time: type: string description: Time at which the report processing of the report has started. example: '2024-02-07T14:22:10+00:00' items_count: type: integer description: Number of records format: int64 example: 1523 _links: type: object properties: self: type: object properties: href: type: string format: uri example: https://api.nexmo.com/v2/reports/aaaaaaaa-bbbb-cccc-dddd-0123456789ab download_report: type: object properties: href: type: string description: Download URL format: uri example: https://api.nexmo.com/v3/media/aaaaaaaa-bbbb-cccc-dddd-0123456789ab description: HAL links description: Base response containing report details and status for async requests NIReportResponse: description: Number Insight v1 allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/NUMBER-INSIGHT_ASYNC' MessagesInboundRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 message_id: type: string description: Vonage's unique identifier for this message example: a1aa2bcd-6a96-4a9b-bd9d-a72477238b22 direction: type: string description: Direction of the message, either `inbound` or `outbound`. example: inbound from: type: string description: The phone number/account that this inbound message was sent from. example: '12345678900' to: type: string description: The phone number/account that the message was sent to. example: '12345678900' message_body: type: string description: Body of the message sent. Only present if include_message parameter is set to true. example: Hello World! provider: type: string description: 'Provider of the message. Can be one of: `whatsapp`, `sms`, `mms`, `messenger`, `viber_service_msg`, `instagram`, `rcs`, `email` {new providers are added as soon as they are launched}' example: whatsapp network: type: string description: The network code of the originating phone number. Relevant and available for provider = `sms` or `mms` example: 12345 MX-FIXED network_name: type: string description: The name of the network code. Relevant and available for provider = `sms` or `mms` example: Airtel Nigeria date_received: type: string description: 'Date when Vonage received a message from a Messaging provider. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' currency: type: string description: Currency used for the total_price. For RCS Conversational pricing model (non-US), data will be available with a delay of up to 48h. example: EUR total_price: type: string description: The total price for receiving the inbound message. For RCS Conversational pricing model (non-US), the price will be available with a delay of up to 48h. example: '0.07998' id: type: string description: The unique id of the record in the report example: a1aa2bcd-6a96-4a9b-bd9d-a72477238b22 tier_volume: $ref: '#/components/schemas/TierVolume' description: Messages (Inbound) NumberInsightRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 request_id: type: string description: record id example: 883a2b66-77a9-48c3-9948-7f01848f8cbd product_type: type: string description: Internal name of product example: PRODUCT_HLR_LOOKUP_FORMAT number: type: string description: Phone number looked up example: '447700900000' date_received: type: string description: event time example: '2025-07-18T10:14:47+00:00' status: type: string description: Status example: Success response_code: type: string description: Response code from event example: '0' network: type: string description: The network code example: '23420' network_name: type: string description: The name of the network code example: Hutchison 3G Ltd network_type: type: string description: network type used example: mobile country: type: string description: The ISO two letter country code to which the network code belongs example: NZ country_name: type: string description: Country name of the country code example: New Zealand valid: type: string description: Whether the number is valid or not example: valid ported: type: string description: Porting status example: not_ported reachable: type: string description: Looked up number can be `reached` example: present first_name: type: string description: Looked up first name example: unknown last_name: type: string description: Looked up last name example: unknown currency: type: string description: Currency of the price of the request. Always returns an empty string. example: '' total_price: type: string description: Price to customer example: '0.06800000' id: type: string description: record id example: 8e67d726ca21409aa38f4e07e73503aa description: Number Insight v1 SMS_ASYNC: description: SMS allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/SmsFields' - type: object properties: product: type: string example: SMS enum: - SMS CONVERSATION-EVENT_ASYNC: description: Conversation Event allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/ConversationEventFields' - type: object properties: product: type: string example: CONVERSATION-EVENT enum: - CONVERSATION-EVENT REPORTS-USAGE_ASYNC: description: Reports Usage allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/ReportsUsageFields' - type: object properties: product: type: string example: REPORTS-USAGE enum: - REPORTS-USAGE NetworkApiEventRecordsResponse: description: Network API Event allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: NETWORK-API-EVENT enum: - NETWORK-API-EVENT - type: object properties: records: type: array description: List of Network API event records items: $ref: '#/components/schemas/NetworkApiEventRecord' VERIFY-V2_ASYNC: description: Verify v2 allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/VerifyV2Fields' - type: object properties: product: type: string example: VERIFY-V2 enum: - VERIFY-V2 SmsOutboundRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 12aa3456 message_id: type: string description: Vonage's unique identifier for this message example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab account_ref: type: string description: It's used to identify separate accounts using the SMS endpoint for billing purposes. The field is optional in SMS. It can be empty in the report example: customer1234 client_ref: type: string description: If client-ref parameter were used by the Customer while calling SMS, the value with Client's own reference will be shown in this field. Up to 100 characters. example: my-personal-reference direction: type: string description: Direction of the call, either `inbound` or `outbound`. example: outbound from: type: string description: SMS sent from this phone number. The value specified by the Customer in `from` parameter in SMS request (can be numeric, alpha-numeric or short code) example: '447700900001' to: type: string description: SMS sent to this phone number. In other words, the destination phone number. example: '447700900000' forced_from: type: string description: The number used instead of `from` field by Vonage, but only if there are any special routing rules were applied. It will be empty if not applicable. example: '44770090045' changed_from: type: string description: The number used instead of `from` field by Vonage, but only if if Number Pools API was used or if routing rules were changed due to compliance reasons. It will be empty if not applicable. example: NXSMS concatenated: type: string description: Indicates whether the SMS was split up into multiple parts (due to its length). The field will be available in the report if Reports API were called with the parameter show_concatenated= `true`. example: 'FALSE' message_body: type: string description: Body of the message sent. Only present if include_message parameter is set to true. example: Hello World! network: type: string description: The network code of the destination phone number. Taken from a carrier lookup (or sometimes the numbering plan), and always a master network code. Usually an MCC/MNC but sometimes alpha e.g US-FIXED example: '12345' network_name: type: string description: The name of the network code example: Orange Polska S.A. country: type: string description: The ISO two letter country code to which the network code belongs in the numbering plan example: PL country_name: type: string description: Country name of the country code example: Poland date_received: type: string description: 'Date when Vonage received SMS request. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' date_finalized: type: string description: 'Date when the SMS message reached its final state. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' latency: type: string description: Latency of the request in ms example: '42' status: type: string description: The final status of the message delivery, derived from the Delivery Receipt (DLR) provided by the carrier/supplier. The statuses are according to "SMS Delivery statuses" explained on [Developer portal](https://developer.vonage.com/en/messaging/sms/guides/delivery-receipts#dlr-status-messages) and in [KB article](https://api.support.vonage.com/hc/en-us/articles/360018438551-DLR-Statuses) example: delivered error_code: type: string description: The specific code indicating the result of the Vonage handoff to the supplier. A code of 0 typically indicates a successful handoff. See the [Delivery Receipt documentation](https://developer.vonage.com/en/messaging/sms/guides/delivery-receipts#dlr-error-codes) for more details example: '0' error_code_description: type: string description: A short text explanation for the value in error_code. This confirms the immediate status of the message handover from Vonage to the destination carrier/supplier. See the [Delivery Receipt documentation](https://developer.vonage.com/en/messaging/sms/guides/delivery-receipts#dlr-error-codes) for more details example: Delivered currency: type: string description: Currency of the price of the SMS request. Always returns an empty string. example: '' total_price: type: string description: Price of the SMS request example: '0.036' id: type: string description: The UUID of the record in the report example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab dcs: type: string description: DCS (Data Coding Scheme) is the encoding with which the message body was delivered to the phone. It is according to the value of the `type` parameter used in SMS request. DCS = 0 (the default value) is for GSM/text. DCS = 8 is for unicode text messages DCS = 4 is for binary text messages example: '0' validity_period: type: string description: The validity period of the SMS message used in the `ttl` parameter of the SMS request. The duration in milliseconds the delivery of an SMS will be attempted. By default Vonage attempts delivery for 72 hours, however the maximum effective value depends on the operator and is typically 24 - 48 hours. example: 240210092938000+ ip_address: type: string description: The IP address of the Customer's server calling SMS. example: 12.23.456.111 udh: type: string description: 'User Data Header, available if SMS was split up into multiple parts (due to its length). Pay attention: UDHs are not unique values. An 8 bit concatenation UDH is always going to start from `050003`, then the reference e.g. `00` and then the total parts and part index e.g. `0201` for the first part of a two part message' example: '50003940401' workflow_id: type: string description: RCS workflow_id. Populated only when an SMS is converted to RCS. It matches the workflow_id in the Messages report, allowing retrieval of the corresponding RCS record. Blank if not converted. See details about the feature here - [SMS-to-RCS Transitioning with Branded Text](https://developer.vonage.com/en/messaging/sms/guides/branded-text) example: 3TcNjgZvTgbJ41bJGMiHQxf7s6UPsKUEnkhyY tier_volume: $ref: '#/components/schemas/TierVolume' description: SMS (Outbound) SmsFields: type: object properties: direction: required: - direction type: string description: Direction of the communication. example: outbound enum: - inbound - outbound status: type: string description: The final status of the message delivery filter example: delivered enum: - delivered - expired - accepted - deleted - unknown - submitted - failed - rejected - buffered from: type: string description: SMS sent from this phone number. The value specified by the Customer in `from` parameter in SMS request example: '447700900001' to: type: string description: Recipient phone number example: '447700900000' country: type: string description: The ISO two letter country code example: PL network: type: string description: The network code of the destination phone number example: '12345' client_ref: type: string description: The optional custom reference value example: my-personal-reference account_ref: type: string description: Account reference. example: customer1234 include_message: type: boolean description: Determines whether the message body is included. example: true show_concatenated: type: boolean description: A boolean flag that determines whether the `concatenated` field is included in the report example: false description: SMS ConversationEventFields: type: object properties: conversation_id: type: string description: Conversation ID example: CON-d01afdc1-7f8c-49d8-9fc0-e92854xxxxx status: type: string description: Event status example: SUCCESS description: Conversation Event API VIDEO-API_ASYNC: description: Video API allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/VideoApiFields' - type: object properties: product: type: string example: VIDEO-API enum: - VIDEO-API AnyAsyncRequestParams: description: Discriminated Union Schema for All Asynchronous Request Parameters (Request Body) discriminator: propertyName: product oneOf: - $ref: '#/components/schemas/SMS_ASYNC' - $ref: '#/components/schemas/SMS-TRAFFIC-CONTROL_ASYNC' - $ref: '#/components/schemas/VOICE-CALL_ASYNC' - $ref: '#/components/schemas/VOICE-FAILED_ASYNC' - $ref: '#/components/schemas/VOICE-TTS_ASYNC' - $ref: '#/components/schemas/ASR_ASYNC' - $ref: '#/components/schemas/IN-APP-VOICE_ASYNC' - $ref: '#/components/schemas/WEBSOCKET-CALL_ASYNC' - $ref: '#/components/schemas/AMD_ASYNC' - $ref: '#/components/schemas/MESSAGES_ASYNC' - $ref: '#/components/schemas/VERIFY-API_ASYNC' - $ref: '#/components/schemas/VERIFY-V2_ASYNC' - $ref: '#/components/schemas/NUMBER-INSIGHT_ASYNC' - $ref: '#/components/schemas/CONVERSATION-MESSAGE_ASYNC' - $ref: '#/components/schemas/CONVERSATION-EVENT_ASYNC' - $ref: '#/components/schemas/REPORTS-USAGE_ASYNC' - $ref: '#/components/schemas/NETWORK-API-EVENT_ASYNC' - $ref: '#/components/schemas/VIDEO-API_ASYNC' VideoApiFields: type: object properties: session_id: type: string description: Unique video session identifier example: 1_LEq_MdtdTrWOfAnId7l8ig-wTs_zs3GTmqn0w0cfPFkWw-rzW2u6FgSOegi0n7TyEMiA meeting_id: type: string description: Unique meeting identifier example: 04384913-bc1d-43df-a720-854b4d43f221 description: Video API VerifyRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 request_id: type: string description: Id of the verify request example: 8e67d726ca21409aa38f4e07e73503aa from: type: string description: An 11-character alphanumeric string that represents the identity of the sender of the verification request. Depending on the destination of the phone number you are sending the verification SMS to, restrictions might apply. example: Vinted to: type: string description: The mobile or landline phone number to verify example: '447700900000' locale: type: string description: Language used in the communication through the channels example: fr-fr number_type: type: string description: The type of the number example: MOBILE network: type: string description: The network code example: '20820' network_name: type: string description: The name of the network code example: Bouygues Telecom country: type: string description: The ISO two letter country code to which the network code belongs example: FR country_name: type: string description: Country name of the country code example: France date_received: type: string description: 'Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2025-07-18T09:51:08+00:00' date_finalized: type: string description: 'Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2025-07-18T09:51:16+00:00' first_event_date: type: string description: 'Date and time when the first code was sent. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2025-07-18T09:51:08+00:00' last_event_date: type: string description: 'Date and time when the last code was sent. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2025-07-18T09:51:08+00:00' status: type: string description: Indicates the outcome of the verify request example: SUCCESS sms_event_count: type: string description: Number of SMS sent within the verification workflow example: '1' tts_event_count: type: string description: Number of Voice TTS events done within the verification workflow example: '0' currency: type: string description: Currency of the price of the request. Always returns an empty string. example: '' pricing_model: type: string description: Pricing model applied example: '0' price: type: string description: Price example: '0.06800000' estimated_price: type: string description: Estimated price example: '0' sms_price: type: string description: Price of SMS sent example: '0' tts_price: type: string description: Price of Voice TTS calls made example: '0' id: type: string description: same as request_id, unique record's key example: 8e67d726ca21409aa38f4e07e73503aa description: Verify v1 VOICE-TTS_ASYNC: description: Voice TTS allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/VoiceTTSFields' - type: object properties: product: type: string example: VOICE-TTS enum: - VOICE-TTS ReportsUsageReportResponse: description: Reports Usage allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/REPORTS-USAGE_ASYNC' MessagesFields: type: object properties: direction: required: - direction type: string description: Message direction filter example: outbound enum: - inbound - outbound status: type: string description: Message status filter example: delivered enum: - submitted - delivered - read - rejected - undeliverable from: type: string description: Sender example: '447700900001' to: type: string description: Recipient example: '447700900000' provider: type: string description: Messaging provider example: whatsapp enum: - whatsapp - sms - mms - messenger - viber_service_msg - instagram - rcs - email country: type: string description: Country code example: ES include_message: type: boolean description: Include message content example: true description: Messages API VoiceRejectedFields: type: object properties: direction: type: string description: Call direction filter example: outbound enum: - inbound - outbound from: type: string description: Caller number/ID example: '12345678912' to: type: string description: Called number example: '22345678912' country: type: string description: Country code example: PL call_id: type: string description: Unique call identifier example: dfc0c915f38ae6701d7d114cde2556b1-1 description: Voice API rejected call NetworkApiEventRecord: type: object properties: account_id: type: string description: API key of the originating request example: 03d9e0e0 application_id: type: string description: The Vonage API application ID. If application id is present will be populated example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab record_creation_time: type: string description: 'Date and time in ISO 8601 of when the UDR was generated. This time is in UTC. Format: yyyy-MM-dd''T''HH:mm:ss.ff3Z' example: '2024-02-02T13:50:00+00:00' product_name: type: string description: 'Refers to exact product within Camara event-based bucket of products. Possible values: camara-device-status, camara-device-location, camara-number-verification, camara-sim-swap' example: camara-sim-swap status: type: string description: 'Status of the request. Possible values: SUCCESS, FAILED' example: SUCCESS network: type: string description: 'Code of the network associated with MSSIDN used in the request. Example: `12345`' example: '12345' country_code: type: string description: 'Code of the country of the MSISDN. Format: ISO 3166 2 character code. Example: `BR`' example: BR msisdn: type: string description: Phone number. example: '447700900000' event_time: type: string description: The time of the event in UTC example: '2024-02-02T13:50:00+00:00' currency: type: string description: Currency of the total_price example: EUR total_price: type: string description: The price of the event example: '0.00500000' id: type: string description: Unique id of the UDR example: 12345678-abcd-efgh-ijkl-901234567890 request_type: type: string description: Type of the request. Holds either `check` or `retrieve-date` for Sim Swap example: check response_result: type: string description: value of the response taken from Camara API. (if redaction is applied, the whole d.responseInfo is redacted) example: 'true' request_session_id: type: string description: Refers to a Vonage Request id. Can be used to search for that particular log item/CDR example: vn-abcd1234efgh5678 product_path: type: string description: Indicates the product which initiates the call to this service. example: SimSwap correlation_id: type: string description: Unique ID that is the same for all intermediate events associated with the same event. example: fedcba98-7654-3210-fedc-ba9876543210 description: Network API Event AsrFields: type: object properties: direction: type: string description: Call direction filter example: outbound enum: - inbound - outbound from: type: string description: Caller ID example: '12345678912' to: type: string description: Called number example: '12345678912' call_id: type: string description: Unique call identifier example: dfc0c915f38ae6701d7d114cde2556b1-1 description: Automatic Speech Recognition (ASR) VoiceRejectedReportResponse: description: Voice Failed allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/VOICE-FAILED_ASYNC' VerifyV2Record: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 request_id: type: string description: Vonage's unique identifier of the Verify API request example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab parent_request_id: type: string description: The correlation ID between Verification request (record with channel = `v2`) and Email/Silent Authentication verification event (record with channel = 'email' or 'silent_auth') Available for records with 'email' or 'silent_auth' channel. example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab channel: type: string description: 'Channel used for verification in Verify API request. Possible values: `v2`, `email`, `silent_auth`' example: v2 to: type: string description: Phone number or email address verified with Verify API example: '123456789000' locale: type: string description: Language in which PIN was delivered. Not available for 'email' or 'silent_auth' channel. example: en-gb network: type: string description: MCC/MNC network code of the phone number's network. Not applicable for `email` channel. example: '23420' network_name: type: string description: The name of the network code. Not applicable for `email` channel. example: Hutchison 3G Ltd country: type: string description: Country of the phone number verified with Verify API. Not applicable for `email` channel. example: GB status: type: string description: Status of the request. example: completed client_ref: type: string description: Contains the client reference given in the original Verify request in `client_ref` parameter example: my_custom_ref date_received: type: string description: 'The date and time the verification request was received by Vonage. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' sms_event_count: type: string description: Number of times SMS was used for PIN delivery. Not available for 'email' or 'silent_auth' channel. example: '1' tts_event_count: type: string description: Number of times Voice TTS was used for PIN delivery. Not available for 'email' or 'silent_auth' channel. example: '0' whatsapp_event_count: type: string description: Number of times Whatsapp was used for PIN delivery. Not available for 'email' or 'silent_auth' channel. example: '0' email_event_count: type: string description: Number of times email channel was used. Not available for 'email' or 'silent_auth' channel. example: '0' silentauth_event_count: type: string description: Number of times Silent Authentication was used for PIN verification. Not available for 'email' or 'silent_auth' channel. example: '0' rcs_event_count: type: string description: Number of times RCS was used for PIN delivery. Not available for 'email' or 'silent_auth' channel. example: '0' if_fraud_check: type: string description: Parameter used to bypass block. Either `TRUE` or `FALSE` example: 'FALSE' pin_length: type: string description: Length of the PIN used in the request example: '4' currency: type: string description: Currency of the price of a Verify request example: EUR total_price: type: string description: Price of a Verify request example: '0.06800000' id: type: string description: unique id of the record example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab description: Verify v2 ConversationEventReportResponse: description: Conversation Event allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/CONVERSATION-EVENT_ASYNC' VoiceTtsCallId: type: string description: 'The unique identifier of the call leg on which the TTS action was performed. Use this field to link a TTS event to the corresponding call leg record in the Voice Calls report (with `product` = `VOICE-CALL`). When `tts_level` is `leg`, `call_id` is the UUID of the exact call leg that received the audio playback. When `tts_level` is `conversation`, `call_id` is the UUID of the first call leg in the conversation that received the TTS. Note: `call_id` is present in all TTS records.' example: dfc0c915f38ae6701d7d114cde2556b1-1 VerifyRecordsResponse: description: Verify v1 allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: VERIFY-API enum: - VERIFY-API - type: object properties: records: type: array description: List of Verify API records items: $ref: '#/components/schemas/VerifyRecord' BaseRecordsResponse: type: object properties: _links: type: object properties: self: type: object properties: href: type: string format: uri example: https://api.nexmo.com/v2/reports/sms/records?product=SMS&direction=outbound&date_start=2024-02-01T00:00:00Z&date_end=2024-02-02T00:00:00Z next: type: object properties: href: type: string format: uri example: https://api.nexmo.com/v2/reports/sms/records?product=SMS&direction=outbound&cursor=MTY0OTQ3ODAwMDAwMA description: Link to the next page of records. **Present only if pagination is applicable.** description: HAL links for navigation and pagination. The `next` link is only present if more records are available. cursor: type: string description: Cursor for paginating results. **Present only if pagination is applicable.** example: MTY0OTQ3ODAwMDAwMA iv: type: string description: Initialization vector for cursor processing. **Present only if pagination is applicable.** example: 8a2c4e6f-12d3-45b6-78c9-0a1b2c3d4e5f request_id: type: string description: Unique ID associated with this synchronous request. example: a91b34c2-5d98-4c0e-8f23-a6b1c7d4e9f0 request_status: type: string description: The result status of the request. example: SUCCESS enum: - SUCCESS - TRUNCATED received_at: type: string format: date-time description: Timestamp when the request was processed by the Reports API. example: '2024-02-07T14:22:08+00:00' items_count: type: integer description: The number of records returned in this page/response. format: int64 example: 50 ids_not_found: type: string description: A comma-separated list of IDs if the request was made by ID and some were not found. example: id-missing-1,id-missing-2 description: Base synchronous response containing request metadata and pagination links. VideoApiRecord: type: object properties: account_id: type: string description: API key of the originating request example: 123g4567 feature_name: type: string description: 'Video API features used. Can be one of: Video Session, Subscriber minutes, Archiving, Broadcasting, HLS, Experience composer, SIP_Interconnect, Audio_Connector, Live_Captions' example: Video Session session_id: type: string description: Id of the session, which represents the video room example: 1_LEq_MdtdTrWOfAnId7l8ig-wTs_zs3GTmqn0w0cfPFkWw-rzW2u6FgSOegi0n7TyEMiA meeting_id: type: string description: Id of the Segment, which represents the meeting within a session. Available for feature_name Video Session. Not available for other feature_names. example: 04384913-bc1d-43df-a720-854b4d43f221 subscriber_id: type: string description: Id for the Video Subscriber, receiving video from a video publisher. Available for feature_name Subscriber minutes, SIP_Interconnect, Audio_Connector, Live_Captions. Not available for other feature_names. example: 0fe7085f-0d5e-4b8f-999d-71d291f9b89f archive_id: type: string description: Id of the recording/archiving instance within a session. Available for feature_name Archiving. Not available for other feature_names. example: 0fe7085f-0d5e-4b8f-999d-71d291f9b89f broadcast_id: type: string description: Id of the broadcast instance within a session. Available for feature_name Broadcasting. Not available for other feature_names. example: 0fe7085f-0d5e-4b8f-999d-71d291f9b89f hls_id: type: string description: Id of the HLS live streaming instance within a session. Available for feature_name HLS. Not available for other feature_names. example: 0fe7085f-0d5e-4b8f-999d-71d291f9b89f composer_id: type: string description: Id of the Experience Composer instance within a session. Available for feature_name Experience composer. Not available for other feature_names. example: 0fe7085f-0d5e-4b8f-999d-71d291f9b89f application_id: type: string description: The Vonage API application ID example: 8367cab5-6756-4324-a7ad-82821315efec duration: type: string description: Duration of the Video event in seconds example: '82' date_start: type: string description: 'The start date and time of a Video event. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2025-01-22T10:13:06+00:00' date_end: type: string description: 'The end date and time of a Video event. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2025-01-22T10:13:51+00:00' total_price: type: string description: The total price of the Video event example: '0.0104' currency: type: string description: Currency associated with the total_price example: EUR id: type: string description: Unique id of the UDR and unique id of the record in the Report example: 5baf191a-67d0-415d-a743-aa0a1ed42c14 tier_volume: type: string description: Volume-based pricing tier. Present when the account is on a volume-based pricing plan. example: '500' description: Video API IN-APP-VOICE_ASYNC: description: In-App Voice allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/InAppVoiceFields' - type: object properties: product: type: string example: IN-APP-VOICE enum: - IN-APP-VOICE TierVolume: type: string description: 'The predefined volume range that applies to the pricing tier for this usage record. Format: "{lowerBound}-{upperBound}" where upperBound can be a number or "onwards" for the last open-ended tier. For voice products, values are expressed in seconds. Multiple ranges may be joined by "_" when usage spans multiple tiers. Null or empty indicates flat-rate pricing (no tiered model applies). ' pattern: ^((\d+)-((\d+)|onwards))(_(\d+)-((\d+)|onwards))*$ example: 1-10000 ASR_ASYNC: description: Voice ASR allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/AsrFields' - type: object properties: product: type: string example: ASR enum: - ASR VoiceWebSocketRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 call_id: type: string description: UUID of the call request example: dfc0c915f38ae6701d7d114cde2556b1-1 date_start: type: string description: 'Event start time. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' date_end: type: string description: 'Event end time. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' duration: type: string description: Duration of event example: '30' status: type: string description: Status of event example: completed currency: type: string description: Currency of the price of the ASR event example: EUR price: type: string description: Price of the ASR event example: '0.005' total_price: type: string description: Total price of the ASR event example: '0.015' id: type: string description: The unique id of the record in the report example: ebbe1234-da56-78a9-9d5c-3da9787c5720 description: Voice WebSocket Call VerifyV2Fields: type: object properties: channel: type: string description: Verification channel example: v2 enum: - v2 - email - silent_auth parent_request_id: type: string description: Filter by parent request ID, which correlates `v2` verification requests with their associated `email` or `silent_auth` events. example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab to: type: string description: Phone number being verified example: '123456789000' locale: type: string description: Language/locale example: en-gb network: type: string description: Mobile network code example: '12345' country: type: string description: Country code example: GB status: type: string description: Verification status example: SUCCESS description: Verify v2 API SmsInboundRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 12aa3456 message_id: type: string description: Vonage's unique identifier for this message example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab direction: type: string description: Direction of the SMS message, either `inbound` or `outbound`. example: inbound from: type: string description: The phone number that this inbound message was sent from. example: '447700900001' to: type: string description: The phone number that the SMS message was sent to. This is Customer's virtual number. example: '447700900000' network: type: string description: The network code of the originating phone number. Taken from the numbering plan), and always a master network code. Usually an MCCMNC but sometimes alpha e.g US-FIXED example: '12345' network_name: type: string description: The name of the network code example: Orange Polska S.A. country: type: string description: The ISO two letter country code to which the network code belongs in the numbering plan example: PL country_name: type: string description: Country name of the country code example: Poland date_received: type: string description: 'Date when Vonage received the inbound message from it''s supplier. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-02T13:50:00+00:00' currency: type: string description: Currency of the price of the inbound SMS. Always returns an empty string. example: '' total_price: type: string description: Price of the inbound SMS example: '0.036' id: type: string description: The UUID of the record in the report example: 1D000000A657F123 message_body: type: string description: Body of the message sent. Only present if include_message parameter is set to true. example: Hello World! tier_volume: $ref: '#/components/schemas/TierVolume' description: SMS (Inbound) VoiceCallFields: type: object properties: direction: type: string description: Call direction filter example: outbound enum: - inbound - outbound from: type: string description: Caller number/ID example: '12345678912' to: type: string description: Called number example: '22345678912' country: type: string description: Country code example: NG network: type: string description: Mobile network code example: '12345' status: type: string description: Call status filter example: ANSWERED enum: - ANSWERED - MACHINE - ERROR call_id: type: string description: Unique call identifier example: dfc0c915f38ae6701d7d114cde2556b1-1 description: Voice API call VerifyReportResponse: description: Verify v1 allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/VERIFY-API_ASYNC' VerifyV2RecordsResponse: description: Verify v2 allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: VERIFY-V2 enum: - VERIFY-V2 - type: object properties: records: type: array description: List of Verify API v2 records items: $ref: '#/components/schemas/VerifyV2Record' VoiceInAppRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: abcdef01 request_id: type: string description: Id of the request example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab application_id: type: string description: Id of the application used example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab conversation_id: type: string description: particular Conversation. This should include the `CON-` prefix. example: CON-abc123 user_id: type: string description: User id in the conversation example: NAME leg_id: type: string description: Id of the call leg example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab client_ref: type: string description: If client-ref parameter were used by the Customer while calling the In-App VOICE API, the value with the Client's own reference will be shown in this field. example: my-personal-reference date_start: type: string description: Date of the start of the call example: '2023-06-28T15:59:06+00:00' date_end: type: string description: Date of the end of the call example: '2023-06-28T15:59:06+00:00' duration: type: string description: Duration of the call in seconds example: '30' status: type: string description: Status of the termination of the In-App call example: '200' currency: type: string description: Currency of the price of the request example: EUR price: type: string description: Price of the request example: '0.0040000' total_price: type: string description: The total price of the request example: '0.0040000' id: type: string description: The unique id of the record in the report example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab description: In-App Voice AsyncBaseRequest: description: Base structure for asynchronous report request bodies allOf: - $ref: '#/components/schemas/BaseRequestParams' - $ref: '#/components/schemas/AsyncRequestFields' VoiceTTSFields: type: object properties: call_id: $ref: '#/components/schemas/VoiceTtsCallId' description: Voice Text-to-Speech (TTS) MessagesReportResponse: description: Messages API allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/MESSAGES_ASYNC' VoiceTTSReportResponse: description: Voice TTS allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/VOICE-TTS_ASYNC' AnyRecordsResponse: discriminator: propertyName: product oneOf: - $ref: '#/components/schemas/SmsOutboundRecordsResponse' - $ref: '#/components/schemas/SmsInboundRecordsResponse' - $ref: '#/components/schemas/SmsTrafficControlRecordsResponse' - $ref: '#/components/schemas/VoiceRecordsResponse' - $ref: '#/components/schemas/VoiceInAppRecordsResponse' - $ref: '#/components/schemas/VoiceTtsRecordsResponse' - $ref: '#/components/schemas/VoiceAsrRecordsResponse' - $ref: '#/components/schemas/VoiceWebSocketRecordsResponse' - $ref: '#/components/schemas/VoiceFailedRecordsResponse' - $ref: '#/components/schemas/VoiceAmdRecordsResponse' - $ref: '#/components/schemas/MessagesOutboundRecordsResponse' - $ref: '#/components/schemas/MessagesInboundRecordsResponse' - $ref: '#/components/schemas/VerifyRecordsResponse' - $ref: '#/components/schemas/VerifyV2RecordsResponse' - $ref: '#/components/schemas/NumberInsightRecordsResponse' - $ref: '#/components/schemas/ConversationsEventRecordsResponse' - $ref: '#/components/schemas/ConversationsMessageRecordsResponse' - $ref: '#/components/schemas/ReportsUsageRecordsResponse' - $ref: '#/components/schemas/NetworkApiEventRecordsResponse' - $ref: '#/components/schemas/VideoApiRecordsResponse' ErrorResponse: type: object description: Base error response following RFC 7807 required: - type - title - instance properties: type: type: string description: Link to error / remediation options example: https://developer.vonage.com/api-errors title: type: string description: Generic error message example: An error occurred detail: type: string description: Additional information about the error example: More details about what went wrong instance: type: string description: Internal Trace ID example: bf0ca0bf927b3b52e3cb03217e1a1ddf SmsOutboundRecordsResponse: description: SMS (Outbound) allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: SMS enum: - SMS - type: object properties: records: type: array description: List of outbound SMS records items: $ref: '#/components/schemas/SmsOutboundRecord' InAppVoiceReportResponse: description: In-App Voice allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/IN-APP-VOICE_ASYNC' NumberInsightRecordsResponse: description: Number Insight allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: NUMBER-INSIGHT enum: - NUMBER-INSIGHT - type: object properties: records: type: array description: List of Number Insight records items: $ref: '#/components/schemas/NumberInsightRecord' VOICE-CALL_ASYNC: description: Voice API allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/VoiceCallFields' - type: object properties: product: type: string example: VOICE-CALL enum: - VOICE-CALL ConversationsMessageRecordsResponse: description: Conversations Message allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: CONVERSATION-MESSAGE enum: - CONVERSATION-MESSAGE - type: object properties: records: type: array description: List of Conversations message records items: $ref: '#/components/schemas/ConversationsMessageRecord' VerifyV1Fields: type: object properties: to: type: string description: Phone number being verified example: '447700900000' network: type: string description: Mobile network code example: '20820' description: Number Verify API SmsReportResponse: description: SMS allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/SMS_ASYNC' SmsTrafficControlFields: type: object description: SMS Traffic Control VoiceReportResponse: description: Voice API allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/VOICE-CALL_ASYNC' VoiceFailedRecordsResponse: description: Voice Failed allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: VOICE-FAILED enum: - VOICE-FAILED - type: object properties: records: type: array description: List of failed voice call records items: $ref: '#/components/schemas/VoiceFailedRecord' WebsocketReportResponse: description: Voice WebSocket Call allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/WEBSOCKET-CALL_ASYNC' NetworkApiEventReportResponse: description: Network API Event allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/NETWORK-API-EVENT_ASYNC' NetworkApiEventFields: type: object properties: product_name: type: string description: Product name for Network API event example: camara-sim-swap request_type: type: string description: Type of Network API request example: check request_session_id: type: string description: Session ID example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab product_path: type: string description: API path example: /camara/sim-swap/v040/check correlation_id: type: string description: Correlation ID example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab description: Network API Event VoiceTtsRecordsResponse: description: Voice TTS allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: VOICE-TTS enum: - VOICE-TTS - type: object properties: records: type: array description: List of voice text-to-speech records items: $ref: '#/components/schemas/VoiceTtsRecord' CONVERSATION-MESSAGE_ASYNC: description: Conversation Message allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/ConversationMessageFields' - type: object properties: product: type: string example: CONVERSATION-MESSAGE enum: - CONVERSATION-MESSAGE ConversationsMessageRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. example: nexmo-cs-us-west-2 trace_id: type: string description: Trace example: 03d9e0e0-9a96-40f7-ab20-2b92a7f5a19f application_id: type: string description: Id of the application used example: ab05efe3-0f00-4ac9-ad64-60825dxxxxxx conversation_id: type: string description: particular Conversation example: CON-d01afdc1-7f8c-49d8-9fc0-e92854xxxxx other_ids: type: string description: Other related ids for the event captured in this json fragment example: '{requestId=b06851eb-b443-488f-ad03-6ad96b2xxxxx, conversationEventId=5, messageSequenceNumber=1}' from_member_id: type: string description: Member id example: MEM-177c3d88-217a-4346-8c06-92db696xxxxx from_user_id: type: string description: User id example: USR-78c7bf8d-0c6b-4719-9396-8eb14f3xxxxx from_channel: type: string description: Channel example: app from_message_id: type: string description: Message id example: '5' client_ref: type: string description: if client-ref parameter were used by the Customer example: c0b75100 creation_date: type: string description: Date of event example: '2025-07-18T10:32:48+00:00' currency: type: string description: Currency of the price of the request example: EUR price: type: string description: Price of the request example: '0.00072' total_price: type: string description: The total price of the request example: '0.00072' id: type: string description: The unique id of the record in the report example: c0b75100-1a98-454f-b1d8-ac930cfaaaaa description: Conversations Message VoiceAsrRecordsResponse: description: Voice ASR allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: ASR enum: - ASR - type: object properties: records: type: array description: List of voice automatic speech recognition records items: $ref: '#/components/schemas/VoiceAsrRecord' ReportsUsageRecordsResponse: description: Reports Usage allOf: - $ref: '#/components/schemas/BaseRecordsResponse' - type: object properties: product: type: string example: REPORTS-USAGE enum: - REPORTS-USAGE - type: object properties: records: type: array description: List of Reports API usage records items: $ref: '#/components/schemas/ReportsUsageRecord' SmsTrafficControlReportResponse: description: SMS Traffic Control allOf: - $ref: '#/components/schemas/ReportResponseBase' - $ref: '#/components/schemas/SMS-TRAFFIC-CONTROL_ASYNC' SMS-TRAFFIC-CONTROL_ASYNC: description: SMS Traffic Control allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/SmsTrafficControlFields' - type: object properties: product: type: string example: SMS-TRAFFIC-CONTROL enum: - SMS-TRAFFIC-CONTROL VoiceRecord: type: object properties: account_id: type: string description: The account ID (API key) of the Customer. Might be a main account id or a sub-account example: 123g4567 call_id: type: string description: UUID of the call request example: dfc0c915f38ae6701d7d114cde2556b1-1 direction: type: string description: 'Direction of the call, either inbound or outbound. One of: inbound or outbound' example: outbound from: type: string description: The number of the caller requested to be used by the Customer. If special routing rules were used, the actual phone number would be replaced with the number from `forced_from` field example: '12345678912' to: type: string description: The dialed number in a call. For an inbound call, this will be the virtual number. example: '22345678912' forced_from: type: string description: the number used instead of from, but only if there are any special `routing` rules for it. It will be empty if not applicable. example: '33345678912' network: type: string description: Network of the destination number example: 12345 MX-FIXED network_name: type: string description: Name of the network used to send the call request example: Airtel Nigeria country: type: string description: Country where the call request was sent. example: NG country_name: type: string description: Country name where the call request was sent. example: Nigeria date_start: type: string description: 'Date of the start of the call. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:08+00:00' date_end: type: string description: 'Date of the end of the call. Format: yyyy-mm-ddThh:mm:ss±hh:mm Time zone: UTC' example: '2024-02-07T14:22:56+00:00' duration: type: string description: Duration of the call in seconds example: '34' status: type: string description: The final status of the call. Always ANSWERED example: ANSWERED status_description: type: string description: Description of the status of the call example: The call was successful. status_code: type: string description: The SIP/HTTP response code received example: '200' currency: type: string description: Currency of the price of the call example: EUR price: type: string description: Price per minute example: '0.07998' total_price: type: string description: Total price of the call example: '0.018662' id: type: string description: The unique id of the record in the report example: ebbe1234-da56-78a9-9d5c-3da9787c5720 tier_volume: $ref: '#/components/schemas/TierVolume' description: Voice Call MESSAGES_ASYNC: description: Messages API allOf: - $ref: '#/components/schemas/AsyncBaseRequest' - $ref: '#/components/schemas/MessagesFields' - type: object properties: product: type: string example: MESSAGES enum: - MESSAGES InAppVoiceFields: type: object properties: conversation_id: type: string description: Conversation ID example: CON-abc123 status: type: string description: Call termination status example: '200' leg_id: type: string description: Unique leg identifier for the call example: aaaaaaaa-bbbb-cccc-dddd-0123456789ab description: In-App Voice responses: ReportDelete200: description: Report aborted successfully headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/json: schema: $ref: '#/components/schemas/AnyReportResponse' '401': description: Authentication failure headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: oneOf: - description: Missing or Invalid Credentials type: object required: - type - title - instance properties: type: type: string description: Link to error / remediation options example: https://developer.vonage.com/api-errors/#unathorized title: type: string description: Generic error message example: You did not provide correct credentials. detail: type: string description: Additional information about the error example: Check that you're using the correct credentials, and that your account has this feature enabled instance: type: string description: Internal Trace ID example: bf0ca0bf927b3b52e3cb03217e1a1ddf - description: Invalid Application Type type: object required: - type - title - instance properties: type: type: string description: Link to error / remediation options example: https://developer.vonage.com/api-errors/#unprovisioned title: type: string description: Generic error message example: The crendentials provided do not have access to the requested product detail: type: string description: Additional information about the error example: Check your API key is correct and has been whitelisted instance: type: string description: Internal Trace ID example: bf0ca0bf927b3b52e3cb03217e1a1ddf '400': description: Bad Request headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponseWithInvalidParameters' ReportsRecords200: description: Report data retrieved successfully headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/json: schema: $ref: '#/components/schemas/AnyRecordsResponse' '409': description: Conflict headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponse' ReportStatus200: description: Report details retrieved successfully headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/json: schema: $ref: '#/components/schemas/AnyReportResponse' '404': description: Not Found headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponse' ReportsAsync200: description: Report creation request accepted headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/json: schema: $ref: '#/components/schemas/AnyReportResponse' '403': description: Forbidden headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable Entity headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponseWithInvalidParameters' '429': description: Too Many Requests headers: X-Request-Id: $ref: '#/components/headers/X-Request-Id' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' Retry-After: $ref: '#/components/headers/Retry-After' content: application/problem+json: schema: $ref: '#/components/schemas/ErrorResponse' headers: X-RateLimit-Limit: description: Request limit per hour schema: type: integer example: 30 X-RateLimit-Remaining: description: Remaining requests schema: type: integer example: 5 X-Request-Id: description: A unique identifier for the request, used for tracking and debugging schema: type: string format: uuid example: f94b4e56-604e-07e5-e5ad-5a7228618f81 Retry-After: description: Seconds until next request allowed schema: type: integer example: 15 X-RateLimit-Reset: description: Unix timestamp when limit resets schema: type: integer example: 1769182705723 securitySchemes: basicAuth: type: http scheme: basic x-refined-from: - vonage-reports-openapi.json - vonage-reports-openapi.yml x-errors: validation: description: The provided payload is invalid resolution: 'Modify your request to provide a valid payload. * Minimum 8 characters * Maximum 25 characters * Minimum 1 lower case character * Minimum 1 upper case character * Minimum 1 digit ' link: text: View API reference url: /api/account#createAPISecret delete-last-secret: description: You can not delete your only API secret resolution: Add another API secret before deleting this one