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