openapi: 3.2.0 info: title: Avaya Subscriptions API version: '1.0' description: 'Operations tagged Subscriptions across 2 of this provider''s published API definitions: avaya-axp-digital-notification-openapi-original.json, avaya-infinity-notifications-openapi-original.json. Each path carries the servers of the definition it was published in.' servers: - url: '{protocol}://{server}{basePath}' description: Open API variables: protocol: enum: - https default: https server: default: HOST-REGION.api.avayacloud.com basePath: default: /api/digital/webhook/v1 - url: '{protocol}://{server}:{port}' description: Internal API variables: protocol: enum: - http - https default: http server: default: msg-webhook port: enum: - '80' - '443' default: '80' - url: https://core.{customerId}.ec.avayacloud.com/api/events/v1 description: Production variables: customerId: description: Your organization subdomain identifier (e.g., avaya1234) default: avaya1234 tags: - name: Subscriptions description: Manage subscriptions for digital events. paths: /accounts/{accountId}/subscriptions: post: tags: - Subscriptions summary: Create Subscription description: Creates a webhook subscription for digital events. A subscription supports filtering of events by specifying an event type. operationId: createDigitalWebhookSubscription parameters: - $ref: '#/components/parameters/accountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' examples: default: $ref: '#/components/examples/CreateSubscriptionRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Subscription' examples: default: $ref: '#/components/examples/Subscription' '400': $ref: '#/components/responses/BadRequestCallbackUrl' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' callbacks: event: '{$request.body#/callbackUrl}': post: requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/EngagementCreatedEvent' - $ref: '#/components/schemas/ParticipantEvent' - $ref: '#/components/schemas/MessageEvent' - $ref: '#/components/schemas/TypingEvent' - $ref: '#/components/schemas/EngagementErrorEvent' discriminator: propertyName: eventType examples: Engagement-Created-Event: $ref: '#/components/examples/EngagementCreatedEvent' Participant-Added-Event: $ref: '#/components/examples/ParticipantAddedEvent' Participant-Disconnected-Event: $ref: '#/components/examples/ParticipantDisconnectEvent' Message-Event-Chat-Plain-Text-Simple: $ref: '#/components/examples/MessageEventChatPlainTextSimple' Message-Event-Custom-Chat: $ref: '#/components/examples/MessageEventCustomChat' Message-Event-Email: $ref: '#/components/examples/MessageEventEmail' Message-Event-Messaging-Agent-To-Customer-File: $ref: '#/components/examples/MessageEventMessagingAgentToCustomerFile' Message-Event-Messaging-Agent-To-Customer-Image: $ref: '#/components/examples/MessageEventMessagingAgentToCustomerImage' Message-Event-Messaging-Agent-To-Customer-Postback-Link-LocationRequest: $ref: '#/components/examples/MessageEventMessagingAgentToCustomerPostbackLinkLocationRequest' Message-Event-Messaging-Agent-To-Customer-Reply: $ref: '#/components/examples/MessageEventMessagingAgentToCustomerReply' Message-Event-Messaging-Agent-To-Customer-Carousel: $ref: '#/components/examples/MessageEventMessagingAgentToCustomerCarousel' Message-Event-Messaging-Agent-To-Customer-Location: $ref: '#/components/examples/MessageEventMessagingAgentToCustomerLocation' Message-Event-Messaging-Customer-To-Agent-Location: $ref: '#/components/examples/MessageEventMessagingCustomerToAgentLocation' Message-Event-Messaging-Customer-To-Agent-Reply: $ref: '#/components/examples/MessageEventMessagingCustomerToAgentReply' Message-Event-Messaging-Customer-To-Agent-Postback: $ref: '#/components/examples/MessageEventMessagingCustomerToAgentPostback' Message-Event-Messaging-Customer-To-Agent-File: $ref: '#/components/examples/MessageEventMessagingCustomerToAgentFile' Message-Event-Messaging-Customer-To-Agent-Image: $ref: '#/components/examples/MessageEventMessagingCustomerToAgentImage' Engagement-Error-Event: $ref: '#/components/examples/EngagementErrorEvent' Typing-Event: $ref: '#/components/examples/TypingEvent' description: Callback request responses: '200': description: Your server returns this code if it accepts the callback deprecated: false security: - {} - BearerAuth: [] AppKey: [] get: tags: - Subscriptions summary: List Subscriptions description: Lists the existing webhook subscriptions. operationId: listDigitalWebhookSubscriptions parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/channelProviderId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Subscriptions' examples: default: $ref: '#/components/examples/ListSubscriptions' '400': $ref: '#/components/responses/BadRequestAccountId' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false security: - {} - BearerAuth: [] AppKey: [] parameters: - $ref: '#/components/parameters/accountId_2' servers: - url: '{protocol}://{server}{basePath}' description: Open API variables: protocol: enum: - https default: https server: default: HOST-REGION.api.avayacloud.com basePath: default: /api/digital/webhook/v1 - url: '{protocol}://{server}:{port}' description: Internal API variables: protocol: enum: - http - https default: http server: default: msg-webhook port: enum: - '80' - '443' default: '80' /accounts/{accountId}/subscriptions/{subscriptionId}: get: tags: - Subscriptions summary: Get Subscription description: Gets a Subscription by subscriptionId. operationId: getDigitalWebhookSubscription parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/subscriptionId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Subscription' examples: default: $ref: '#/components/examples/Subscription' '400': $ref: '#/components/responses/BadRequestAccountId' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false security: - {} - BearerAuth: [] AppKey: [] delete: tags: - Subscriptions summary: Delete Subscription description: Delete a Subscription by subscriptionId. operationId: deleteDigitalWebhookSubscription parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/subscriptionId' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequestAccountId' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' deprecated: false security: - {} - BearerAuth: [] AppKey: [] put: tags: - Subscriptions summary: Update Subscription description: Replaces an existing webhook subscription. The client application can modify the callbackUrl and/or the event types for which it receives notifications within the context of this subscription. operationId: updateDigitalWebhookSubscription parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/subscriptionId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' examples: default: $ref: '#/components/examples/UpdateSubscriptionRequest' required: true responses: '200': description: Updated content: application/json: schema: $ref: '#/components/schemas/Subscription' examples: default: $ref: '#/components/examples/UpdateSubscriptionResponse' '400': $ref: '#/components/responses/BadRequestCallbackUrl' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' security: - {} - BearerAuth: [] AppKey: [] parameters: - $ref: '#/components/parameters/accountId_2' - $ref: '#/components/parameters/subscriptionId_2' patch: tags: - Subscriptions summary: Update Subscription (Deprecated) description: '**DEPRECATED**: This endpoint will be removed in a future version. Use `PATCH /subscriptions/{subscriptionId}` instead.' operationId: updateSubscriptionLegacy deprecated: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchSubscription' responses: '200': description: Subscription updated successfully content: application/json: schema: $ref: '#/components/schemas/Subscription_2' examples: Agent & Interaction Webhook Subscription Response: $ref: '#/components/examples/AgentAndInteractionWebhookSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '500': $ref: '#/components/responses/InternalServer' security: - {} - BearerAuth: [] AppKey: [] servers: - url: '{protocol}://{server}{basePath}' description: Open API variables: protocol: enum: - https default: https server: default: HOST-REGION.api.avayacloud.com basePath: default: /api/digital/webhook/v1 - url: '{protocol}://{server}:{port}' description: Internal API variables: protocol: enum: - http - https default: http server: default: msg-webhook port: enum: - '80' - '443' default: '80' /subscriptions: post: tags: - Subscriptions summary: Create Subscription description: 'Creates a new webhook subscription for one or more event families. Specify the event `family`, the individual `events` to filter on (or `ALL`), and the `transport` configuration including your webhook endpoint and optional auth token. ## Finding Your Customer Subdomain Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls. **Example:** If your portal URL is: ``` https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/ ``` Your subdomain is: **`avaya1234`** **To use this API:** 1. **Find your subdomain** from your Infinity portal URL (as shown above) 2. **Get your Bearer token** using the `EVENT_NOTIFICATION` client credential (see Authentication below) 3. **In the API explorer on the right:** * Click on `{customerId}` in the URL field and replace it with your actual subdomain * Paste your Bearer token in the Credentials section * Fill out the request body with your event families, events, and webhook transport details ## Authentication This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a `client_id` and `client_secret` provisioned with the `EVENT_NOTIFICATION` scope. Once you have your credentials, generate an access token and include it in the `Authorization: Bearer ` header of each request. ``` POST https://core.avaya1234.ec.avayacloud.com/auth/realms/avaya/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=&client_secret=&scope=EVENT_NOTIFICATION ``` ## Working with Subscriptions A newly created subscription will have `status: ACTIVE` and begin delivering events to your webhook immediately. The `expiresIn` field in the response shows the seconds remaining before the subscription expires. Call the Renew Subscription endpoint before this value reaches zero to keep the subscription active. ## Important Notes * The `family` field accepts up to 3 values: `AGENT`, `INTERACTION`, `QUEUE`, or `ALL` (must be the only value if used). * The `events` field accepts up to 25 event types. Use `ALL` to receive every event for the selected family. * The `authToken` and `authTokenHeader` fields are optional but recommended for webhook verification. * Your account/tenant is automatically derived from your Bearer token — no separate account identifier is required. ## DOS Protection & Rate Limiting * This endpoint implements DOS protection and rate limiting. ## Security Implementation Guidelines * Never expose your `client_secret` or Bearer token to client-side applications. * Use `authToken` and `authTokenHeader` to verify incoming webhook payloads are from Avaya. * Implement proper error handling — avoid surfacing internal error details to end users.' operationId: createSubscription parameters: - in: header name: Authorization description: OAuth 2.0 Bearer token. Required. schema: type: string required: true requestBody: description: Create a new Subscription required: true content: application/json: schema: $ref: '#/components/schemas/CreateSubscription' examples: Create Agent & Interaction Webhook Subscription: $ref: '#/components/examples/CreateAgentAndInteractionWebhookSubscription' responses: '201': description: Subscription created successfully. Returns the full subscription object including the system-generated `subscriptionId` and `expiresIn` value. content: application/json: schema: $ref: '#/components/schemas/Subscription_2' examples: Agent & Interaction Webhook Subscription Response: $ref: '#/components/examples/AgentAndInteractionWebhookSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '500': $ref: '#/components/responses/InternalServer' deprecated: false security: - {} - BearerAuth: [] get: tags: - Subscriptions summary: List Subscriptions description: 'Returns a paginated list of existing notification subscriptions for your account. ## Finding Your Customer Subdomain Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls. **Example:** If your portal URL is: ``` https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/ ``` Your subdomain is: **`avaya1234`** **To use this API:** 1. **Find your subdomain** from your Infinity portal URL (as shown above) 2. **Get your Bearer token** using the `EVENT_NOTIFICATION` client credential (see Authentication below) 3. **In the API explorer on the right:** * Click on `{customerId}` in the URL field and replace it with your actual subdomain * Paste your Bearer token in the Credentials section * Use `pageNumber` and `pageSize` to paginate results as needed ## Authentication This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a `client_id` and `client_secret` provisioned with the `EVENT_NOTIFICATION` scope. Once you have your credentials, generate an access token and include it in the `Authorization: Bearer ` header of each request. ``` POST https://core.avaya1234.ec.avayacloud.com/auth/realms/avaya/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=&client_secret=&scope=EVENT_NOTIFICATION ``` ## Important Notes * Results are scoped to your account — derived automatically from your Bearer token. * Default page size is 10, maximum is 25. * Use the `links.next` and `links.prev` URLs in the response to navigate between pages. ## DOS Protection & Rate Limiting * This endpoint implements DOS protection and rate limiting. ## Security Implementation Guidelines * Never expose your `client_secret` or Bearer token to client-side applications. * Implement proper error handling — avoid surfacing internal error details to end users.' operationId: listSubscriptions parameters: - in: header name: Authorization description: OAuth 2.0 Bearer token. Required. schema: type: string required: true - name: pageNumber in: query description: The page number of the records to retrieve. Default value is 1. required: false schema: type: integer format: int32 example: 1 default: 1 minimum: 1 - name: pageSize in: query description: The max number of records to retrieve per page. Default value is 10, max value is 25. required: false schema: type: integer format: int32 example: 10 default: 10 minimum: 1 maximum: 25 responses: '200': description: Paginated list of subscriptions returned successfully. content: application/json: schema: $ref: '#/components/schemas/SubscriptionPage' examples: default: $ref: '#/components/examples/SubscriptionPage' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '500': $ref: '#/components/responses/InternalServer' deprecated: false security: - {} - BearerAuth: [] servers: - url: https://core.{customerId}.ec.avayacloud.com/api/events/v1 description: Production variables: customerId: description: Your organization subdomain identifier (e.g., avaya1234) default: avaya1234 /subscriptions/{subscriptionId}: parameters: - $ref: '#/components/parameters/subscriptionId_2' get: tags: - Subscriptions summary: Get Subscription description: 'Returns a single notification subscription by its `subscriptionId`. ## Finding Your Customer Subdomain Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls. **Example:** If your portal URL is: ``` https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/ ``` Your subdomain is: **`avaya1234`** **To use this API:** 1. **Find your subdomain** from your Infinity portal URL (as shown above) 2. **Get your Bearer token** using the `EVENT_NOTIFICATION` client credential (see Authentication below) 3. **In the API explorer on the right:** * Click on `{customerId}` in the URL field and replace it with your actual subdomain * Paste your Bearer token in the Credentials section * Enter the `subscriptionId` of the subscription you want to retrieve ## Authentication This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a `client_id` and `client_secret` provisioned with the `EVENT_NOTIFICATION` scope. Once you have your credentials, generate an access token and include it in the `Authorization: Bearer ` header of each request. ``` POST https://core.avaya1234.ec.avayacloud.com/auth/realms/avaya/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=&client_secret=&scope=EVENT_NOTIFICATION ``` ## Working with Subscription IDs Subscription IDs are system-generated UUIDs in the format `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`, returned in the response body when a subscription is created. Use the `subscriptionId` from `POST /subscriptions` or `GET /subscriptions` to reference a specific subscription. ## Important Notes * Returns a `404` if no subscription exists with the specified ID. ## DOS Protection & Rate Limiting * This endpoint implements DOS protection and rate limiting. ## Security Implementation Guidelines * Never expose your `client_secret` or Bearer token to client-side applications. * Implement proper error handling — avoid surfacing internal error details to end users.' operationId: getSubscription parameters: - in: header name: Authorization description: OAuth 2.0 Bearer token. Required. schema: type: string required: true responses: '200': description: Subscription details returned successfully. content: application/json: schema: $ref: '#/components/schemas/Subscription_2' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '404': $ref: '#/components/responses/NotFound_2' '500': $ref: '#/components/responses/InternalServer' deprecated: false security: - {} - BearerAuth: [] delete: tags: - Subscriptions summary: Delete Subscription description: 'Permanently deletes an existing subscription by its `subscriptionId`. Once deleted, the subscription cannot be recovered and will stop delivering events immediately. ## Finding Your Customer Subdomain Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls. **Example:** If your portal URL is: ``` https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/ ``` Your subdomain is: **`avaya1234`** **To use this API:** 1. **Find your subdomain** from your Infinity portal URL (as shown above) 2. **Get your Bearer token** using the `EVENT_NOTIFICATION` client credential (see Authentication below) 3. **In the API explorer on the right:** * Click on `{customerId}` in the URL field and replace it with your actual subdomain * Paste your Bearer token in the Credentials section * Enter the `subscriptionId` of the subscription to delete ## Authentication This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a `client_id` and `client_secret` provisioned with the `EVENT_NOTIFICATION` scope. Once you have your credentials, generate an access token and include it in the `Authorization: Bearer ` header of each request. ``` POST https://core.avaya1234.ec.avayacloud.com/auth/realms/avaya/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=&client_secret=&scope=EVENT_NOTIFICATION ``` ## Important Notes * **This action cannot be undone.** Confirm the correct `subscriptionId` before proceeding. * Returns `204 No Content` on success — no response body is returned. * Returns a `404` if no subscription exists with the specified ID. ## DOS Protection & Rate Limiting * This endpoint implements DOS protection and rate limiting. ## Security Implementation Guidelines * Never expose your `client_secret` or Bearer token to client-side applications. * Implement proper error handling — avoid surfacing internal error details to end users.' operationId: deleteSubscription parameters: - in: header name: Authorization description: OAuth 2.0 Bearer token. Required. schema: type: string required: true responses: '204': description: Subscription deleted successfully. No content returned. '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '404': $ref: '#/components/responses/NotFound_2' '500': $ref: '#/components/responses/InternalServer' deprecated: false security: - {} - BearerAuth: [] patch: tags: - Subscriptions summary: Update Subscription description: 'Partially updates a subscription''s event families, events, or transport configuration. Only fields included in the request body will be modified. ## Finding Your Customer Subdomain Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls. **Example:** If your portal URL is: ``` https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/ ``` Your subdomain is: **`avaya1234`** **To use this API:** 1. **Find your subdomain** from your Infinity portal URL (as shown above) 2. **Get your Bearer token** using the `EVENT_NOTIFICATION` client credential (see Authentication below) 3. **In the API explorer on the right:** * Click on `{customerId}` in the URL field and replace it with your actual subdomain * Paste your Bearer token in the Credentials section * Enter the `subscriptionId` and provide only the fields you want to change ## Authentication This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a `client_id` and `client_secret` provisioned with the `EVENT_NOTIFICATION` scope. Once you have your credentials, generate an access token and include it in the `Authorization: Bearer ` header of each request. ``` POST https://core.avaya1234.ec.avayacloud.com/auth/realms/avaya/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=&client_secret=&scope=EVENT_NOTIFICATION ``` ## Important Notes * All fields are optional — only fields explicitly provided will be modified. * Returns a `404` if no subscription exists with the specified ID. ## DOS Protection & Rate Limiting * This endpoint implements DOS protection and rate limiting. ## Security Implementation Guidelines * Never expose your `client_secret` or Bearer token to client-side applications. * Implement proper error handling — avoid surfacing internal error details to end users.' operationId: updateSubscription parameters: - in: header name: Authorization description: OAuth 2.0 Bearer token. Required. schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchSubscription' responses: '200': description: Subscription updated successfully. Returns the full updated subscription object. content: application/json: schema: $ref: '#/components/schemas/Subscription_2' examples: Agent & Interaction Webhook Subscription Response: $ref: '#/components/examples/AgentAndInteractionWebhookSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '500': $ref: '#/components/responses/InternalServer' deprecated: false security: - {} - BearerAuth: [] servers: - url: https://core.{customerId}.ec.avayacloud.com/api/events/v1 description: Production variables: customerId: description: Your organization subdomain identifier (e.g., avaya1234) default: avaya1234 /subscriptions/{subscriptionId}:renew: parameters: - $ref: '#/components/parameters/subscriptionId_2' post: tags: - Subscriptions summary: Renew Subscription description: 'Renews an existing subscription before or after it has expired. Use this endpoint to keep a subscription `ACTIVE` indefinitely, or to reactivate an `INACTIVE` subscription. Optionally update the webhook `authToken` at the same time. ## Finding Your Customer Subdomain Your subdomain is found in your Avaya Infinity portal URL and is required for all API calls. **Example:** If your portal URL is: ``` https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/ ``` Your subdomain is: **`avaya1234`** **To use this API:** 1. **Find your subdomain** from your Infinity portal URL (as shown above) 2. **Get your Bearer token** using the `EVENT_NOTIFICATION` client credential (see Authentication below) 3. **In the API explorer on the right:** * Click on `{customerId}` in the URL field and replace it with your actual subdomain * Paste your Bearer token in the Credentials section * Enter the `subscriptionId` to renew and optionally provide a new `authToken` ## Authentication This endpoint requires a valid OAuth 2.0 Bearer token. To get started, contact Avaya Support to request a `client_id` and `client_secret` provisioned with the `EVENT_NOTIFICATION` scope. Once you have your credentials, generate an access token and include it in the `Authorization: Bearer ` header of each request. ``` POST https://core.avaya1234.ec.avayacloud.com/auth/realms/avaya/protocol/openid-connect/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=&client_secret=&scope=EVENT_NOTIFICATION ``` ## Working with Subscription Renewal The `expiresIn` field in every subscription response shows the seconds remaining before expiry. Call this endpoint before `expiresIn` reaches zero to avoid the subscription becoming `INACTIVE`. If a subscription has already become `INACTIVE`, this endpoint can still be used to reactivate it — event delivery will resume immediately upon successful renewal. To rotate your webhook verification token at the same time as renewing, include the new `authToken` value in the request body. ## Important Notes * The request body is optional. If omitted, the subscription is renewed without changing any transport configuration. * Returns a `404` if no subscription exists with the specified ID. ## DOS Protection & Rate Limiting * This endpoint implements DOS protection and rate limiting. ## Security Implementation Guidelines * Never expose your `client_secret` or Bearer token to client-side applications. * Rotate your webhook `authToken` regularly to maintain security. * Implement proper error handling — avoid surfacing internal error details to end users.' operationId: renewSubscription parameters: - in: header name: Authorization description: OAuth 2.0 Bearer token. Required. schema: type: string required: true requestBody: description: Optionally update the webhook authToken during renewal. required: false content: application/json: schema: $ref: '#/components/schemas/RenewSubscription' examples: Renew Susbscription & Update authToken: $ref: '#/components/examples/RenewSubscriptionAndAuthToken' responses: '200': description: Subscription renewed successfully. Returns the full updated subscription object with a refreshed `expiresIn` value. content: application/json: schema: $ref: '#/components/schemas/Subscription_2' examples: default: $ref: '#/components/examples/AgentAndInteractionWebhookSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '404': $ref: '#/components/responses/NotFound_2' '500': $ref: '#/components/responses/InternalServer' deprecated: false security: - {} - BearerAuth: [] servers: - url: https://core.{customerId}.ec.avayacloud.com/api/events/v1 description: Production variables: customerId: description: Your organization subdomain identifier (e.g., avaya1234) default: avaya1234 /accounts/{accountId}/subscriptions/{subscriptionId}:renew: parameters: - $ref: '#/components/parameters/accountId_2' - $ref: '#/components/parameters/subscriptionId_2' post: tags: - Subscriptions summary: Renew Subscription (Deprecated) description: '**DEPRECATED**: This endpoint will be removed in a future version. Use `POST /subscriptions/{subscriptionId}:renew` instead.' operationId: renewSubscriptionLegacy deprecated: true parameters: - in: header name: Authorization schema: type: string required: false requestBody: description: Renew an existing subscription and update the authToken required: false content: application/json: schema: $ref: '#/components/schemas/RenewSubscription' examples: Renew Susbscription & Update authToken: $ref: '#/components/examples/RenewSubscriptionAndAuthToken' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Subscription_2' examples: default: $ref: '#/components/examples/AgentAndInteractionWebhookSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '404': $ref: '#/components/responses/NotFound_2' '500': $ref: '#/components/responses/InternalServer' security: - {} - BearerAuth: [] servers: - url: https://core.{customerId}.ec.avayacloud.com/api/events/v1 description: Production variables: customerId: description: Your organization subdomain identifier (e.g., avaya1234) default: avaya1234 components: schemas: RichMediaPayload: type: object description: Rich media payload data properties: selectedAction: $ref: '#/components/schemas/Action' actions: type: array description: An array of actions associated with the message readOnly: true minItems: 1 maxItems: 5 items: $ref: '#/components/schemas/Action' items: type: array description: An array of items associated with the message readOnly: true minItems: 1 maxItems: 10 items: $ref: '#/components/schemas/Item' coordinates: $ref: '#/components/schemas/Coordinates' location: $ref: '#/components/schemas/Location' ParticipantEventData: description: Notification for participant added or removed from the dialog of the engagement type: object required: - accountId - channelProviderId - engagementId - dialogId - connectionId properties: engagementId: type: string description: The unique 36 character internal id (uuid) that represents the engagement. dialogId: type: string description: The unique 36 character internal id (uuid) that represents the dialog. accountId: type: string description: The unique 6 character internal id that represents the customer account channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. channelProviderId: type: string description: The unique id that represents the channel provider sessionId: type: string description: The unique 36 character internal id (uuid) that represents the users session. connectionId: type: string description: The unique 36 character internal id (uuid) that represents the connection. participantId: type: string description: The unique 36 character internal id (uuid) that represents the participant. displayName: type: string description: The display name of the participant participantType: $ref: '#/components/schemas/ParticipantType' providerDialogId: type: string description: The provider side identifier for a Contact Center dialog. providerParticipantId: type: string description: The provider side identifier for a Contact Center participant. EventData: type: object description: Common event data required: - eventType - correlationId - eventDate discriminator: propertyName: eventType mapping: ENGAGEMENT_CREATED: '#/components/schemas/EngagementCreatedEvent' PARTICIPANT_ADDED: '#/components/schemas/ParticipantEvent' PARTICIPANT_DISCONNECTED: '#/components/schemas/ParticipantEvent' ENGAGEMENT_ERROR: '#/components/schemas/EngagementErrorEvent' MESSAGES: '#/components/schemas/MessageEvent' TYPING: '#/components/schemas/TypingEvent' properties: eventType: $ref: '#/components/schemas/EventType' correlationId: type: string description: The correlation id is used to uniquely identify the client request. This is an optional field but when specified can be used to correlate the callback event with the original API request. eventDate: type: string format: date-time description: The datetime when the event was generated (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') ParticipantType: description: The type of participant type: string enum: - CUSTOMER - AGENT - SUPERVISOR - SYSTEM - BOT EngagementErrorEvent: description: Event when an engagement fails allOf: - $ref: '#/components/schemas/EventData' - type: object additionalProperties: true required: - type - title - channelProviderId - correlationId properties: type: type: string description: The type of error. example: ENGAGEMENT_CREATION_FAILED title: type: string description: The title (summary) of the error. example: Error occurred while creating an engagement detail: type: string description: The detailed description of the error. example: Unable to create an engagement engagementId: type: string description: The unique 36 character internal id that represents the engagement. example: d3c8400d-c44f-4451-8316-435ch8c6e3f2 dialogId: type: string description: The unique 36 character internal id (uuid) that represents the Dialog. example: d3c8400d-d34f-4451-8316-4333334fac34 sessionId: type: string description: The unique 36 character id (uuid) that represents the users session. example: e348400d-d344-4451-8316-435ch8c6e3f2 providerDialogId: type: string description: Identifier for the conversation maintained by provider example: e248400d-d344-4451-8316-435ch8c6e3f1 channelProviderId: type: string description: The unique id that represents the channel provider example: ChatProvider01 channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. example: Chat accountId: type: string description: The unique 6 character internal id that represents the customer account example: ABCDEF 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 Action: type: object description: An action button that the user can click to trigger an action required: - type properties: type: type: string description: The type of action. Supported types of action types are link, reply, postback, and locationRequest. minLength: 1 maxLength: 50 example: postback text: type: string description: The text on an action button maxLength: 50 example: Book Appointment payload: type: string description: The payload of 'postback' or 'reply' action button maxLength: 512 example: BOOK_APPOINTMENT uri: type: string description: The URI that will be used by the clients when 'link' action button is clicked format: uri example: https://example.com/items/info iconUrl: type: string description: The URL of the image of the icon on a 'reply' action button format: uri example: https://example.com/images/icon.png Item: type: object description: An item of a carousel or a list required: - title - actions properties: title: type: string description: The title of the item in carousel or list minLength: 1 maxLength: 50 example: Tacos mediaUrl: type: string description: The URL of the image to be shown inside the item in carousel or list format: uri example: https://example.com/images/image.png description: type: string description: Description of the item in carousel or list maxLength: 256 example: Car with hybrid features actions: type: array description: An array of actions associated with the item in carousel or list minItems: 1 maxItems: 5 items: $ref: '#/components/schemas/Action' EventType: description: The type of digital event type: string enum: - MESSAGES - PARTICIPANT_ADDED - PARTICIPANT_DISCONNECTED - ENGAGEMENT_CREATED - ENGAGEMENT_ERROR - TYPING ExternalRecipientParticipant: type: object description: External recipient participant required: - participantId properties: participantId: type: string description: The unique id that represents the participant. providerParticipantId: type: string description: The provider side identifier for the participant TypingEventData: description: Typing event type: object required: - accountId - dialogId - engagementId - channelId - channelProviderId - senderParticipantId - senderParticipantType - senderParticipantDisplayName properties: dialogId: type: string description: The unique 36 character internal id that represents the dialog. engagementId: type: string description: The unique 36 character internal id that represents the engagement. accountId: type: string description: The unique 6 character internal id that represents the customer account providerDialogId: type: string description: The provider side identifier for a Contact Center dialog. channelProviderId: type: string description: The unique id that represents the channel provider senderParticipantId: type: string description: The unique id that represents the sender of the message senderParticipantType: $ref: '#/components/schemas/ParticipantType' senderParticipantDisplayName: type: string description: The optional display name of the user that sent the message. If not provided, display name from the session will be used. channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. businessAccountName: type: string description: The name of the business account configured on the channel provider sourceType: type: string description: The source of the engagement. For example the platform as a keyword (Facebook, Twitter, Instagram) example: Facebook sourceAddress: type: string description: The source address is intended to represent the address from which the CCaaS 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 example: https://www.facebook.com/Ixcc-112670754648669 externalRecipientParticipants: type: array items: $ref: '#/components/schemas/ExternalRecipientParticipant' description: List of external recipient participants TextFormat: description: The text format of the message in the body example: PLAINTEXT type: string enum: - PLAINTEXT - HTML - MARKDOWN Subscriptions: description: A list of Subscriptions. type: array items: $ref: '#/components/schemas/Subscription' EngagementCreated: description: Response payload indicating that engagement has been created type: object required: - engagementId - dialogId - accountId - channelProviderId - initiatorParticipantId properties: engagementId: type: string description: The unique 36 character internal id that represents the engagement. dialogId: type: string description: The unique 36 character internal id that represents the dialog. accountId: type: string description: The unique 6 character internal id that represents the customer account conversation: type: string description: The conversation (or intent) of the Engagement channelProviderId: type: string description: The unique id that represents the channel provider businessAccountName: type: string description: The name of the business account configured on the channel provider initiatorParticipantId: type: string description: The unique id of the participant that initiated the dialog sessionId: type: string description: The unique 36 character id (uuid) that represents the users session. customerIdentifiers: $ref: '#/components/schemas/CustomerIdentifiers' engagementParameters: type: object description: Optional key/value parameters that capture the context of the engagement. Information passed in context parameters can be used to make business decisions on how the engagement is treated. additionalProperties: type: string providerDialogId: type: string description: The provider side identifier for a Contact Center dialog. sourceAddress: type: string description: The source address is intended to represent the address from which the CCaaS 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 example: https://www.facebook.com/Ixcc-112670754648669 sourceType: type: string description: The source of the engagement. For example the platform as a keyword (Facebook, Twitter, Instagram) example: Facebook MessageEvent: description: Message event allOf: - $ref: '#/components/schemas/EventData' - $ref: '#/components/schemas/Message' BodyElement: type: object description: Element of the message body required: - elementType properties: elementType: type: string description: The type of the body element such as text, image, attachment, carousel, location, or form elementText: $ref: '#/components/schemas/ElementText' payload: type: string description: Data required to help render the message on end clients richMediaPayload: $ref: '#/components/schemas/RichMediaPayload' MessageHeaders: type: object description: Header of the message properties: sourceAddress: type: string description: The source address is intended to represent the address from which the CCaaS 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 example: https://www.facebook.com/Ixcc-112670754648669 sourceType: type: string description: The source of the engagement. For example the platform as a keyword (Facebook, Twitter, Instagram) example: Facebook priority: type: string description: The priority of the message set by the provider sensitivity: type: string description: The sensitivity of the message set by the provider encoding: type: string description: The encoding used for the body of the message subject: type: string description: The subject of the message set by the provider from: type: string description: The sender of the message set by the provider to: type: array description: The To (recipients) of the message set by the provider items: type: string cc: type: array description: The Cc (recipients) of the message set by the provider. This field is mainly used for email messages items: type: string bcc: type: array description: The Bcc (recipients) of the message set by the provider. This field is mainly used for email messages items: type: string replyTo: type: string description: The address to use when replying. clientDeviceTag: type: string description: The tag used to identify the client device that was used to send the message. messageSourceServerTag: type: string description: The tag used by a service to identify that this message was sent by itself. providerTimestamp: type: string format: date-time description: The date time when the message was captured by the provider (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') additionalHeaders: type: object description: The additional header fields of the message. For example if the payload is of a specific version that the clients rendering the payload need to be aware of that information can be sent here additionalProperties: type: string CustomerIdentifiers: type: object description: Unique identifiers for identifying the customer during an Engagement such as phoneNumbers or emailAddresses. minProperties: 1 maxProperties: 10 additionalProperties: type: array description: 'Identifiers related to the Customer. The maximum length of an identifier key is 50 characters and must be a valid "name" of a pre-configured identifier in Customer Journey. ' maxItems: 5 items: type: string minLength: 1 maxLength: 256 Participant: type: object description: This event indicates that system will no longer exchange messages for this connection required: - participantId - participantType - connectionId - channelProviderId properties: participantId: type: string description: The unique id that represents the participant. participantType: $ref: '#/components/schemas/ParticipantType' displayName: type: string description: Display name of the participant connectionId: type: string description: The unique 36 character internal id (uuid) that represents the Connection. providerParticipantId: type: string description: The provider side identifier for the participant channelProviderId: type: string description: The unique id that represents the channel provider Location: type: object description: The information about a location properties: address: type: string description: The address of the location maxLength: 512 example: Nth Floor, UVW Park, XYZ Street, Some Country, PIN CODE - 123456 name: type: string description: The name of the location maxLength: 50 example: ABC Enterprises MessageStatus: description: The delivery status of the message type: string enum: - NONE - SENT - DELIVERED - READ - FAILED - DELETED EngagementCreatedEvent: description: Engagement created event allOf: - $ref: '#/components/schemas/EventData' - $ref: '#/components/schemas/EngagementCreated' Subscription: type: object description: Digital webhook subscription required: - channelProviderId - callbackUrl - eventTypes properties: subscriptionId: type: string readOnly: true description: The unique 36 character id (uuid) that represents the subscription. 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: 2581e39b-fe84-4e38-87f4-63a1d037f39a channelProviderId: type: string description: The unique id that represents the channel provider minLength: 3 maxLength: 256 example: ChatProvider01 callbackUrl: type: string maxLength: 2048 description: The public (https) url to send the callback payload. example: https://www.example.com/send/callback/here eventTypes: type: array description: 'The list of event types subscribed for:' minItems: 1 maxItems: 6 items: $ref: '#/components/schemas/SubscriptionEventType' SubscriptionEventType: description: "The type of digital event to subscribe for. The event types available are:\n * `MESSAGES` - A message sent either by customer or a contact center resource (agent, supervisor, system or bot)\n * `CUSTOMER_MESSAGES` - A message sent by customer\n * `CC_MESSAGES` - A message sent by a contact center resource (agent, supervisor, system or bot)\n * `PARTICIPANT_ADDED` - A participant added to an engagement\n * `PARTICIPANT_DISCONNECTED` - A participant disconnected an engagement\n * `ENGAGEMENT_CREATED` - A new engagement was created\n * `ENGAGEMENT_ERROR` - An error occurred in an engagement\n * `TYPING` - An indication that a Contact Center participant is typing. This event is only supported for Custom Messaging\n * `ALL` - An event belonging to any of the above types occurred. When you subscribe to `ALL`, you are effectively subscribing to all current event types, as well as any that might be introduced in the future. Therefore, it's crucial to ensure that your callback handler doesn't fail or return an error when receiving any new event type that you are not prepared to handle\n" type: string enum: - MESSAGES - CUSTOMER_MESSAGES - CC_MESSAGES - PARTICIPANT_ADDED - PARTICIPANT_DISCONNECTED - ENGAGEMENT_CREATED - ENGAGEMENT_ERROR - TYPING - ALL Attachment: type: object description: Meta information about the media required: - attachmentId - name - size - contentType - url properties: attachmentId: type: string description: The unique 36 character internal id for the attachment name: type: string description: The name of the attachment size: type: integer format: int64 description: The size of the attachment in bytes contentType: type: string description: The content type of the attachment contentId: type: string maxLength: 256 description: The content id of the attachment url: type: string description: The URL link to retrieve the attachment captionText: type: string description: The text describing the caption of the attachment thumbnailUrl: type: string description: The URL link to retrieve the thumbnail of the attachment additionalProperties: type: object description: Additional properties of the attachment additionalProperties: type: string Message: type: object description: A conversation message required: - accountId - channelProviderId - channelId - senderParticipantId - senderParticipantName - senderParticipantType - body - status properties: messageId: type: string description: The unique 36 character internal id for this specific message. accountId: type: string description: The unique 6 character internal id that represents the customer account dialogId: type: string description: The unique 36 character internal id that represents the dialog. engagementId: type: string description: The unique 36 character internal id that represents the engagement. status: $ref: '#/components/schemas/MessageStatus' sessionId: type: string description: The unique 36 character internal id that represents the users session. businessAccountName: type: string description: The name of the business account configured on the channel provider channelProviderId: type: string description: The unique id that represents the channel provider channelId: type: string description: The unique id representing the Contact Center Channel. Only valid Contact Center Channel Id's are accepted. See Contact Center Channel list in Developers guide for further details. senderParticipantId: type: string description: The unique id that represents the sender of the message senderParticipantName: type: string description: The optional display name of the user that sent the message. If not provided, display name from the session will be used. senderParticipantType: $ref: '#/components/schemas/ParticipantType' body: $ref: '#/components/schemas/BodyElement' fallbackText: type: string description: Fallback message text that clients can show if they are not capable of rendering the body headers: $ref: '#/components/schemas/MessageHeaders' attachments: type: array items: $ref: '#/components/schemas/Attachment' recipientParticipants: type: array items: $ref: '#/components/schemas/Participant' description: List of recipient participants customData: type: object description: Any data complementing the actual message body that is valuable for recipient clients. For example any additional reference links, key words, hash tag references, additional content information etc. additionalProperties: type: string messageIndex: type: integer description: The index of the message within the context of the dialog parentMessageId: type: string description: The unique 36 character internal id for the message that is the parent of this message providerDialogId: type: string description: The provider side identifier for a Contact Center dialog. providerSenderId: type: string description: The provider side identifier for the user who sent the message. providerMessageId: type: string description: The provider side identifier for the message. providerParentMessageId: type: string description: The provider side identifier for the message that is the parent of this message engagementParameters: type: object description: Context information of the engagement. This information might be used to make business decisions on how the engagement is treated. For example, the client application might want to send hints about customer's interest based no customer's searches or FAQ browsing additionalProperties: type: string receivedAt: type: string format: date-time description: The datetime when the message was received by the Contact Center (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') lastUpdatedAt: type: string format: date-time description: The datetime when the message was last updated (in ISO 8601 format including timezone, 'yyyy-MM-dd'T'HH:mm:ss[.SSS]Z') TypingEvent: description: Typing event allOf: - $ref: '#/components/schemas/EventData' - $ref: '#/components/schemas/TypingEventData' ParticipantEvent: description: Notification for participant added or removed from the dialog of the engagement allOf: - $ref: '#/components/schemas/EventData' - $ref: '#/components/schemas/ParticipantEventData' ElementText: type: object description: The text of the message body required: - text properties: text: type: string description: Text of the body textFormat: $ref: '#/components/schemas/TextFormat' Coordinates: type: object description: The coordinates of a location required: - lat - long properties: lat: type: number description: The latitude of a location format: double minimum: -90 maximum: 90 example: -18.516634 long: type: number description: The longitude of a location format: double minimum: -180 maximum: 180 example: 73.928104 TransportResponse: type: object description: Transport settings for the subscription. required: - type properties: type: type: string description: The transport type for which notifications should be received. enum: - WEBHOOK default: WEBHOOK method: type: string description: HTTP method used for the transport. enum: - POST - PUT endpoint: type: string maxLength: 2048 description: The endpoint (URL) for the subscription. authToken: type: string minLength: 0 maxLength: 256 description: Optional authentication token included in webhook deliveries for verification. authTokenHeader: type: string minLength: 0 maxLength: 256 description: The header name used to deliver the `authToken` in webhook requests. default: auth-token PatchSubscription: type: object description: Request payload for updating a subscription. All fields are optional. properties: family: $ref: '#/components/schemas/Family' events: type: array minItems: 1 maxItems: 25 description: Updated list of events to filter on. Use 'ALL' to receive all events for the selected family. example: - ALL items: type: string minLength: 1 maxLength: 256 transport: $ref: '#/components/schemas/Transport' Family: type: array description: The families of events the subscription applies to. Maximum of 3. maxItems: 3 items: type: string enum: - AGENT - INTERACTION - QUEUE - ALL minLength: 1 oneOf: - items: enum: - ALL minItems: 1 maxItems: 1 - items: not: enum: - ALL Problem_2: type: object description: 'Problem detail as defined by RFC 7807 — a standard way to carry machine-readable error details in HTTP responses. ' required: - type - title - status additionalProperties: false properties: type: type: string format: uri description: 'A URI identifying the problem type. ' default: about:blank example: https://developers.avayacloud.com/avaya-infinity/docs/error-handling#constraint-violation title: type: - string - 'null' description: 'A short, human-readable summary of the problem type. ' example: Service Unavailable status: type: - integer - 'null' format: int32 description: 'The HTTP status code 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: 'A URI identifying the specific occurrence of the problem. ' violations: type: - array - 'null' description: 'A list of field-level validation violations, present on 400 responses. ' items: type: object properties: field: type: string description: 'The name of the field that caused the violation. ' example: family message: type: string description: 'A human-readable explanation of the violation. ' example: must not be null code: type: integer format: int32 description: 'A stable violation code. Use this in error handling logic — the message text may change. ' example: 20006 example: - field: family message: must not be null code: 20002 CreateSubscription: type: object description: Request payload for creating a subscription required: - family - events - transport properties: family: $ref: '#/components/schemas/Family' events: type: array minItems: 1 maxItems: 25 description: The collection of events to filter on within the chosen family. To receive all events associated with a family then specify 'ALL' here. Event types vary depending on family selected, see developers guide for more details on the events for each family. example: - ALL items: type: string minLength: 1 maxLength: 256 transport: $ref: '#/components/schemas/Transport' Transport: type: object description: Transport settings for the subscription. required: - type - method - endpoint - authToken - authTokenHeader properties: type: type: string description: The transport type for which notifications should be received. enum: - WEBHOOK default: WEBHOOK minLength: 1 method: type: string description: HTTP method used for the transport. enum: - POST - PUT default: POST endpoint: type: string maxLength: 2048 description: The endpoint (URL) for the subscription. Required for 'WEBHOOK' subscriptions. authToken: type: string minLength: 1 maxLength: 256 description: Optional authentication token included in webhook deliveries for verification. Must be used with `authTokenHeader`. authTokenHeader: type: string minLength: 1 maxLength: 256 description: The header name used to deliver the `authToken` in webhook requests. Must be used with `authToken`. default: auth-token oneOf: - required: - endpoint properties: type: enum: - WEBHOOK endpoint: format: uri RenewSubscription: type: object description: Request payload for renewing a subscription required: - transport properties: transport: $ref: '#/components/schemas/RenewTransport' RenewTransport: type: object description: Transport settings for subscription renewal. Use to update the webhook auth token. required: - authToken properties: authToken: type: string minLength: 0 maxLength: 256 description: Updated authentication token for webhook verification. Replaces the existing authToken on renewal. SubscriptionPage: type: object description: A page containing the current list of subscriptions with links to the previous and next pages. properties: pagination: $ref: '#/components/schemas/Pagination' subscriptions: type: array items: $ref: '#/components/schemas/Subscription_2' links: $ref: '#/components/schemas/Links' SubscriptionResponse: type: object description: Request payload for creating a subscription required: - family - events - transport properties: family: $ref: '#/components/schemas/Family' events: type: array minItems: 1 maxItems: 25 description: The collection of events to filter on within the chosen family. To receive all events associated with a family then specify 'ALL' here. Event types vary depending on family selected, see developers guide for more details on the events for each family. example: - ALL items: type: string minLength: 1 maxLength: 256 transport: $ref: '#/components/schemas/TransportResponse' Subscription_2: allOf: - type: object description: Subscription details of a successful response properties: subscriptionId: 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}$ description: The unique 36 character UUID that identifies the subscription. example: fdbec917-e76e-4645-8120-4eac46f29487 createdAt: type: string description: The datetime in ISO 8601 format that the subscription was created. format: date-time example: '2020-08-01T14:25:23.162Z' expiresAt: type: string description: The datetime in ISO 8601 format that the subscription expires. format: date-time example: '2020-08-08T14:25:23.177Z' expiresIn: type: integer description: Seconds remaining before the subscription expires, calculated at the time of the response. Call the Renew Subscription endpoint before this value reaches zero to keep the subscription active. format: int64 example: 900 status: type: string enum: - ACTIVE - INACTIVE - PENDING minLength: 1 maxLength: 256 readOnly: true description: Current status of the subscription. `ACTIVE` means events are being delivered. `INACTIVE` means the subscription has expired or been deactivated. `PENDING` means the subscription is being set up. example: ACTIVE - $ref: '#/components/schemas/SubscriptionResponse' Pagination: type: object properties: pageNumber: type: integer format: int32 minimum: 1 maximum: 1000 description: The current page number. pageSize: type: integer format: int32 minimum: 1 maximum: 25 description: The max number of records that can be retrieved on this page. total: type: integer format: int32 description: The total number of records. totalPages: type: integer format: int32 description: The total number of pages available. Links: type: object properties: prev: type: string description: URL of the previous page. Blank if currently on the first page. next: type: string description: URL of the next page. Blank if currently on the last page. examples: ErrorConstraintViolationCallbackUrl: description: Constraint Violation value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: Constraint Violation status: 400 detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section. violations: - field: callbackUrl message: must not be null UpdateSubscriptionRequest: value: subscriptionId: 2581e39b-fe84-4e38-87f4-63a1d037f39a channelProviderId: ChatProvider01 callbackUrl: https://www.example.com/send/callback/here/instead eventTypes: - ALL CreateSubscriptionRequest: value: channelProviderId: ChatProvider01 callbackUrl: https://www.example.com/send/callback/here eventTypes: - MESSAGES MessageEventMessagingCustomerToAgentReply: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl providerSenderId: 6c66cfbfa5b8c841297103d4 providerMessageId: 64c8a96f6461998368455ec1 senderParticipantId: 6c66cfbfa5b8c841297103d4 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: reply elementText: text: '' textFormat: PLAINTEXT richMediaPayload: selectedAction: type: reply text: Good payload: GOOD iconUrl: https://example.com/icons/good.png headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' EngagementErrorEvent: value: eventType: ENGAGEMENT_ERROR type: ENGAGEMENT_CREATION_FAILED title: Error occurred while creating an engagement detail: Unable to create an engagement engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 sessionId: 10494b78-710c-11eb-9439-0242ac130002 providerDialogId: 616imlgwg266hjs670nl channelProviderId: ChatConnector01 accountId: ABCDEF channelId: Chat correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' TypingEvent: value: eventType: TYPING correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 accountId: ABCDEF providerDialogId: 616imlgwg266hjs670nl channelProviderId: 09a9cba2-f8bb-4b7f-8405-48f82290f30e senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantType: AGENT senderParticipantDisplayName: Jane Doe channelId: Messaging businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 sourceType: custom-messaging:my-provider sourceAddress: https://my-provider.com/page-id externalRecipientParticipants: - participantId: johndoe@example.com providerParticipantId: ad27a746b4c621a292c43f81 EngagementCreatedEvent: value: eventType: ENGAGEMENT_CREATED correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 accountId: ABCDEF conversation: sell car channelProviderId: ChatConnector01 businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 initiatorParticipantId: johndoe@example.com sessionId: 10494b78-710c-11eb-9439-0242ac130002 customerIdentifiers: emailAddresses: - john@example.com phoneNumbers: - +91 20 4101 8003 engagementParameters: model: 512GTB interestedModel: 488GTB providerDialogId: 616imlgwg266hjs670nl sourceType: Facebook sourceAddress: https://www.facebook.com/Ixcc-112670754648669 MessageEventMessagingCustomerToAgentImage: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl providerSenderId: 6c66cfbfa5b8c841297103d4 providerMessageId: 64c8a96f6461998368455ec1 senderParticipantId: 6c66cfbfa5b8c841297103d4 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: image elementText: text: Here is the image textFormat: PLAINTEXT headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider attachments: - attachmentId: 0ffa058c-77c7-4dbc-9fce-b0ee9e5ccd67 name: my-car-photo.png contentType: image/png url: /v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427321&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f size: 2383 messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' ErrorForbidden: description: Forbidden value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden title: Forbidden status: 403 detail: According to the access control policy the current user and/or accountId does not have permission to access this resource. MessageEventMessagingAgentToCustomerFile: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: file elementText: text: This file contains car's brochure textFormat: PLAINTEXT headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider attachments: - attachmentId: 0ffa058c-77c7-4dbc-9fce-b0ee9e5ccd67 name: my-file.txt contentType: text/plain url: /v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427321&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f size: 2383 messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' ParticipantAddedEvent: value: eventType: PARTICIPANT_ADDED correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 accountId: ABCDEF channelId: Chat channelProviderId: ChatConnector01 sessionId: 10494b78-710c-11eb-9439-0242ac130002 connectionId: f3c8400d-c44f-4451-8316-e75c4efb8zz9 participantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 displayName: Andy Morgan participantType: AGENT providerDialogId: 616imlgwg266hjs670nl providerParticipantId: hb8j2zv1jbyvpgic MessageEventCustomChat: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: NONE sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: text elementText: text: Select a variant textFormat: PLAINTEXT payload: '{"requestElementType":"scroll", "values":["xp-a (Petrol Automatic)", "xp-m (Petrol Manual)"]}' fallbackText: What is the variant - xp-a (Petrol Automatic) or xp-m (Petrol Manual) ? headers: priority: normal sensitivity: normal encoding: utf-8 subject: sell car clientDeviceTag: android_app messageSourceServerTag: ChatConnector01-node02 providerTimestamp: '2018-11-13T20:25:39.534Z' additionalHeaders: appVersion: v2.1 customData: key-words: '["evaluation","variant"]' messageIndex: 6 recipientParticipants: - participantId: johndoe@example.com connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: johndoe@example.com channelProviderId: ChatConnector01 parentMessageId: 6b5e9a72-710c-11eb-9439-0242ac130002 providerDialogId: 616imlgwg266hjs670nl providerSenderId: johndoe@example.com providerParentMessageId: 611c9a6a4a250100d4bd2c54 receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' MessageEventMessagingCustomerToAgentLocation: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl providerSenderId: 6c66cfbfa5b8c841297103d4 providerMessageId: 64c8a96f6461998368455ec1 senderParticipantId: 6c66cfbfa5b8c841297103d4 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: location elementText: text: '' textFormat: PLAINTEXT richMediaPayload: coordinates: lat: -18.516634 long: 73.928104 location: address: Nth Floor, UVW Park, XYZ Street, Some Country, PIN CODE - 123456 name: Office Address headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' ErrorNotFound: description: Not Found value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#not-found title: Not Found status: 404 detail: Either there is no API method associated with the URL path of the request, or the request refers to one or more resources that were not found. MessageEventChatPlainTextSimple: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: SENT sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: ChatConnector01 channelId: Chat senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: text elementText: text: What is the make and model? textFormat: PLAINTEXT customData: sentiment: Neutral messageIndex: 4 recipientParticipants: - participantId: johndoe@example.com connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: johndoe@example.com channelProviderId: ChatConnector01 providerDialogId: 616imlgwg266hjs670nl providerSenderId: janedoe@example.com receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' MessageEventMessagingAgentToCustomerCarousel: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: text elementText: text: Choose an option textFormat: PLAINTEXT richMediaPayload: items: - mediaUrl: https://example.com/cars/images/carmodel1.png description: This is hybrid car title: CarModel1 actions: - payload: CAR_MODEL_1 text: Select type: postback - text: More info type: link uri: https://example.com/cars/info-carmodel1 - mediaUrl: https://example.com/cars/images/carmodel2.png description: This is hybrid car title: CarModel2 actions: - payload: CAR_MODEL_2 text: Select type: postback - text: More info type: link uri: https://example.com/cars/info-carmodel2 headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' ListSubscriptions: value: - subscriptionId: 2581e39b-fe84-4e38-87f4-63a1d037f39a channelProviderId: ChatProvider01 callbackUrl: https://www.example.com/send/callback/here eventTypes: - MESSAGES - subscriptionId: e9871f9a-1111-41e4-ac9b-a817016577a0 channelProviderId: ChatProvider01 callbackUrl: https://www.example.com/send/other/callback/here eventTypes: - ALL ErrorConstraintViolationAccountId: description: Constraint Violation value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: Constraint Violation status: 400 detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section. violations: - field: accountId message: must match "^[a-zA-Z]{6}$" MessageEventMessagingAgentToCustomerLocation: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: location elementText: text: You can visit this showroom near to you textFormat: PLAINTEXT richMediaPayload: coordinates: lat: -18.516634 long: 73.928104 location: address: Nth Floor, UVW Park, XYZ Street, Some Country, PIN CODE - 123456 name: Showroom Address headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' MessageEventMessagingAgentToCustomerPostbackLinkLocationRequest: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: text elementText: text: Choose an option textFormat: PLAINTEXT richMediaPayload: actions: - type: postback text: Book Appointment payload: BOOK_APPOINTMENT - type: link text: Get more information uri: https://example.com/documents/info - type: locationRequest text: Send Your Location headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' ErrorUnauthorized: description: Unauthorized value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized title: Unauthorized status: 401 detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis Subscription: value: subscriptionId: 2581e39b-fe84-4e38-87f4-63a1d037f39a channelProviderId: ChatProvider01 callbackUrl: https://www.example.com/send/callback/here eventTypes: - MESSAGES MessageEventMessagingCustomerToAgentFile: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl providerSenderId: 6c66cfbfa5b8c841297103d4 providerMessageId: 64c8a96f6461998368455ec1 senderParticipantId: 6c66cfbfa5b8c841297103d4 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: file elementText: text: This file contains the details textFormat: PLAINTEXT headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider attachments: - attachmentId: 0ffa058c-77c7-4dbc-9fce-b0ee9e5ccd67 name: my-file.txt contentType: text/plain url: /v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427321&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f size: 2383 messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' MessageEventMessagingCustomerToAgentPostback: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl providerSenderId: 6c66cfbfa5b8c841297103d4 providerMessageId: 64c8a96f6461998368455ec1 senderParticipantId: 6c66cfbfa5b8c841297103d4 senderParticipantName: John Doe senderParticipantType: CUSTOMER body: elementType: postback elementText: text: '' textFormat: PLAINTEXT richMediaPayload: selectedAction: type: postback text: Book Appointment payload: BOOK_APPOINTMENT headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' UpdateSubscriptionResponse: value: subscriptionId: 2581e39b-fe84-4e38-87f4-63a1d037f39a channelProviderId: ChatProvider01 callbackUrl: https://www.example.com/send/callback/here/instead eventTypes: - ALL ParticipantDisconnectEvent: value: eventType: PARTICIPANT_DISCONNECTED correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 dialogId: fc741b00-710b-11eb-9439-0242ac130002 accountId: ABCDEF channelId: Chat channelProviderId: ChatConnector01 sessionId: 10494b78-710c-11eb-9439-0242ac130002 connectionId: f3c8400d-c44f-4451-8316-e75c4efb8zz9 participantId: e3c8400d-c44f-4451-8316-e75c4efb8cc7 displayName: Andy Morgan participantType: AGENT providerDialogId: 616imlgwg266hjs670nl providerParticipantId: hb8j2zv1jbyvpgic MessageEventMessagingAgentToCustomerImage: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: image elementText: text: Here is a picture textFormat: PLAINTEXT headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider attachments: - attachmentId: 0ffa058c-77c7-4dbc-9fce-b0ee9e5ccd67 name: my-picture.png contentType: image/png url: /v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427321&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f size: 2383 messageIndex: 8 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' ErrorInternalServerError: description: Internal Server Error value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#internal-error title: Internal Server Error status: 500 detail: An internal server error was encountered. MessageEventMessagingAgentToCustomerReply: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: DELIVERED businessAccountName: e94e278d-72e7-48cc-80fc-dba9f8dd1c36 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b channelId: Messaging providerDialogId: 616imlgwg266hjs670nl senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Jane Doe senderParticipantType: AGENT body: elementType: text elementText: text: Choose an option textFormat: PLAINTEXT richMediaPayload: actions: - type: reply text: Upset payload: UPSET iconUrl: https://example.com/icons/upset.png - type: reply text: Good payload: GOOD iconUrl: https://example.com/icons/good.png - type: reply text: Perfect payload: PERFECT iconUrl: https://example.com/icons/perfect.png headers: sourceAddress: 9dc1b407-44fb-4575-a0e0-c9826172ef5c sourceType: custom:provider messageIndex: 6 recipientParticipants: - participantId: 6c66cfbfa5b8c841297103d4 connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: ad27a746b4c621a292c43f81 channelProviderId: 591c2529-c3a3-4062-a213-b239c18f543b receivedAt: '2018-11-13T20:25:39.536Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' MessageEventEmail: value: eventType: MESSAGES correlationId: zc38400d-c44f-4451-8316-e75c4efbt779 eventDate: '2018-11-13T20:25:39.734Z' messageId: f314569c-710b-11eb-9439-0242ac130002 accountId: ABCDEF dialogId: fc741b00-710b-11eb-9439-0242ac130002 engagementId: 8d7cf5b8-70ad-11eb-9439-0242ac130002 status: NONE sessionId: 10494b78-710c-11eb-9439-0242ac130002 businessAccountName: acme@example.com channelProviderId: EmailConnector01 channelId: Email senderParticipantId: 277cacfe-710c-11eb-9439-0242ac130002 senderParticipantName: Company System Name senderParticipantType: SYSTEM body: elementType: text elementText: text:
Thanks for reaching out to us. Our executive will contact you within 24 hours.
textFormat: HTML headers: to: - john@example.com from: support@example.com cc: - supportmanagement@example.com subject: Procedure to sell a call additionalHeaders: Content-Language: en Auto-submitted: auto-replied attachmentIds: - attachmentId: 0ffa058c-77c7-4dbc-9fce-b0ee9e5ccd67 name: company-logo.png contentType: image/png url: /v1/media/b03976ea-7e8b-11ea-bc55-0242ac130003?ttl=1672839427321&signature=8ac27e8f48f997d1a889b4b6111c3ad9fb92974a7efa4913dca92ffa43ac709f size: 2383 contentId: company-logo-cid captionText: Company Logo additionalProperties: tags: '["logo-small"]' messageIndex: 2 receivedAt: '2018-11-13T20:25:39.534Z' lastUpdatedAt: '2018-11-13T20:25:39.734Z' recipientParticipants: - participantId: johndoe@example.com connectionId: 1349bcb1-fbf4-457c-af26-376da7bedc3c displayName: John Doe participantType: CUSTOMER providerParticipantId: johndoe@example.com channelProviderId: EmailConnector01 CreateAgentAndInteractionWebhookSubscription: description: Create Agent & Interaction Webhook Subscription value: family: - AGENT - INTERACTION events: - Agent.LoggedIn - Agent.LoggedOut - Agent.Ready - Agent.NotReady - Interaction.Created - Interaction.Completed transport: type: WEBHOOK method: POST endpoint: https://webhook.site/ccc61bd0-a607-4ba0-b891-a9d7484d6196 authToken: eyJ0eXAiOiJKV1QiLCJub25jZSI6Ildp... authTokenHeader: my-custom-header ErrorForbidden_2: description: Forbidden value: type: https://developers.avayacloud.com/avaya-infinity/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. AgentAndInteractionWebhookSubscriptionResponse: description: Subscription Response value: subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487 createdAt: '2020-08-01T14:25:23.162Z' expiresAt: '2020-08-08T14:25:23.177Z' expiresIn: 900 status: ACTIVE family: - AGENT - INTERACTION events: - Agent.LoggedIn - Agent.LoggedOut - Agent.Ready - Agent.NotReady - Interaction.Created - Interaction.Completed transport: type: WEBHOOK method: POST endpoint: https://webhook.site/fdbec917-e76e-4645-8120-4eac46f29487 authToken: eyJ0eXAiOiJKV1QiLCJub25jZSI6Ildp... authTokenHeader: my-custom-header ErrorConstraintViolation: description: Constraint Violation value: type: https://developers.avayacloud.com/avaya-infinity/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: family message: must not be null ErrorNotFound_2: description: Not Found value: type: https://developers.avayacloud.com/avaya-infinity/docs/error-handling#resource-not-found title: Resource Not Found status: 404 detail: Resource not found. RenewSubscriptionAndAuthToken: description: Renew Subscription and authToken value: transport: authToken: eyJ0eXAiOiJKV1QiLCJub25jZSI6Ildp... ErrorUnauthorized_2: description: Unauthorized value: type: https://developers.avayacloud.com/avaya-infinity/docs/error-handling#unauthorized title: Unauthorized status: 401 detail: This operation requires authentication. See https://developers.avayacloud.com/avaya-infinity/docs/how-to-authenticate-with-avaya-infinitytm-apis SubscriptionPage: value: pagination: pageNumber: 2 pageSize: 20 total: 60 subscriptions: - subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487 createdAt: '2020-08-01T14:25:23.162Z' expiresAt: '2020-08-08T14:25:23.177Z' expiresIn: 900 status: ACTIVE family: AGENT events: - ALL transport: type: WEBHOOK method: POST endpoint: https://webhook.site/ccc61bd0-a607-4ba0-b891-a9d7484d6196 authToken: eyJ0eXAiOiJKV1QiLCJub25jZSI6Ildp... authTokenHeader: my-custom-header links: prev: /api/events/v1/subscriptions?pageNumber=1&pageSize=20 next: /api/events/v1/subscriptions?pageNumber=3&pageSize=20 ErrorInternalServerError_2: description: Server Error value: type: https://developers.avayacloud.com/avaya-infinity/docs/error-handling#server-error title: Server Error status: 500 detail: An internal server error was encountered. responses: InternalServerError: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorInternalServerError' Unauthorized: description: Unauthorized. content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorUnauthorized' BadRequestCallbackUrl: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolationCallbackUrl' 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' BadRequestAccountId: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorConstraintViolationAccountId' Unauthorized_2: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' examples: default: $ref: '#/components/examples/ErrorUnauthorized_2' InternalServer: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' examples: default: $ref: '#/components/examples/ErrorInternalServerError_2' NotFound_2: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' examples: default: $ref: '#/components/examples/ErrorNotFound_2' BadRequest: description: Constraint Violation content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' examples: default: $ref: '#/components/examples/ErrorConstraintViolation' Forbidden_2: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem_2' examples: default: $ref: '#/components/examples/ErrorForbidden_2' parameters: subscriptionId: name: subscriptionId description: The unique 36 character internal id (uuid) that represents the webhook. 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: 2581e39b-fe84-4e38-87f4-63a1d037f39a 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 channelProviderId: name: channelProviderId description: The unique id that represents the channel provider required: false in: query schema: type: string minLength: 3 maxLength: 256 example: ChatProvider01 subscriptionId_2: name: subscriptionId description: The unique 36 character internal id that represents the subscription. 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: fdbec917-e76e-4645-8120-4eac46f29487 accountId_2: name: accountId description: The unique 26 character internal id that represents the customer account. required: true in: path schema: type: string minLength: 26 maxLength: 26 pattern: ^[0-9a-zA-Z]{26}$ example: 001d01022054849399088a81ad 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-refined-from: - avaya-axp-digital-notification-openapi-original.json - avaya-infinity-notifications-openapi-original.json x-explorer-enabled: false x-samples-languages: - curl - node - java - javascript - python - go