openapi: 3.2.0 info: title: Customer Journey Agent Notes 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: Agent Notes paths: /accounts/{accountId}/engagements/{engagementId}/agent-notes: parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' get: tags: - Agent Notes summary: Get the list of Agent Notes for an Engagement description: Get the list of Agent Notes for an Engagement. operationId: getAgentNotes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AgentNotesListResponse' examples: Agent-Notes-Response: $ref: '#/components/examples/agent-note-get-response-1' '400': description: "Bad Request. \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}/engagements/{engagementId}/agent-note: parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' post: tags: - Agent Notes summary: Add Agent Note description: Creates a new Agent Note for given Engagement. operationId: createAgentNote requestBody: description: Creates a new Agent Note for given Engagement. content: application/json: schema: $ref: '#/components/schemas/AgentNoteInput' examples: Agent-note-request-body: $ref: '#/components/examples/agent-note-create-1' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/AgentNoteResponse' examples: Add-Note-Response: $ref: '#/components/examples/agent-note-create-response-1' '400': description: "Bad Request. \n\n* All fields must be populated \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' '422': $ref: '#/components/responses/AgentNoteExists' '500': $ref: '#/components/responses/InternalServer' /accounts/{accountId}/engagements/{engagementId}/agent-note/{noteId}: parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' - $ref: '#/components/parameters/noteId' put: tags: - Agent Notes summary: Update Agent Note description: Updates a new agent note for given engagement. operationId: updateAgentNote requestBody: description: Updates agent note for given Engagement. content: application/json: schema: $ref: '#/components/schemas/AgentNoteInput' examples: Agent-note-request-body: $ref: '#/components/examples/agent-note-update-1' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AgentNoteResponse' examples: Example-1: $ref: '#/components/examples/agent-note-update-response-1' '400': description: "Bad Request. \n\n* All fields must be populated \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}/engagements/{engagementId}/agent-note/{agentNoteId}: parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/engagementId' - $ref: '#/components/parameters/agentNoteId' delete: tags: - Agent Notes summary: Delete Agent Note description: Delete an Agent Note for given Engagement. operationId: deleteAgentNote responses: '204': description: No Content '400': description: "Bad Request. \n\n* All fields must be populated \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' components: responses: AgentNoteExists: description: AgentNoteExists content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/AgentNoteAlreadyExists' 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' Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorForbidden' examples: agent-note-get-response-1: value: 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 note: The Agent Note Text createdAt: '2020-07-23T17:45:21.001Z' updatedAt: '2020-07-23T17:45:21.001Z' agent-note-update-1: value: note: The agent Note text. 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. 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 agent-note-update-response-1: value: 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 note: The Agent Note Text createdAt: '2020-07-23T17:45:21.001Z' updatedAt: '2020-07-23T17:45:21.001Z' 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 AgentNoteAlreadyExists: description: Constraint Violation value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: Constraint Violation status: 422 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: Engagement message: You cannot create second note for accountId = ABCXYZ and engagementId = 0f5d4e8f-2f73-439b-a8f7-af973291cfba agent-note-create-response-1: value: id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba engagementId: 0f5d4e8f-2f73-439b-a8f7-af973291cfba createdBy: id: 0f5d4e8f-2f73-439b-a8f7-af973291cfba name: Agent Name / Supervisor Name note: The Agent Note Text createdAt: '2020-07-23T17:45:21.001Z' 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. agent-note-create-1: value: note: The agent Note text. schemas: 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' 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 AgentNoteInput: title: AgentNoteInput description: Request body for add or update operation type: object properties: note: type: string description: Text of the current Agent Note. minLength: 1 maxLength: 512 required: - note 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 AgentNotesListResponse: type: object description: A list of Agent Notes properties: agentNotes: type: array description: The agent returned as the result items: $ref: '#/components/schemas/AgentNoteResponse' parameters: agentNoteId: name: agentNoteId description: reresents agent note id. required: true in: path schema: type: string minLength: 20 maxLength: 20 example: g8fmy40BJ8Ew1LrQW0Js engagementId: name: engagementId description: The unique 36 character internal id that represents the engagement. required: true in: path schema: 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}$ example: dfd117d7-73e3-4436-8bd7-3ce8f1a008ed 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 noteId: name: noteId description: The unique id that represents the note. required: true in: path schema: type: string minLength: 20 maxLength: 20 example: Isfgy40BJ8Ew1LrQxUJy 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