openapi: 3.2.0 info: title: Reporting Authentication API description: "Reporting APIs are a collection of RESTful APIs that provide a convenient and secure way for integrating reporting data from Observe.AI into external system of your choice. These APIs are asynchronous and render data in a JSON format. Observe.AI uses OAuth 2.0 protocol for authentication of APIs. Please refer to Authentication section to obtain credentials to access Reporting APIs. Below are the 3 APIs that we support -\n
    \n
  1. Interactions API- To fetch Moments, Transcripts and Interactions(Voice calls, Webchat, Email) metadata
  2. \n
  3. Evaluations API - To fetch Evaluation forms and submitted Evaluations along with question-wise scores and aggregate scores.
  4. \n
  5. Coachings API - To fetch Coaching sessions with mapped Evaluations and related Notes.
  6. \n
  7. Ack Dispute API - To fetch Ack/Dispute state changes for Evaluations.
  8. \n
  9. Summarization AI API - To fetch GenAI-based Summaries along with Moments, Transcripts and metadata for all Interactions(Voice calls, Webchat).
  10. \n
\n" x-logo: url: https://cdn.observe.ai/observeaiLogo.png servers: - url: https://{base_url} description: Generated server url, where `{base_url}` corresponds to the specific cluster's base URL. tags: - name: Authentication x-displayName: Authentication description: "\nOAuth 2.0, which stands for “Open Authorization”, is a standard design to allow a website or application to access resources hosted by other web apps on behalf of a user\n\nNote: If you have been using Basic Auth for the APIs, we request you to switch to OAuth2.0 based Auth for the APIs by 31-Dec-2022. Detailed instructions to create API Credentials and make the switch to OAuth are documented as below. Please reach out to your CSM for more details.\n\n

OAuth App Credential Flow

\n\nThe App Credentials flow is recommended for server-side (AKA confidential) client applications with no end user, which normally describes machine-to-machine communication. Your application needs to securely store its app ID and secret and pass those to Observe Authentication Api in exchange for an access token.\n\n

Steps required for generating access token

\n\n 1. API Credential Generation:\n\n 2. Access Token\n\n\n
  • The video in Getting Started outlines these steps in detail
  • \n" paths: /v1/oauth/token: post: tags: - Authentication operationId: Create Auth Token requestBody: content: application/json: schema: $ref: '#/components/schemas/OauthTokenRequest' consumes: - application/json produces: - '*/*' parameters: - in: body name: oauthTokenRequest description: oauthTokenRequest required: true schema: $ref: '#/components/schemas/OauthTokenRequest' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/OauthTokenResponse' examples: '0': value: '{"auth_token":"", "expires_in":7200 (in seconds)}' '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/ErrorMessage' examples: '0': value: '{"error_code": "auth_token_error", "error_description": "Invalid/Inactive Credentials"}' '403': description: Forbidden content: '*/*': schema: $ref: '#/components/schemas/ErrorMessage' '404': description: Not Found content: '*/*': schema: $ref: '#/components/schemas/ErrorMessage' components: schemas: OauthTokenResponse: type: object properties: auth_token: type: string expires_in: type: integer format: int32 title: OauthTokenResponse OauthTokenRequest: type: object properties: app_id: type: string app_secret: type: string title: OauthTokenRequest ErrorMessage: type: object properties: error_code: type: string error_description: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT DsrDeleteRequest: type: object required: - entity_type - rules properties: entity_type: type: string description: Entity type to delete enum: - AUDIO_TRANSCRIPT - AUDIO - TRANSCRIPT - SCREEN_RECORDING rules: type: array items: $ref: '#/components/schemas/DsrRule' DsrRule: type: object required: - type - name properties: type: type: string enum: - OAI_METADATA - CUSTOMER_METADATA name: type: string description: For OAI_METADATA use DURATION, ENTITYTYPE, or STATUS values: type: array items: type: string DsrDeleteResponse: type: object properties: job_id: type: string status: type: string enum: - QUEUED - CREATED - PROGRESS - COMPLETED - STOPPED - FAILED message: type: string requested_at: type: string format: date-time expected_completion_by: type: string format: date-time DsrStatusResponse: type: object properties: request_id: type: string status: type: string enum: - QUEUED - CREATED - PROGRESS - COMPLETED - STOPPED - FAILED status_message: type: string x-tagGroups: - name: Reporting APIs tags: - ReportingService-Overview - Authentication - Interactions - Summary - Evaluations - Coachings - Ack Dispute Flow - CallsReportVsInteractions - ReleaseNotes - name: DSR APIs tags: - DSR-Overview - DSR - DSR Release Notes - name: Bulk Export tags: - Bulk-Export-Overview - Bulk-Export-Data-Definitions