openapi: 3.2.0
info:
title: Reporting Coachings 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 \n | Param Name | \n Type | \n Description | \n
\n \n | coaching_sessions | \n List | \n List of all coaching sessions in the start date and the end date provided in the POST API call | \n
\n \n | id | \n String | \n Unique ID of the coaching session | \n
\n \n | agent_id | \n String | \n The ID of the agent who was coached. | \n
\n \n | partner_agent_id | \n String | \n The ID of the agent who was coached in client system. | \n
\n \n | agent_name | \n String | \n Name of the agent who was coached. | \n
\n \n | agent_email | \n String | \n Email ID of the agent who was coached | \n
\n \n | agents_status | \n String | \n Agent status on the system: ACTIVE or IN_ACTIVE | \n
\n \n | coach_id | \n String | \n The ID of the coach(the user who coached the agent). | \n
\n \n | partner_coach_id | \n String | \n The ID of the coach(the user who coached the agent) in the client system. | \n
\n \n | coach_name | \n String | \n Name of the coach(the user who coached the agent). | \n
\n \n | coach_email | \n String | \n The name of the agent who has participated in that particular interaction. | \n
\n \n | coach_status | \n String | \n Coach status on the system: ACTIVE or IN_ACTIVE. | \n
\n \n | url | \n String | \n URL to the coaching session on Observe AI dashboard. | \n
\n \n | feedback_summary | \n String | \n Feedback summary provided by the coach while creating the coaching session. | \n
\n \n | coaching_areas | \n List | \n Areas selected for coaching the agent. | \n
\n \n | action_plan | \n String | \n Action plan provided by the coach while creating the coaching session | \n
\n \n | status | \n String | \n Status of the coaching session - whether submitted, edited, or deleted. | \n
\n \n | created_at | \n Data | \n Date when coaching session was submitted. | \n
\n \n | updated_at | \n Date | \n Date when coaching session was updated. | \n
\n \n | follow_up_date | \n Date | \n The follow-up date set while creating a coaching session. | \n
\n \n | evaluations | \n List | \n The phrase start time in milliseconds. | \n
\n \n | evaluations.evaluation_form_id | \n String | \n The ID of the evaluation form. | \n
\n \n | evaluations.evaluation_ids | \n List | \n List of Ids of evaluations for a particular evaluation form. | \n
\n \n | coaching_ack_status | \n String | \n There are 3 status possible:\n \n - SUBMITTED: Coaching session submitted by coach without mandating the acknowledgement box.
\n - AWAITING_ACK: Once the coaching session is submitted by the coach with mandating the acknowledgement box, this state suggests that agent has not yet acknowledged the coaching session
\n - ACKED: Once the coaching session is submitted by the coach with mandating the acknowledgement box, the agent has acknowledged with or without comment
\n \n | \n
\n \n | coaching_ack_info.ack_date | \n Date | \n This is the date when the agent acknowledges receiving and understanding the coaching session. It confirms the agent's awareness of the feedback provided. | \n
\n \n | coaching_ack_info.comment | \n String | \n This field captures the agent’s feedback or reflections on the coaching session. It provides space for the agent to share thoughts while acknowledging the session. | \n
\n
\n"
content:
'*/*':
schema:
$ref: '#/components/schemas/GetJobResponse'
examples:
'0':
value: '{"start_date":"2022-03-03T00:00:12.000+00:00","end_date":"2022-04-04T00:14:00.000+00:00","status":"COMPLETED","url":"https://e2e-data-out.s3.amazonaws.com/reports/interactions/3058bc09-6d4d-4f22-9f69-6992f3520e56.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220510T045319Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=YOUR_AWS_ACCESS_KEY_ID%2FYYYYMMDD%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=YOUR_AWS_SIGNATURE_PLACEHOLDER"}'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
'0':
value: '{"error_code": "auth_token_error", "error_description": "invalid auth token"}'
'403':
description: Access Denied
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
'0':
value: '{"error_code":"access_denied","error_description":"unauthorized_user"}'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
'0':
value: '{"error_code":"resource_not_found","error_description":"jobId 3058bc09-da96-490c-824f-f42646160f0a of type COACHING not found or does not belong to the account"}'
'1':
value: '{"timestamp": "2022-05-17T04:23:16.247+00:00", "status": 404, "error": "Not Found", "message": "No message available", "path": "/v1/data/reports/coaching/3058bc09-1a58-44f3-9674-b5be9768d313"}'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
examples:
'0':
value: '{"timestamp": "2022-05-17T04:21:37.669+00:00", "status": 405, "error": "Method Not Allowed", "message": "Request method ''POST'' not supported", "path": "/v1/data/reports/coachings/3058bc09-da96-490c-824f-f42646160f0a"}'
'429':
description: Rate Limit Exceeded
content:
'*/*':
schema:
$ref: '#/components/schemas/RateLimitMessage'
examples:
'0':
value: '{"message": "API rate limit exceeded"}'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
components:
schemas:
RawJobRequest:
required:
- end_date
- start_date
type: object
properties:
start_date:
type: string
example: '2022-03-03T00:00:12.000+00:00'
description: The date should be given in the ISO format.
end_date:
type: string
example: '2022-04-04T00:14:00.000+00:00'
description: The date should be given in the ISO format.
format:
type: string
example: JSON
enum:
- JSON
PostJobResponse:
type: object
properties:
request_id:
type: string
start_date:
type: string
format: date-time
end_date:
type: string
format: date-time
status:
type: string
enum:
- QUEUED
- INPROGRESS
- COMPLETED
- EXPIRED
- FAILED
RateLimitMessage:
type: object
properties:
message:
type: string
description: API rate limit exceeded
GetJobResponse:
type: object
properties:
start_date:
type: string
format: date-time
end_date:
type: string
format: date-time
status:
type: string
enum:
- QUEUED
- INPROGRESS
- COMPLETED
- EXPIRED
- FAILED
url:
type: string
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