Cisco Voice Portal Call Detail Records API
Access and query call detail records
Access and query call detail records
openapi: 3.1.0
info:
title: Cisco Voice Portal Administration Application Configuration Call Detail Records API
description: The Cisco Unified Customer Voice Portal (CVP) Operations, Administration, Maintenance, and Provisioning (OAMP) API provides RESTful web services for managing CVP deployment configuration. This API enables programmatic access to device management, application deployment, system settings, and provisioning operations through the CVP OAMP Server. The OAMP Server is the central management component of the CVP solution, typically accessed via the Unified CVP Operations Console (OAMP web interface) on port 9443.
version: 12.6.0
contact:
name: Cisco Developer Support
url: https://developer.cisco.com/
license:
name: Cisco DevNet
url: https://developer.cisco.com/site/license/
x-provider: cisco
x-product: unified-customer-voice-portal
servers:
- url: https://{oamp-server}:9443/oamp/rest
description: CVP OAMP Server REST API
variables:
oamp-server:
default: cvp-oamp.example.com
description: Hostname or IP of the CVP OAMP Server
security:
- basicAuth: []
- sessionCookie: []
tags:
- name: Call Detail Records
description: Access and query call detail records
paths:
/cdr:
get:
operationId: getCallDetailRecords
summary: Cisco Voice Portal Query Call Detail Records
description: Retrieves call detail records (CDRs) based on specified filter criteria. CDRs contain comprehensive information about each call processed by CVP including timing, routing decisions, application interactions, and outcome.
tags:
- Call Detail Records
parameters:
- name: startTime
in: query
required: true
description: Start of the query time range (ISO 8601)
schema:
type: string
format: date-time
- name: endTime
in: query
required: true
description: End of the query time range (ISO 8601)
schema:
type: string
format: date-time
- name: calledNumber
in: query
description: Filter by called number (DNIS)
schema:
type: string
- name: callingNumber
in: query
description: Filter by calling number (ANI)
schema:
type: string
- name: callGuid
in: query
description: Filter by unique call GUID
schema:
type: string
- name: callResult
in: query
description: Filter by call result
schema:
type: string
enum:
- completed
- abandoned
- transferred
- error
- name: offset
in: query
description: Pagination offset
schema:
type: integer
default: 0
- name: limit
in: query
description: Maximum number of records to return
schema:
type: integer
default: 100
maximum: 1000
- name: sortBy
in: query
description: Field to sort by
schema:
type: string
default: callStartTime
enum:
- callStartTime
- callEndTime
- calledNumber
- callingNumber
- name: sortOrder
in: query
schema:
type: string
enum:
- asc
- desc
default: desc
responses:
'200':
description: Call detail records matching the query
content:
application/json:
schema:
$ref: '#/components/schemas/CdrQueryResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cdr/{callGuid}:
get:
operationId: getCallDetailRecord
summary: Cisco Voice Portal Get a Specific Call Detail Record
description: Retrieves the complete call detail record for a specific call, identified by its globally unique identifier (GUID). Includes all call legs, application interactions, and ECC variables.
tags:
- Call Detail Records
parameters:
- name: callGuid
in: path
required: true
description: Globally unique call identifier
schema:
type: string
responses:
'200':
description: Call detail record
content:
application/json:
schema:
$ref: '#/components/schemas/CallDetailRecord'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cdr/{callGuid}/legs:
get:
operationId: getCallLegs
summary: Cisco Voice Portal Get Call Legs for a Call
description: Retrieves all individual call legs associated with a specific call. A call may have multiple legs representing transfers, conferences, or application hand-offs within the CVP system.
tags:
- Call Detail Records
parameters:
- name: callGuid
in: path
required: true
schema:
type: string
responses:
'200':
description: Call legs
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CallLeg'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
responses:
Unauthorized:
description: Authentication required or credentials invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Requested resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
InternalError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
CallLeg:
type: object
properties:
legId:
type: string
example: '500123'
callGuid:
type: string
example: '500123'
legType:
type: string
enum:
- inbound
- outbound
- transfer
- conference
description: Type of call leg
example: inbound
startTime:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
endTime:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
duration:
type: integer
description: Leg duration in seconds
example: 10
fromUri:
type: string
description: SIP From URI
example: example_value
toUri:
type: string
description: SIP To URI
example: example_value
serverHostname:
type: string
description: Server that handled this leg
example: example_value
sipResponseCode:
type: integer
description: Final SIP response code for this leg
example: 10
CdrQueryResult:
type: object
properties:
totalRecords:
type: integer
description: Total number of matching records
example: 10
offset:
type: integer
example: 10
limit:
type: integer
example: 10
records:
type: array
items:
$ref: '#/components/schemas/CallDetailRecord'
example: []
CallDetailRecord:
type: object
properties:
callGuid:
type: string
description: Globally unique call identifier
example: '500123'
callStartTime:
type: string
format: date-time
description: Call start timestamp
example: '2026-01-15T10:30:00Z'
callEndTime:
type: string
format: date-time
description: Call end timestamp
example: '2026-01-15T10:30:00Z'
callingNumber:
type: string
description: Caller ANI (Automatic Number Identification)
example: example_value
calledNumber:
type: string
description: Called DNIS (Dialed Number Identification Service)
example: example_value
callResult:
type: string
enum:
- completed
- abandoned
- transferred
- error
description: Final call outcome
example: completed
callDuration:
type: integer
description: Total call duration in seconds
example: 10
selfServiceDuration:
type: integer
description: Duration of self-service (IVR) portion in seconds
example: 10
queueDuration:
type: integer
description: Duration in queue in seconds
example: 10
applicationName:
type: string
description: VXML application that handled the call
example: example_value
callServerHostname:
type: string
description: Call Server that processed the call
example: example_value
vxmlServerHostname:
type: string
description: VXML Server that executed the application
example: example_value
sipCallId:
type: string
description: SIP Call-ID header value
example: '500123'
icmCallKey:
type: string
description: ICM/UCCE call key for correlation
example: example_value
eccVariables:
type: object
additionalProperties:
type: string
description: Expanded Call Context (ECC) variables
example: example_value
transferDestination:
type: string
description: Transfer destination number if the call was transferred
example: example_value
errorCode:
type: string
description: Error code if the call ended in error
example: example_value
Error:
type: object
properties:
code:
type: string
example: example_value
message:
type: string
example: example_value
details:
type: string
example: example_value
timestamp:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication using CVP OAMP administrative credentials. The default administrator account is configured during CVP installation.
sessionCookie:
type: apiKey
in: cookie
name: JSESSIONID
description: Session-based authentication obtained after login. The JSESSIONID cookie is returned after successful basic authentication.