Cisco Voice Portal · Capability

Cisco Voice Portal Reporting API — Call Detail Records

Cisco Voice Portal Reporting API — Call Detail Records. 3 operations. Lead operation: Cisco Voice Portal Query Call Detail Records. Self-contained Naftiko capability covering one Cisco Voice Portal business surface.

Run with Naftiko Cisco Voice PortalCall Detail Records

What You Can Do

GET
Getcalldetailrecords — Cisco Voice Portal Query Call Detail Records
/v1/cdr
GET
Getcalldetailrecord — Cisco Voice Portal Get a Specific Call Detail Record
/v1/cdr/{callguid}
GET
Getcalllegs — Cisco Voice Portal Get Call Legs for a Call
/v1/cdr/{callguid}/legs

MCP Tools

cisco-voice-portal-query-call

Cisco Voice Portal Query Call Detail Records

read-only idempotent
cisco-voice-portal-get-specific

Cisco Voice Portal Get a Specific Call Detail Record

read-only idempotent
cisco-voice-portal-get-call

Cisco Voice Portal Get Call Legs for a Call

read-only idempotent

Capability Spec

reporting-call-detail-records.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Cisco Voice Portal Reporting API — Call Detail Records
  description: 'Cisco Voice Portal Reporting API — Call Detail Records. 3 operations. Lead operation: Cisco Voice Portal Query
    Call Detail Records. Self-contained Naftiko capability covering one Cisco Voice Portal business surface.'
  tags:
  - Cisco Voice Portal
  - Call Detail Records
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CISCO_VOICE_PORTAL_API_KEY: CISCO_VOICE_PORTAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: reporting-call-detail-records
    baseUri: https://{reporting-server}:8111/cvp-reporting/rest
    description: Cisco Voice Portal Reporting API — Call Detail Records business capability. Self-contained, no shared references.
    resources:
    - name: cdr
      path: /cdr
      operations:
      - name: getcalldetailrecords
        method: GET
        description: Cisco Voice Portal Query Call Detail Records
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: startTime
          in: query
          type: string
          description: Start of the query time range (ISO 8601)
          required: true
        - name: endTime
          in: query
          type: string
          description: End of the query time range (ISO 8601)
          required: true
        - name: calledNumber
          in: query
          type: string
          description: Filter by called number (DNIS)
        - name: callingNumber
          in: query
          type: string
          description: Filter by calling number (ANI)
        - name: callGuid
          in: query
          type: string
          description: Filter by unique call GUID
        - name: callResult
          in: query
          type: string
          description: Filter by call result
        - name: offset
          in: query
          type: integer
          description: Pagination offset
        - name: limit
          in: query
          type: integer
          description: Maximum number of records to return
        - name: sortBy
          in: query
          type: string
          description: Field to sort by
        - name: sortOrder
          in: query
          type: string
    - name: cdr-callGuid
      path: /cdr/{callGuid}
      operations:
      - name: getcalldetailrecord
        method: GET
        description: Cisco Voice Portal Get a Specific Call Detail Record
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: callGuid
          in: path
          type: string
          description: Globally unique call identifier
          required: true
    - name: cdr-callGuid-legs
      path: /cdr/{callGuid}/legs
      operations:
      - name: getcalllegs
        method: GET
        description: Cisco Voice Portal Get Call Legs for a Call
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: callGuid
          in: path
          type: string
          required: true
    authentication:
      type: basic
      username: '{{env.CISCO_VOICE_PORTAL_USER}}'
      password: '{{env.CISCO_VOICE_PORTAL_PASS}}'
  exposes:
  - type: rest
    namespace: reporting-call-detail-records-rest
    port: 8080
    description: REST adapter for Cisco Voice Portal Reporting API — Call Detail Records. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/cdr
      name: cdr
      description: REST surface for cdr.
      operations:
      - method: GET
        name: getcalldetailrecords
        description: Cisco Voice Portal Query Call Detail Records
        call: reporting-call-detail-records.getcalldetailrecords
        with:
          startTime: rest.startTime
          endTime: rest.endTime
          calledNumber: rest.calledNumber
          callingNumber: rest.callingNumber
          callGuid: rest.callGuid
          callResult: rest.callResult
          offset: rest.offset
          limit: rest.limit
          sortBy: rest.sortBy
          sortOrder: rest.sortOrder
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cdr/{callguid}
      name: cdr-callguid
      description: REST surface for cdr-callGuid.
      operations:
      - method: GET
        name: getcalldetailrecord
        description: Cisco Voice Portal Get a Specific Call Detail Record
        call: reporting-call-detail-records.getcalldetailrecord
        with:
          callGuid: rest.callGuid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cdr/{callguid}/legs
      name: cdr-callguid-legs
      description: REST surface for cdr-callGuid-legs.
      operations:
      - method: GET
        name: getcalllegs
        description: Cisco Voice Portal Get Call Legs for a Call
        call: reporting-call-detail-records.getcalllegs
        with:
          callGuid: rest.callGuid
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: reporting-call-detail-records-mcp
    port: 9090
    transport: http
    description: MCP adapter for Cisco Voice Portal Reporting API — Call Detail Records. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: cisco-voice-portal-query-call
      description: Cisco Voice Portal Query Call Detail Records
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: reporting-call-detail-records.getcalldetailrecords
      with:
        startTime: tools.startTime
        endTime: tools.endTime
        calledNumber: tools.calledNumber
        callingNumber: tools.callingNumber
        callGuid: tools.callGuid
        callResult: tools.callResult
        offset: tools.offset
        limit: tools.limit
        sortBy: tools.sortBy
        sortOrder: tools.sortOrder
      outputParameters:
      - type: object
        mapping: $.
    - name: cisco-voice-portal-get-specific
      description: Cisco Voice Portal Get a Specific Call Detail Record
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: reporting-call-detail-records.getcalldetailrecord
      with:
        callGuid: tools.callGuid
      outputParameters:
      - type: object
        mapping: $.
    - name: cisco-voice-portal-get-call
      description: Cisco Voice Portal Get Call Legs for a Call
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: reporting-call-detail-records.getcalllegs
      with:
        callGuid: tools.callGuid
      outputParameters:
      - type: object
        mapping: $.