Webex Captures API

The Captures API from Webex — 1 operation(s) for captures.

OpenAPI Specification

webex-captures-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Webex Admin Address Book Captures API
  version: 1.0.0
  description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling.
tags:
- name: Captures
paths:
  /v1/captures/query:
    post:
      tags:
      - Captures
      summary: List Captures
      description: Retrieve a list of Captures given a set of task IDs
      operationId: downloadMultiRecordingPath
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordingBodyParams'
      responses:
        '200':
          description: 'Returns Recording and Transcription details. If a provided taskId is not found for the specified organization, the API will return a 200 OK response with empty recording and transcription fields for that task.

            This behavior is intentional to allow partial results when multiple taskIds are provided; unmatched taskIds do not result in a 4xx error.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadMultipleInteractionsResponse'
        '400':
          description: 'Error: urlExpiration should be greater than 0.'
        '401':
          description: Unauthorized, token is invalid
        '403':
          description: Forbidden From Accessing Resources
        '404':
          description: Not Found
        '429':
          description: Too many requests have been sent in a given amount of time and the request has been rate limited
        '500':
          description: An Unexpected Error Occurred
components:
  schemas:
    TranscriptMulti:
      type: object
      properties:
        Source:
          type: string
          description: Source of the transcription
          example: recording|chat|sms etc.
        Provider:
          type: string
          description: Provider of the generated transcription
          example: CISCO
        id:
          type: string
          description: 'Voice Channel Transcript: Ccai ConfigId, Digital Channel Transcript: Conversation Id'
          example: cfg-id-101|CSRKT4K37D9OM2567
        fileName:
          type: string
          description: The file name of the transcript.
          example: voiceTranscript.json|emailTranscript.json|facebookTranscript.json etc.
        filePath:
          type: string
          description: Capture download url. Please refer [Transcript Details Guide](/docs/digital-transcript-json-details) for more details.
          example: https://cjp-ccone-devus1-media-storage-recording.s3.amazonaws.com/9e4895c9-787b-4615-b15f-f1b3b12c3091/
        startTime:
          type: string
          description: Begin time of capture(epoch timestamp)
          example: '1617373126000'
        languageCode:
          type: string
          description: Language of the transcript
          example: en-US
        createTime:
          type: string
          description: Create time of capture(epoch timestamp)
          example: '1617373126000'
    RecordingQuery:
      required:
      - taskIds
      type: object
      properties:
        orgId:
          type: string
          description: Organization ID to use for this operation. If unspecified, inferred from token. Token must have permission to interact with this organization.
          example: 8e18afdf-db79-449b-b4f5-ee4f14d9f45e
        urlExpiration:
          maximum: 60
          type: integer
          description: Expiration time of returned s3 url (in minutes).
          format: int32
          example: 30
        taskIds:
          maxItems: 10
          uniqueItems: true
          type: array
          description: Comma separated list of taskIds to gather captures for. Maximum number of taskIds allowed are 10
          example:
          - 8e18afdf-db79-449b-b4f5-ee4f14d9f45e
          items:
            type: string
            format: uuid
        includeSegments:
          type: boolean
          description: Flag; (true) for individual capture segments of main recording, (false) for a stitched capture.
          example: true
        includeVARecordings:
          type: boolean
          description: Flag; (true) for including virtual agent (VA) recordings, (false) for excluding virtual agent recordings. The default value is false.
          example: false
    RecordingAttributes:
      type: object
      properties:
        fileName:
          type: string
          description: The file name of the recording.
          example: recording-1.wav
        filePath:
          type: string
          description: Capture download url.
          example: https://cjp-ccone-devus1-media-storage-recording.s3.amazonaws.com/9e4895c9-787b-4615-b15f-f1b3b12c3091/
        startTime:
          type: integer
          description: Begin time of capture(epoch timestamp)
          format: int64
          example: 1617373126000
        stopTime:
          type: integer
          description: End time of capture(epoch timestamp).
          format: int64
          example: 1627373126000
        participants:
          type: array
          description: Comma separated list of CI user Id (UUID) of agents, masked customer contact email/phone details and virtual agent id if any involved in the recording.
          example:
          - e890a591-63f0-4984-a8f2-00e631368fb4
          - +121****1219
          items:
            type: string
        channel1:
          type: string
          description: Caller - channel contains caller audio only, Agent - channel contains agent audio only for main call and its segments, VA - channel contains virtual agent audio only.
          example: Caller|Agent|VA
        channel2:
          type: string
          description: Agent if callType is consult. For main callType, Agent/Caller/VA/Others based on number of participants.
          example: Caller|Agent|VA|Others
        callType:
          type: string
          description: main if recording belongs to main call; consult if recording belongs to consult call; va-main if recording belongs to virtual agent in main call; va-consult if recording belongs to virtual agent in consult call.
          example: main|consult|va-main|va-consult
        sensitive:
          type: boolean
          description: Applicable only to virtual agent recordings. Flag; (true) indicates the virtual agent recording may contain sensitive information, (false) otherwise.
          example: true
    MultipleInteractionsRecording:
      required:
      - recording
      - transcription
      type: object
      properties:
        taskId:
          type: string
          description: The ID of the task.
          format: uuid
          example: e890a591-63f0-4984-a8f2-00e631368fb4
        recording:
          type: array
          items:
            $ref: '#/components/schemas/RecordingMulti'
        transcription:
          type: array
          items:
            $ref: '#/components/schemas/TranscriptMulti'
    RecordingMulti:
      required:
      - attributes
      type: object
      properties:
        id:
          type: string
          description: The ID of the recording.
          example: f1b130da-0cad-4d8b-91dd-7a3085440e89
        segment:
          type: boolean
          description: Flag; Indicates if this is the entire recording or only a segment of main recording. This flag will be always false for consult callType.
          example: true
        attributes:
          $ref: '#/components/schemas/RecordingAttributes'
    RecordingBodyParams:
      required:
      - query
      type: object
      properties:
        query:
          $ref: '#/components/schemas/RecordingQuery'
    DownloadMultipleInteractionsResponse:
      required:
      - data
      - meta
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/RecordingMetaData'
        data:
          type: array
          items:
            $ref: '#/components/schemas/MultipleInteractionsRecording'
    RecordingMetaData:
      type: object
      properties:
        orgId:
          type: string
          description: Organization ID used for this operation.
          format: uuid
          example: f1b130da-0cad-4d8b-91dd-7a3085440e89
        urlExpiration:
          type: integer
          description: Number of minutes (from now) when the signed url expires.
          format: int32
          example: 30
  securitySchemes:
    oauth2:
      flows:
        authorizationCode:
          authorizationUrl: /
          scopes: {}
          tokenUrl: /
      type: oauth2
    bearer-key:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
    bearerAuth:
      type: oauth2
      description: OAuth 2.0 Bearer token authentication
      flows:
        authorizationCode:
          authorizationUrl: https://webexapis.com/v1/authorize
          tokenUrl: https://webexapis.com/v1/access_token
          scopes:
            spark:applications_token: Create access tokens for Service Apps