openapi: 3.2.0 info: title: Customer Journey API description: Customer Journey is used to retrieve information about Engagements and Conversations that have occurred in a Customer's Journey and to configure what Identifiers should be collected as part of a Customer's Journey. version: 1.1.1 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 servers: - url: '{protocol}://{server}{basePath}' description: Open API variables: protocol: enum: - https default: https server: default: HOST-REGION.api.avayacloud.com basePath: default: /api/journey/v1 - url: '{protocol}://{server}:{port}' description: Internal API variables: protocol: enum: - http - https default: http server: default: journey-service port: enum: - '80' - '443' default: '80' security: - {} - BearerAuth: [] AppKey: [] tags: - name: Journey description: Represents the history of Conversations and Engagements that a Customer has had with the business. paths: /accounts/{accountId}/journeys:search: parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageNumber' post: tags: - Journey summary: Search Journeys deprecated: false description: '**This API requires the Agent role.** Searches for Customer Journeys optionally using different specific filters. It makes it possible to narrow the search down to a particular conversation and only return the parts of the Customer''s Journey that satisfies the given filter criteria. The filter can include fields such as: * identifiers * channelIds * agentId * conversation * startDate & endDate If found, the Customer''s Journey will include a list of all the Engagements a Customer has had with the Contact Center, ordered by the `startDate` in descending order.' operationId: getJourneys requestBody: description: Search for Journeys content: application/json: schema: $ref: '#/components/schemas/JourneyQuery' examples: advanced-search-all-fields: $ref: '#/components/examples/journey-query-advanced' simple-search-minimum-fields: $ref: '#/components/examples/journey-query-with-identifiers' everything-within-a-date-time-range: $ref: '#/components/examples/journey-query-within-date-time' everything-after-a-date-time-range: $ref: '#/components/examples/journey-query-after-date-time' everything-before-a-date-time-range: $ref: '#/components/examples/journey-query-before-date-time' filtering-by-a-particular-conversation: $ref: '#/components/examples/journey-query-with-conversation' filtering-by-an-agent: $ref: '#/components/examples/journey-query-with-agent' filtering-by-channels: $ref: '#/components/examples/journey-query-with-channels' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/JourneyQueryResponse' examples: Example-1: $ref: '#/components/examples/journey-search-response' '400': description: 'Bad Request. * accountId must be exactly 6 characters * pageNumber must be greater than 0 * pageSize must be between 1 and 50 * Invalid input, ''Identifiers'' must not be empty ' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServer' /accounts/{accountId}/journeys: parameters: - $ref: '#/components/parameters/accountId' post: tags: - Journey summary: Create Journey description: 'Creates a new Customer Journey Identity grouping, the supplied "identifiers" will be linked together to form a single Customer Journey Identity. If any of the identifiers already exist, then any links they have will also be included. Note: This can be used to link previously unassociated identifiers together improving the accuracy of any searches involving them. Creating Journey this way **will not affect AXP''s Digital Workflow** , its only internal to Customer Journey.' operationId: createJourney requestBody: description: Create a new Customer Journey content: application/json: schema: $ref: '#/components/schemas/Journey' examples: Example-1: $ref: '#/components/examples/journey-create-1' responses: '202': description: Accepted '400': description: "Bad Request. \n\n* accountId must be exactly 6 characters\n\n* Request has invalid input\n" content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServer' /accounts/{accountId}/journeys:unlinkIdentifier: parameters: - $ref: '#/components/parameters/accountId' post: tags: - Journey summary: Unlink Identifier description: 'Unlinks an identifier from a Customer Journey, the supplied **unlinkIdentifier** will be unlinked from the rest of the provided identifiers. The updated state of identifiers will be returned in the response. This can be used to unlink previously associated identifiers to improve the accuracy of any searches involving them. Note: This does not delete the identifier, instead it simply "unlinks" it from any other associated identifiers. It can still be used as part of a search. And this way unlinking identifier from Customer Journey **will not affect AXP''s Digital Workflow** , its only internal to Customer Journey.' operationId: unlinkIdentifier requestBody: description: Unlink an identifier from a Customer Journey. content: application/json: schema: $ref: '#/components/schemas/UnlinkJourney' examples: unlink-account-id: $ref: '#/components/examples/unlink-account-id-request' unlink-email-address: $ref: '#/components/examples/unlink-email-address-request' unlink-phone-number: $ref: '#/components/examples/unlink-phone-number-request' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Journey' examples: unlink-account-id: $ref: '#/components/examples/unlink-account-id-response' unlink-email-address: $ref: '#/components/examples/unlink-email-address-response' unlink-phone-number: $ref: '#/components/examples/unlink-phone-number-response' '400': description: "Bad Request. \n\n* accountId must be exactly 6 characters\n\n* Request has invalid input\n" content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServer' /accounts/{accountId}/journeys:listAgents: parameters: - $ref: '#/components/parameters/accountId' - name: pageSize description: The maximum number of results per page required: false in: query schema: type: integer format: int32 minimum: 1 maximum: 10 default: 1 example: 10 - name: orderBy description: 'Ordering is performed on the "leftAt" field, the default order is descending. To specify ascending order, "asc" should be used. ' required: false in: query schema: type: string minLength: 3 maxLength: 4 default: desc example: asc post: tags: - Journey summary: List Agents description: 'Lists the Agents to have participated on a Customer''s Journey for the required Channel within a timeframe. By default this is limited to the last 30 days unless a "startDate" for the search is provided. The Agents are listed in descending order based on the "leftAt" timefield, this can be changed to ascending with the optional "orderBy" parameter. This does not include any Agents that are currently active on the Customer''s Journey that have yet to leave.' operationId: listAgents requestBody: description: Search criteria. content: application/json: schema: $ref: '#/components/schemas/ListAgentsQuery' examples: Example-1: $ref: '#/components/examples/list-agents-query-1' responses: '200': description: OK content: application/json: schema: type: array description: A list containing Agents from a Customer's Journey that match the search criteria. items: $ref: '#/components/schemas/ListAgentResponse' examples: Example-1: $ref: '#/components/examples/list-agents-response' '400': description: "Bad Request. \n\n* accountId must be exactly 6 characters\n\n* pageSize must be between 1 and 10\n\n* orderBy must have value 'asc' or 'desc'\n" content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServer' components: examples: journey-create-1: value: identifiers: accountIds: - d1482af8-d865-4df0-932d-f9559f25086d emailAddresses: - melinda14@example.org journey-query-with-agent: value: agentId: 4dd8a4a4-09f4-4dab-a503-91cefc4604e0 unlink-email-address-response: value: identifiers: accountIds: - d1482af8-d865-4df0-932d-f9559f25086d phoneNumbers: - 087 12345 journey-query-with-conversation: value: conversation: Mortgage Application identifiers: emailAddresses: - melinda14@example.org journey-query-within-date-time: value: startDate: '2019-07-23T17:45:21.001Z' endDate: '2020-07-23T17:45:21.001Z' identifiers: emailAddresses: - melinda14@example.org ErrorForbidden: description: Forbidden value: type: https://developers.avayacloud.com/avaya-experience-platform/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. unlink-email-address-request: value: identifiers: accountIds: - d1482af8-d865-4df0-932d-f9559f25086d emailAddresses: - melinda14@example.org phoneNumbers: - 087 12345 unlinkIdentifier: emailAddresses: melinda14@example.org journey-query-after-date-time: value: startDate: '2019-07-23T17:45:21.001Z' identifiers: emailAddresses: - melinda14@example.org list-agents-response: value: - agentId: 0f28895a-2855-4e02-b00c-52fe93d671f2 channelProviderId: aba84546-1ac2-478e-b225-cadc7e8a2862 leftAt: '2020-07-26T13:24:52.130Z' - agentId: c5e92685-921e-4dd3-b856-66b9fdadaca1 channelProviderId: aba84546-1ac2-478e-b225-cadc7e8a2862 leftAt: '2020-07-23T18:12:34.246Z' - agentId: faa542cb-1611-4ba5-a3db-1b6b1f560325 channelProviderId: aba84546-1ac2-478e-b225-cadc7e8a2862 leftAt: '2020-07-19T10:45:22.589Z' unlink-account-id-request: value: identifiers: accountIds: - d1482af8-d865-4df0-932d-f9559f25086d emailAddresses: - melinda14@example.org phoneNumbers: - 087 12345 unlinkIdentifier: accountIds: d1482af8-d865-4df0-932d-f9559f25086d ErrorNotFound: description: Not Found value: type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#resource-not-found title: Resource Not Found status: 404 detail: Resource not found. list-agents-query-1: value: identifiers: phoneNumbers: - '+35387643526236' startDate: '2019-07-23T17:45:21.001Z' channelId: VOICE unlink-account-id-response: value: identifiers: emailAddresses: - melinda14@example.org phoneNumbers: - 087 12345 journey-query-with-channels: value: channelIds: - Voice - Chat - Email ErrorConstraintViolation: description: Constraint Violation value: type: https://developers.avayacloud.com/avaya-experience-platform/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 match "^[a-zA-Z]{6}$" code: 20006 unlink-phone-number-response: value: identifiers: accountIds: - d1482af8-d865-4df0-932d-f9559f25086d emailAddresses: - melinda14@example.org unlink-phone-number-request: value: identifiers: accountIds: - d1482af8-d865-4df0-932d-f9559f25086d emailAddresses: - melinda14@example.org phoneNumbers: - 087 12345 unlinkIdentifier: phoneNumbers: 087 12345 journey-query-before-date-time: value: endDate: '2020-07-23T17:45:21.001Z' identifiers: emailAddresses: - melinda14@example.org ErrorUnauthorized: description: Unauthorized value: type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#unauthorized title: Unauthorized status: 401 detail: This operation requires authentication. See https://developers.avayacloud.com/avaya-experience-platform/docs/how-to-authenticate-with-ccaas-apis journey-query-advanced: value: conversation: Mortgage Application startDate: '2019-07-23T17:45:21.001Z' endDate: '2020-07-23T17:45:21.001Z' identifiers: emailAddresses: - melinda14@example.org phoneNumbers: - 019 718 0171 - +353 019 718 9999 agentId: 4dd8a4a4-09f4-4dab-a503-91cefc4604e0 channelIds: - Voice - Email journey-query-with-identifiers: value: identifiers: emailAddresses: - melinda14@example.org journey-search-response: summary: Journey search response value: pagination: pageNumber: 1 pageSize: 50 total: 2 engagements: - id: 8e557fd6-580a-43b3-8cf9-db8169f4af5a status: COMPLETED direction: INBOUND startDate: '2019-07-23T17:45:21.002Z' updateDate: '2019-07-23T17:47:21.002Z' endDate: '2019-07-23T17:50:21.002Z' channels: - id: Voice type: VOICE identifiers: emailAddresses: - cmartin@example.org phoneNumbers: - 188-115-7717 - +353 628 9848 agentNotes: - id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba engagementId: 0f5d4e8f-2f73-439b-a8f7-af973291cfba createdBy: id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba name: Agent Name / Supervisor Name updatedBy: id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba name: Agent Name / Supervisor Name text: The Agent Note Text createdAt: '2020-07-23T17:45:21.001Z' updatedAt: '2020-07-23T17:45:21.001Z' participants: - id: 443f413f-75f4-4ee4-a261-275e2c4a4c6f joinedAt: '2019-07-23T17:45:21.002Z' leftAt: '2019-07-23T17:58:32.002Z' type: EXTERNAL channelId: Voice channelType: VOICE callingNumber: 087 12345 dialledNumber: 1590 12345 dialogId: 67ec5131-259c-4924-bb08-d87cf315e5e3 - id: e5e8b989-c0d3-493e-9c6c-a1e482c42946 agentDisplayName: John Smith joinedAt: '2019-07-23T17:46:42.002Z' leftAt: '2019-07-23T18:00:32.002Z' type: AGENT channelId: Voice channelType: VOICE extension: ext/1234 dialogId: 67ec5131-259c-4924-bb08-d87cf315e5e3 conversations: - Mortgage Application - First-time Buyer data: referenceNumber: ref-4bf68d57-c189-4ad9-986f-e56ede9cdc32 currentStatus: Under review attributes: - Language.English - Support.Technical queues: - queueId: a12d14a2-99ad-4aed-8f55-5e87d18e9b9c queueName: Default channelId: Voice priority: 1 rank: 2147483647 proficiencyRangeMin: 4 proficiencyRangeMax: 10 queuedAt: '2021-04-09T17:00:00.1Z' agentId: 93649e2e-f576-44b6-b002-fe61379cc4e5 acceptedAt: '2021-04-09T17:00:00.1Z' - queueId: eae856cc-c4ff-4f44-a05a-b31ac0ed3278 queueName: Default channelId: Voice priority: 1 rank: 2147483647 proficiencyRangeMin: 4 proficiencyRangeMax: 10 queuedAt: '2021-04-09T17:00:00.1Z' agentId: bef38a45-c61a-4abb-8106-f992ec4b4f22 transfers: - initiatingAgentId: 3228e28c-e992-4933-943e-6681b7bfe934 queueId: 3fb467ed-9136-4542-898d-988a0c3028af queueName: Default channelProviderId: 4db6bf64-1684-4841-9446-a5fa2d186e6d connectionId: 9a42578a-b883-4b9d-9da0-9e4096334503 dialogId: cb127356-134f-49ad-b5e0-37baaa400bfc providerDialogId: caa30030-89f1-4b0c-a8f0-93230f92a96c channelId: Chat correlationId: 2d721d22-d020-4297-8180-fe86c0848cbd fallbackQueueId: 3fb467ed-9136-4542-898d-988a0c3028af timestamp: '2023-08-25T06:53:15.743Z' destinationAgentId: 3228e28c-e992-4933-943e-6681b7bfe934 destinationAgentName: John Smith destinationAgentJoinedAt: '2023-08-25T07:07:49.652Z' description: New Car inquiry transferType: TRANSFER_TO_AGENT - initiatingAgentId: 3228e28c-e992-4933-943e-6681b7bfe934 queueId: 3fb467ed-9136-4542-898d-988a0c3028af queueName: Default channelProviderId: 4db6bf64-1684-4841-9446-a5fa2d186e6d connectionId: 9a42578a-b883-4b9d-9da0-9e4096334503 dialogId: cb127356-134f-49ad-b5e0-37baaa400bfc providerDialogId: caa30030-89f1-4b0c-a8f0-93230f92a96c channelId: Chat correlationId: 2d721d22-d020-4297-8180-fe86c0848cbd fallbackQueueId: 3fb467ed-9136-4542-898d-988a0c3028af timestamp: '2023-08-25T06:53:15.743Z' destinationAgentId: 3228e28c-e992-4933-943e-6681b7bfe934 destinationAgentName: John Smith destinationAgentJoinedAt: '2023-08-25T07:07:49.652Z' description: New Car inquiry transferType: TRANSFER_TO_QUEUE - id: 94594028-5559-4efb-8263-9698e3ffe61d status: ACTIVE direction: OUTBOUND startDate: '2019-07-23T17:45:21.002Z' channels: - id: Voice type: VOICE identifiers: emailAddresses: - melinda14@example.org phoneNumbers: - 019 718 0171 agentNotes: - id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba engagementId: 0f5d4e8f-2f73-439b-a8f7-af973291cfba createdBy: id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba name: Agent Name / Supervisor Name updatedBy: id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba name: Agent Name / Supervisor Name text: The Agent Note Text createdAt: '2020-07-23T17:45:21.001Z' updatedAt: '2020-07-23T17:45:21.001Z' participants: - id: 443f413f-75f4-4ee4-a261-275e2c4a4c6f joinedAt: '2019-07-23T17:45:21.002Z' leftAt: '2019-07-23T17:58:32.002Z' type: EXTERNAL channelId: Voice channelType: VOICE callingNumber: 087 12345 dialledNumber: 1590 12345 dialogId: 67ec5131-259c-4924-bb08-d87cf315e5e3 conversations: - Mortgage Application data: referenceNumber: ref-4bf68d57-c189-4ad9-986f-e56ede9cdc32 identifiers: phoneNumbers: - 019 718 0171 - 188-115-7717 - +353 628 9848 emailAddresses: - melinda14@example.org - cmartin@example.org universalIds: - 7fdf89aa-70e6-4de9-8d7a-e1bbc4edcbaf ErrorInternalServerError: description: Server Error value: type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#server-error title: Server Error status: 500 detail: An internal server error was encountered. schemas: Queue: type: object title: Queue description: The queue details part of an engagement. required: - queueId - channelId - priority properties: queueId: description: The unique case sensitive id of the queue. Only valid Contact Center Queue Id's are accepted. See Queue Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ queueName: type: string description: The Queue name for the queue. example: Default channelId: description: The id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Channel page in Avaya Experience Platform Fundamentals section of Developer Guides for a list of supported Channel Id's. type: string minLength: 3 maxLength: 256 priority: description: The priority of this queue request. The smaller the number meaning the higher the priority. type: integer format: int32 minimum: 1 maximum: 10 rank: description: This is the rank of this queue in the context of a match request, when the match request contains multiple queues. type: integer format: int32 minimum: 1 maximum: 2147483647 proficiencyRangeMin: description: Agents who have a proficiency equal or greater than this for the required queue will be preferred. The smaller the number meaning the highest ranked or best agent. The larger the number meaning the lower the agent ranking. type: integer format: int32 minimum: 1 maximum: 16 proficiencyRangeMax: description: Agents who have a proficiency equal or less than this for the required queue will be preferred. The smaller the number meaning the highest ranked or best agent. The larger the number meaning the lower the agent ranking. type: integer format: int32 minimum: 1 maximum: 16 queuedAt: type: string format: date-time readOnly: true description: The datetime of when the engagement offered into a queue in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 example: '2018-11-13T20:27:12+00:00' agentId: type: string description: The unique 36 character internal id that represents the agent that accepted the queued engagement. minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ example: bb4f5cf8-5bfc-4bf3-ac43-153c43671f0e acceptedAt: type: string format: date-time readOnly: true description: The datetime of when the agent accepted the queued engagement in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 example: '2018-11-13T20:27:12+00:00' Transfer: type: object title: Transfer description: The Transfer details part of an engagement. required: - channelProviderId - transferType properties: initiatingAgentId: description: The unique case sensitive id of the initiating Agent Id. Only valid Contact Center Agent Id's are accepted. See Agent Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ queueId: description: The unique case sensitive id of the queue. Only valid Contact Center Queue Id's are accepted. See Queue Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ queueName: type: string description: The Queue name for the queue. example: Default channelProviderId: description: The unique case sensitive id of the channel provider. Only valid Contact Center provider Id's are accepted. See Admin channel List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Ids are accepted. See Contact Center Channel list in Developers guide for further details. example: Voice connectionId: description: The unique case sensitive id of the connection. Only valid Contact Center connection Id's are accepted. See Queue Admin connection List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ dialogId: description: The unique case sensitive id of the dialog. Only valid Contact Center dialog Id's are accepted. See Dialog Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ providerDialogId: description: The unique case sensitive id of the dialog. Only valid Contact Center dialog provider Id's are accepted. See Dialog Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ correlationId: description: The unique case sensitive id of the Correlation. Only valid Contact Center Queue Id's are accepted. See Queue Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ fallbackQueueId: description: The unique case sensitive id of the queue. Only valid Contact Center Fall back Queue Id's are accepted. See Queue Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ timestamp: type: string format: date-time readOnly: true description: The datetime of when the engagement transfer offered into a queue in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 example: '2018-11-13T20:27:12+00:00' destinationAgentId: description: The unique case sensitive id of the Agent. Only valid Contact Center Agent Id's are accepted. See Agent Admin List API. type: string minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ destinationAgentName: type: string description: The engagement transfer agent name for the Agents. example: Jone Smith destinationExternalNumber: type: string description: When the engagement is transferred to external numbers. example: +1 123 123 1234 destinationAgentJoinedAt: type: string format: date-time readOnly: true description: The datetime of when the engagement offered into a Agent in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 example: '2018-11-13T20:27:12+00:00' description: type: string description: The dialog description incase of any. example: New Car inquiry transferType: type: string description: The type of Transfers, for example TRANSFER_TO_AGENT, TRANSFER_TO_QUEUE or CONSULT_TRANSFER_TO_QUEUE. enum: - TRANSFER_TO_AGENT - TRANSFER_TO_QUEUE - TRANSFER_TO_EXTERNAL - CONSULT_TRANSFER_TO_QUEUE JourneyQueryResponse: title: JourneyQueryResponse description: Customer Journey query response. required: - identifiers allOf: - $ref: '#/components/schemas/Identifiers' - type: object additionalProperties: true properties: engagements: type: array description: The engagements returned as the result of a query items: $ref: '#/components/schemas/EngagementResponse' pagination: $ref: '#/components/schemas/Pagination' JourneyQuery: title: JourneyQuery description: Customer Journey query criteria. allOf: - $ref: '#/components/schemas/Identifiers' - type: object additionalProperties: true properties: startDate: description: The start date in ISO 8601 format, for example 2018-11-13T20:20:39+00:00. The returned results will be inclusive of this datetime. example: '2018-11-13T20:20:39+00:00' type: - string - 'null' format: date-time endDate: description: The end date in ISO 8601 format, for example 2018-11-13T20:20:39+00:00. The returned results will be inclusive of this datetime. example: '2018-11-13T20:20:39+00:00' type: - string - 'null' format: date-time conversation: type: - string - 'null' description: The conversation to filter by. minLength: 3 maxLength: 256 example: Mortgage Application agentId: type: string description: The agent id to filter by. minLength: 3 maxLength: 36 example: 4dd8a4a4-09f4-4dab-a503-91cefc4604e0 channelIds: type: array description: The list of channel Ids to filter by. items: type: string minLength: 3 maxLength: 20 minItems: 1 maxItems: 10 uniqueItems: true example: - Voice - Chat AgentNoteResponse: title: AgentNoteResponse description: Response for Get Agent Note. type: object properties: id: type: string description: The unique 36 character internal id that represents the Agent Note Id. engagementId: type: string description: The unique 36 character internal id that represents the Engagement Id. createdBy: $ref: '#/components/schemas/AgentDetails' updatedBy: $ref: '#/components/schemas/AgentDetails' note: type: string description: Text of the current Agent Note. readOnly: type: boolean description: Indicates if the note is read only. createdAt: type: string format: date-time description: The creation datetime of the Engagement in ISO 8601 format, for example 2018-11-13T20:20:39+00:00 example: '2018-11-13T20:20:39+00:00' updatedAt: type: string format: date-time description: The creation datetime of the Engagement in ISO 8601 format, for example 2018-11-13T20:20:39+00:00 example: '2018-11-13T20:20:39+00:00' UnlinkJourney: description: Unlinks an identifier from a customer journey. type: object required: - identifiers - unlinkIdentifier properties: identifiers: $ref: '#/components/schemas/Identifiers' unlinkIdentifier: type: object minProperties: 1 maxProperties: 1 description: Identifier to be unlinked from the Customer Journey. additionalProperties: type: string minLength: 1 maxLength: 256 description: 'Identifiers related to the Customer. The maximum length of an identifer key is 50 characters and must be a valid "name" of a pre-configured identifier in Customer Journey. ' Journey: description: Customer Journey. type: object required: - identifiers allOf: - $ref: '#/components/schemas/Identifiers' 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 Channel: title: Channel description: Identifies the specific type of channel such as VOICE, WEBCHAT, EMAIL, SMS, or SOCIAL. type: object properties: id: type: string description: The unique identifier for the channel. example: Voice type: type: string description: The type of channel, such as VOICE, or VIDEO. example: VOICE ListAgentResponse: type: object title: ListAgentResponse description: An Agent from a Customer's Journey that matches the search criteria. properties: agentId: type: string description: The unique 36 character internal id that represents the Agent. channelProviderId: type: string description: The unique internal id that represents the Channel Provider. leftAt: type: string description: The datetime of when the Agent was removed from the Customer's Journey in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 format: date-time ListAgentsQuery: allOf: - $ref: '#/components/schemas/Identifiers' - type: object additionalProperties: true required: - identifiers - channelId properties: startDate: description: The start date in ISO 8601 format, for example 2018-11-13T20:20:39+00:00. The returned results will be inclusive of this datetime. If omitted, defaults to the last 30 days. example: '2018-11-13T20:20:39+00:00' type: - string - 'null' format: date-time channelId: type: string description: The unique identifier for the Agent's channel. minLength: 3 maxLength: 50 example: Voice title: ListAgentsQuery description: The list Agents search criteria. EngagementResponse: title: EngagementResponse description: A Customer Engagement with the Contact Center allOf: - $ref: '#/components/schemas/Identifiers' - type: object additionalProperties: true properties: id: type: string description: The unique 36 character internal id that represents the engagement. status: type: string readOnly: true description: The current internal status of the engagement such as CREATED, ACTIVE or COMPLETED. enum: - CREATED - ACTIVE - COMPLETED direction: type: string readOnly: true description: 'The internal direction which signifies if the engagement was initiated by an external user (INBOUND) or from within the contact center, e.g. an agent driven ad-hoc email (OUTBOUND). ' enum: - INBOUND - OUTBOUND example: INBOUND channels: type: array items: $ref: '#/components/schemas/Channel' description: List of channels associated with the Engagement. agentNotes: type: array items: $ref: '#/components/schemas/AgentNoteResponse' description: List of agent notes associated with the Engagement. startDate: type: string format: date-time description: The start datetime of the Engagement in ISO 8601 format, for example 2018-11-13T20:20:39+00:00 example: '2018-11-13T20:20:39+00:00' updateDate: type: string format: date-time description: The last updated datetime of the Engagement in ISO 8601 format, for example 2018-11-13T20:25:39+00:00 example: '2018-11-13T20:25:39+00:00' endDate: type: string format: date-time description: The end datetime of the Engagement in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 example: '2018-11-13T20:27:12+00:00' conversations: type: array minItems: 0 maxItems: 50 items: type: string description: The conversation (or purpose) of the Engagement. participants: type: array minItems: 0 maxItems: 50 items: $ref: '#/components/schemas/ParticipantResponse' description: List of participants on the Engagement accountId: type: string description: The unique 6 character internal id that represents the customer account readOnly: true data: type: object description: 'Optional, generic key-value pair data stored with the Engagement. This is useful for storing custom information that a client can then interpret. ' minProperties: 0 maxProperties: 50 additionalProperties: type: string attributes: type: array items: type: string description: List of last set of attributes per category on the Engagement queues: type: array items: $ref: '#/components/schemas/Queue' description: List of queues on the Engagement sourceType: type: string description: This value defines the external system that was the source of the engagement that is being generated into Avaya Experience Platform readOnly: true example: Facebook sourceAddress: type: string description: 'the source address is intended to represent the address from which the Avaya Experience Platform engagement was created. It might represent a mailbox, a twitter account, a Facebook account, a chat integration will be the same as the (To) address ' readOnly: true example: '@someSocialMediaAccount' transfers: type: array items: $ref: '#/components/schemas/Transfer' description: List of Transfer on the Engagement ParticipantResponse: type: object description: Any External, Agent or Treatment participant as returned by a query for a customer journey properties: type: type: string description: The type of Participant, for example EXTERNAL, AGENT or TREATMENT. enum: - EXTERNAL - AGENT - TREATMENT id: type: string description: The unique id that represents the participant. agentDisplayName: type: string description: This value defines the internal participants name as it will be displayed to Avaya Experience Platform user. readOnly: true example: John Smith dialogId: type: string description: The unique 36 character internal id that represents the Dialog. channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Ids are accepted. See Contact Center Channel list in Developers guide for further details. example: Voice channelType: type: string description: The Contact Center Channel Type. Only valid Contact Center Channel Types are accepted. See Contact Center Channel list in Developers guide for further details. example: VOICE joinedAt: type: string description: The datetime of when the Participant was added to the Engagement in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 format: date-time leftAt: type: string description: The datetime of when the Participant was removed from the Engagement in ISO 8601 format, for example 2018-11-13T20:27:12+00:00 format: date-time callingNumber: type: string description: The calling number of the Participant. dialledNumber: type: string description: The original dialled number for the Engagement. extension: type: string description: The agents extension. automationType: type: string enum: - SELF_SERVICE - TREATMENT - CHATBOT description: The automation type, such as SELF_SERVICE, TREATMENT, or CHATBOT. sourceType: type: string description: This value defines the external system that was the source of the engagement that is being generated into Avaya Experience Platform readOnly: true example: Facebook sourceAddress: type: string description: 'the source address is intended to represent the address from which the Avaya Experience Platform engagement was created. It might represent a mailbox, a twitter account, a Facebook account, a chat integration will be the same as the (To) address ' readOnly: true example: '@someSocialMediaAccount' AgentDetails: title: AgentDetails description: Agent Details. type: object properties: id: type: string description: The unique 36 character internal id that represents the Agent Id. minLength: 3 maxLength: 100 name: type: string description: The Agent/Supervisor Name. minLength: 3 maxLength: 100 Pagination: type: object properties: pageNumber: type: integer description: The current page number. pageSize: type: integer description: The max number of records that can be retrieved on this page. total: type: integer description: The total number of records. Identifiers: type: object description: Unique Customer ids used during an Engagement. properties: identifiers: type: object minProperties: 1 maxProperties: 10 description: Unique identifiers for identifying the customer during an Engagement such as phoneNumbers or emailAddresses. additionalProperties: type: array description: 'Additional identifiers related to the Customer. The maximum length of an identifer key is 50 characters and must be a valid "name" of a pre-configured identifier in Customer Journey. ' minItems: 0 maxItems: 5 items: type: string minLength: 1 maxLength: 256 properties: phoneNumbers: type: array description: List of phone numbers. minItems: 0 maxItems: 5 items: type: string minLength: 3 maxLength: 256 emailAddresses: type: array description: List of email addresses. minItems: 0 maxItems: 5 items: type: string minLength: 3 maxLength: 256 accountIds: type: array description: List of customer account id's. minItems: 0 maxItems: 5 items: type: string minLength: 3 maxLength: 256 parameters: pageSize: name: pageSize description: The maximum number of results per page. required: false in: query example: 10 schema: type: integer format: int32 default: 50 minimum: 1 maximum: 50 accountId: name: accountId description: The unique 6 character internal id that represents the customer account. required: true in: path schema: type: string minLength: 6 maxLength: 6 pattern: ^[a-zA-Z]{6}$ example: ABCDEF pageNumber: name: pageNumber description: The target page of results. required: false in: query example: 34 schema: type: integer format: int32 default: 1 minimum: 1 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' Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorForbidden' securitySchemes: BearerAuth: type: http scheme: bearer description: This API uses Bearer Token Authorization Flow bearerFormat: JWT AppKey: type: apiKey in: header name: appkey description: This API needs an appKey as header. x-explorer-enabled: false x-samples-languages: - curl - node - java - javascript - python - go