openapi: 3.2.0
info:
title: Analytics Producer Management Measure Producers API
description: 'This is the Analytics Producer Management API. This REST interface provides APIs to:
- read the list of Measure Producers
- read details regarding each registered Measure Producer such as dimension and measure sets
- read translations from the dictionary of a registered Measure Producer for one or more locales'
contact:
name: Avaya API Team
url: https://developers.avayacloud.com/onecloud-ccaas
email: apiteam@avaya.com
license:
name: Avaya Software Development Kit (SDK) Software License Terms
url: http://support.avaya.com/css/P8/documents/101038288
version: 1.0.1
servers:
- url: '{protocol}://{server}/{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
basePath:
default: api/analytics/producer-management
- url: '{protocol}://{server}:{port}'
description: Internal API
variables:
protocol:
enum:
- http
- https
default: http
server:
default: analytics-data-subscriber
port:
enum:
- '80'
- '443'
default: '80'
security:
- {}
- BearerAuth: []
tags:
- name: Measure Producers
description: Operations connected to measure producer management.
paths:
/v1/accounts/{accountId}/measure-producers:
parameters:
- $ref: '#/components/parameters/accountId'
get:
tags:
- Measure Producers
summary: List Measure Producers
description: Retrieve the list of all the registered measure producers for the given parameters. Each measureProducer object contains high level information such as the `source` and `version`. Detailed information such as the measures sets are omitted to limit the size of the response. To get detailed information regarding a measureProducer, refer to `GET /v1/accounts/{accountId}/measure-producers/{measureProducerId}`
operationId: getAnalyticsMeasureProducers
parameters:
- $ref: '#/components/parameters/processorType'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MeasureProducer'
examples:
List Measure Producers:
$ref: '#/components/examples/ListMeasureProducers'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
deprecated: false
/v1/accounts/{accountId}/measure-producers/{measureProducerId}:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/measureProducerId'
get:
tags:
- Measure Producers
summary: Get Measure Producer
description: Return a fully populated measure producer object matching the given parameters.
operationId: getAnalyticsMeasureProducerDetails
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MeasureProducer'
examples:
Agent Producer:
$ref: '#/components/examples/AgentProducer'
Agent by Channel:
$ref: '#/components/examples/AgentByChannel'
DialogDetail Measure:
$ref: '#/components/examples/DialogDetailMeasure'
Queue by Channel:
$ref: '#/components/examples/QueueByChannel'
Queue Measure Producer:
$ref: '#/components/examples/QueueMeasureProducer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
components:
schemas:
Measure:
type: object
description: Property which can be calculated by events in the system. e.g. AgentId, AgentState, Calls Waiting, Total Call Duration.
required:
- name
- type
properties:
name:
type: string
minLength: 1
maxLength: 256
description: Name of the measure
example: agentId
type:
type: string
minLength: 1
maxLength: 36
description: The type of the measure value.
enum:
- STRING
- NUMBER
- DURATION
- DATE
- TIME_IN_STATE
displayName:
type: string
description: TODO
example: Agent Id
active:
type: boolean
description: Indicates if the measure is actively being calculated by Analytics.
example: true
MeasureProducer:
type: object
description: Detailed information about a measure producer registered in Analytics. Includes measure sets and measure data.
required:
- measureProducerName
- processorType
- version
- measureSets
properties:
measureProducerId:
type: string
readOnly: true
minLength: 1
maxLength: 36
description: The id that represents the measure producer.
example: AgentByChannel_itd_1.0.0
measureProducerName:
type: string
minLength: 1
maxLength: 256
description: The name of the measure producer.
example: AgentByChannel
processorType:
type: string
minLength: 1
maxLength: 36
description: 'Type of processor associated with this Measure Producer. Possible values include: ITD (Interval To Date), JRNL (Journal), ADM (Admin), CDR (Contact Details Report)'
example: ITD
enum:
- ITD
- JRNL
- ADM
- CDR
description:
type: string
minLength: 1
maxLength: 256
description: A short description of the measure producer.
example: Avaya Experience Platform™ metrics
version:
type: string
minLength: 1
maxLength: 36
description: The version number of the measure producer.
example: 1.0.0
measureSets:
$ref: '#/components/schemas/MeasureSets'
MeasureSet:
type: object
description: Specific Attribute providing information about a measure set.
required:
- keys
- measures
properties:
keys:
type: array
minItems: 1
maxItems: 25
description: The unique keys associated with the measure set.
items:
type: string
example:
- agentId
- channelId
measures:
type: array
minItems: 1
maxItems: 25
description: Array of attributes providing information about measures e.g. answered, offered.
items:
$ref: '#/components/schemas/Measure'
Problem:
type: object
description: 'Problem Detail as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs RFC 7807
'
properties:
type:
type: string
format: uri
description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).
'
default: about:blank
example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
title:
type:
- string
- 'null'
description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized).
'
example: Service Unavailable
status:
type:
- integer
- 'null'
format: int32
description: 'The HTTP status code generated by the origin server for this occurrence of the problem.
'
minimum: 100
example: 503
exclusiveMaximum: 600
detail:
type:
- string
- 'null'
description: 'A human readable explanation specific to this occurrence of the problem.
'
example: Connection to database timed out
instance:
type:
- string
- 'null'
format: uri
description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
'
violations:
type:
- array
- 'null'
description: 'A list of violations that occurred as a result of invalid data provided as part of a request.
'
items:
type: object
properties:
field:
type: string
description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body.
'
example: accountId
message:
type: string
description: 'A human readable explanation specific to this occurrence of the violation.
'
example: must match "^[a-zA-Z]{6}$"
code:
type: integer
format: int32
description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change.
'
example: 20006
example:
- field: emailAddress
message: must not be null
code: 20002
- field: accountId
message: must match "^[a-zA-Z]{6}$"
code: 20006
MeasureSets:
type: array
description: Array of attributes providing information about data e.g. Agent, Routing Service.
minItems: 1
maxItems: 25
items:
$ref: '#/components/schemas/MeasureSet'
examples:
ErrorForbidden:
description: Forbidden
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden
title: Forbidden
status: 403
detail: According to the access control policy the current user and/or accountId does not have permission to access this resource.
AgentByChannel:
value:
measureProducerId: AgentByChannel_itd_1.0.0
measureProducerName: AgentByChannel
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
- channelId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: activeDuration
type: DURATION
displayName: Active Duration
active: true
ErrorConstraintViolation:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
title: Constraint Violation
status: 400
detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
violations:
- field: accountId
message: must not be null
ErrorNotFound:
description: Not Found
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#resource-not-found
title: Resource Not Found
status: 404
detail: Resource not found.
DialogDetailMeasure:
value:
measureProducerId: DialogDetail_cdr_1.0.0
measureProducerName: DialogDetail
processorType: CDR
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
- channelId
measures:
- name: abandonedIndicator
type: STRING
displayName: Abandoned Indicator
active: true
- name: acwEndTimestamp
type: DATE
displayName: Acw End Timestamp
active: true
ErrorUnauthorized:
description: Unauthorized
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized
title: Unauthorized
status: 401
detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis
QueueMeasureProducer:
value:
measureProducerId: Queue_itd_1.0.0
measureProducerName: Queue
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- queueId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: abandonedFromQueue
type: NUMBER
displayName: Abandoned From Queue
active: true
AgentProducer:
value:
measureProducerId: Agent_itd_1.0.0
measureProducerName: Agent
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: activeDuration
type: DURATION
displayName: Active Duration
active: true
- name: timeActive
type: TIME_IN_STATE
displayName: Time Active
active: true
QueueByChannel:
value:
measureProducerId: QueueByChannel_itd_1.0.0
measureProducerName: QueueByChannel
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- channelId
- queueId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: abandonedFromQueue
type: NUMBER
displayName: Abandoned From Queue
active: true
ErrorInternalServerError:
description: Server Error
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error
title: Server Error
status: 500
detail: An internal server error was encountered.
ListMeasureProducers:
value:
- measureProducerId: AgentByChannel_itd_1.0.0
measureProducerName: AgentByChannel
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
- channelId
measures:
- name: agentId
type: STRING
displayName: Agent Id
active: true
responses:
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorUnauthorized'
InternalServer:
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorInternalServerError'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorNotFound'
BadRequest:
description: BadRequest
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorConstraintViolation'
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorForbidden'
parameters:
accountId:
in: path
name: accountId
description: The unique 6 character internal id that represents the customer account.
required: true
schema:
type: string
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z]{6}$
example: ABCDEF
processorType:
in: query
name: processorType
description: 'Possible values include: ITD, JRNL, ADM, CDR and more.'
required: false
schema:
type: string
minLength: 1
maxLength: 36
example: ITD
measureProducerId:
in: path
name: measureProducerId
description: MeasureProducer unique Id.
required: true
schema:
type: string
minLength: 1
maxLength: 36
example: Queue_itd_1.0.0
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: This API uses Bearer Token Authorization Flow
bearerFormat: JWT
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go