Cisco Voice Portal Call Detail Records API

Access and query call detail records

OpenAPI Specification

cisco-voice-portal-call-detail-records-api-openapi.yml Raw ↑
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.