openapi: 3.2.0 info: description: "The Chorus API is a REST API that enables you to retrieve information from and perform actions in Chorus. The Chorus API supports the following use cases:\n\n1. Retrieve data about your users in Chorus\n2. Retrieve data about your engagements (meetings and dialer calls)\n3. Upload new recordings into Chorus\n4. Delete recordings from Chorus\n\n# Authentication\nThe Chorus API uses API tokens to authenticate requests. API tokens can be generated for each Chorus user, and is managed via the Personal Settings page within the Chorus application. For users to be able to create API token(s), their role as defined in Chorus must be permitted access to the Chorus API via roles & permissions settings. \nAuthentication is performed using the Authorization header, as in the the following example:\n\n```\ncurl -H \"Authorization:abcdefghijklmnopqrstuvwxyz0123456789\" https://chorus.ai/v3/engagements\n```\n\nAn API token must be associated with a registered user in Chorus to ensure control over data access and permissions, and to ensure traceability. During the early access period, please contact your Chorus customer success manager to obtain your personal API token.\n\n# Privacy and Data Access Control\n\nThe following controls apply when retrieving data or performing an action via the Chorus API.\n\n1. Recordings marked as private are not returned in API response. \n2. If enabled, data access control settings configured for the access key user applies to access via API. This means that in order to retrieve data on all recordings within Chorus, the users associated with the API token must also have access to all recordings.\n3. Permissions on actions a user may perform within the Chorus application as specified in roles & permissions settings also apply to actions performed via API." termsOfService: https://www.chorus.ai/terms title: Chorus Public Playlist Moments API version: 26.33.08 servers: - url: / - url: https://chorus.ai security: - basic: [] - bearer-token: [] - x-ziaccesstoken: [] tags: - name: Public Playlist Moments paths: /api/v1/playlists/moments: post: deprecated: false description: This API creates a new playlist. operationId: post-api-v1-playlists-moments parameters: [] requestBody: content: application/vnd.api+json: example: data: attributes: callid: call_id_12345 description: new moment moment_duration: 7 moment_time: 0.0 playlist: 12345 type: playlist_moment_request schema: $ref: '#/components/schemas/PlaylistMomentRequestForCreateDoc' required: true responses: '201': content: application/json: schema: properties: {} type: object description: Success '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/Conflict' summary: Add a new playlist moment tags: - Public Playlist Moments /api/v1/playlists/moments/{id}: patch: deprecated: false description: This API partially updates the playlist moment with the given ID. operationId: patch-api-v1-playlists-moments-id parameters: - description: id in: path name: id required: true schema: type: string requestBody: content: application/vnd.api+json: example: data: attributes: description: New description for existing playlist moment id: '11111' type: playlist_moment schema: $ref: '#/components/schemas/MomentForPatchDoc' required: true responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/PlaylistMomentDoc' description: Success '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' summary: Partially update a playlist moment tags: - Public Playlist Moments components: responses: BadRequest: content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' description: Bad request Conflict: content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' description: Conflict NotFound: content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' description: Not found schemas: PlaylistMoment: properties: attributes: properties: _created_at: example: '2021-01-01T00:00:00Z' readOnly: true type: string _created_by: readOnly: true type: integer account: properties: id: type: integer name: type: string required: - id - name type: object call_id: type: string date_time: example: '2021-01-01T00:00:00Z' type: string description: type: string meta: properties: is_new: type: boolean was_played: type: boolean required: - is_new - was_played type: object moment_duration: type: integer recording: properties: duration: type: number owner: type: integer required: - duration - owner type: object snippet_time: type: integer subject: type: string user_name: type: string required: - account - call_id - _created_by - _created_at - date_time - description - meta - moment_duration - recording - snippet_time - subject - user_name type: object id: description: The unique ID of the playlist moment. example: '123' title: ID type: string type: description: The type of resource. enum: - playlist_moment example: playlist_moment title: Type type: string required: - attributes - type - id type: object PlaylistMomentDoc: properties: data: $ref: '#/components/schemas/PlaylistMoment' required: - data type: object MomentForPatch: properties: attributes: properties: description: type: - string - 'null' playlist: type: - integer - 'null' type: object id: description: The unique ID of the playlist moment. example: '123' title: ID type: string type: description: The type of resource. enum: - playlist_moment example: playlist_moment title: Type type: string required: - attributes - type - id type: object Error: properties: errors: items: properties: code: type: - string - 'null' detail: type: - string - 'null' id: type: - string - 'null' source: properties: cookie: type: - string - 'null' header: type: - string - 'null' parameter: type: - string - 'null' path: type: - string - 'null' pointer: type: - string - 'null' type: - object - 'null' status: type: - string - 'null' title: type: - string - 'null' type: object type: array required: - errors type: object PlaylistMomentRequestForCreateDoc: properties: data: $ref: '#/components/schemas/PlaylistMomentRequestForCreate' required: - data type: object MomentForPatchDoc: properties: data: $ref: '#/components/schemas/MomentForPatch' required: - data type: object PlaylistMomentRequestForCreate: properties: attributes: properties: callid: type: string description: type: - string - 'null' moment_duration: type: number moment_time: type: - number - 'null' playlist: type: integer required: - callid - moment_duration - playlist type: object type: description: The type of resource. enum: - playlist_moment_request example: playlist_moment_request title: Type type: string required: - attributes - type type: object securitySchemes: basic: description: HTTP basic authentication (for those APIs that support it). scheme: basic type: http bearer-token: description: A Chorus token or a signed JWT. scheme: bearer type: http x-ziaccesstoken: description: A ZoomInfo access token. in: header name: x-ziaccesstoken type: apiKey