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