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.