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