{
   "openapi": "3.0.3",
   "info": {
      "version": "0.6.2",
      "title": "Channel Manager API",
      "x-metaTitle": "Vonage Channel Manager API Reference | Vonage API Documentation",
      "x-metaDescription": "Find quick answers to questions about the Vonage Channel Manage API in this reference guide. Learn more in Vonage's API documentation.",
      "x-label": "Beta",
      "description": "The Channel Manager API provides a way of managing configuration  and data related to various messaging channels in the Vonage Messages API. Find out more at <https://developer.vonage.com/en/api/channel-manager>.",
      "contact": {
         "name": "Vonage Developer Relations",
         "email": "devrel@vonage.com",
         "url": "https://developer.vonage.com/"
      },
      "license": {
         "name": "Apache 2.0",
         "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
      }
   },
   "servers": [
      {
         "url": "https://api.nexmo.com",
         "description": "API Server"
      }
   ],
   "paths": {
      "/v2/whatsapp-manager/subscriptions": {
         "get": {
            "summary": "List Notification Subscriptions",
            "description": "Get a list of all notification subscriptions for the main API key",
            "operationId": "getNotificationSubscriptions",
            "tags": [
               "WhatsApp Notification Subscriptions"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppSubscriptionResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "post": {
            "summary": "Create a Notification Subscription",
            "description": "Create a new notification subscription for the main API key",
            "operationId": "createNotificationSubscription",
            "tags": [
               "WhatsApp Notification Subscriptions"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/WhatsAppCreateSubscriptionNotificationRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppSubscriptionSingleResponse"
               },
               "400": {
                  "$ref": "#/components/responses/WhatsAppCreateSubscriptionErrorResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v2/whatsapp-manager/subscriptions/{subscription_id}": {
         "parameters": [
            {
               "$ref": "#/components/parameters/SubscriptionId"
            }
         ],
         "delete": {
            "summary": "Delete a Notification Subscription",
            "description": "Delete a notification subscription for the main API key",
            "operationId": "deleteNotificationSubscription",
            "tags": [
               "WhatsApp Notification Subscriptions"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "204": {
                  "$ref": "#/components/responses/204"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas": {
         "get": {
            "summary": "List WhatsApp Business Accounts (WABAs)",
            "description": "List all WhatsApp Business Accounts (WABAs) that are associated with the Vonage account.",
            "operationId": "listWhatsAppWabas",
            "tags": [
               "WhatsApp WABAs"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "parameters": [
               {
                  "$ref": "#/components/parameters/PageNumber"
               },
               {
                  "$ref": "#/components/parameters/PageSize"
               },
               {
                  "$ref": "#/components/parameters/Order"
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppWabaListResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            }
         ],
         "get": {
            "summary": "Get a specific WhatsApp Business Account (WABA)",
            "description": "Retreive details of a specific WhatsApp Business Account (WABA).",
            "operationId": "getWhatsAppWaba",
            "tags": [
               "WhatsApp WABAs"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppWabaResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppWabaNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}/numbers": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            }
         ],
         "get": {
            "summary": "List Numbers for a WhatsApp Business Account (WABA)",
            "description": "List all Numbers associated with a WhatsApp Business Account (WABA).",
            "operationId": "listWhatsAppWabaNumbers",
            "tags": [
               "WhatsApp WABAs"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "parameters": [
               {
                  "$ref": "#/components/parameters/PageNumber"
               },
               {
                  "$ref": "#/components/parameters/PageSize"
               },
               {
                  "$ref": "#/components/parameters/Order"
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppNumbersHalResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppWabaNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}/numbers/{whatsapp_number}": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            },
            {
               "$ref": "#/components/parameters/WhatsAppNumber"
            }
         ],
         "get": {
            "summary": "Get a specific WhatsApp Business Account (WABA) Number",
            "description": "Retreive details of a specific Number associated with a WhatsApp Business Account (WABA).",
            "operationId": "getWhatsAppWabaNumber",
            "tags": [
               "WhatsApp WABAs"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppNumbersResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppWabaNumberNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/numbers/{whatsapp_number}/profile": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppNumber"
            }
         ],
         "get": {
            "summary": "Get the profile for a specific WhatsApp Business Account (WABA) Number",
            "description": "Retreive details of the profile for a specific Number associated with a WhatsApp Business Account (WABA).",
            "operationId": "getWhatsAppWabaNumberProfile",
            "tags": [
               "WhatsApp WABAs"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppNumberProfileResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppProfileNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "patch": {
            "summary": "Update the profile for a specific WhatsApp Business Account (WABA) Number",
            "description": "Update details of the profile for a specific Number associated with a WhatsApp Business Account (WABA).",
            "operationId": "updateWhatsAppWabaNumberProfile",
            "tags": [
               "WhatsApp WABAs"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/WhatsAppUpdateNumberProfileRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppNumberProfileResponse"
               },
               "400": {
                  "$ref": "#/components/responses/WhatsAppProfileInvalidErrorResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppProfileNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}/template-analytics": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            }
         ],
         "get": {
            "summary": "Get Template Analytics",
            "description": "Get analytics for a specific template.",
            "operationId": "getTemplateAnalytics",
            "tags": [
               "WhatsApp Analytics"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "parameters": [
               {
                  "$ref": "#/components/parameters/TemplateIds"
               },
               {
                  "$ref": "#/components/parameters/StartDate"
               },
               {
                  "$ref": "#/components/parameters/EndDate"
               },
               {
                  "$ref": "#/components/parameters/MetricTypes"
               },
               {
                  "$ref": "#/components/parameters/TemplateGranularity"
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppTemplateAnalyticsResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppWabaNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}/messaging-analytics": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            }
         ],
         "get": {
            "summary": "Get Messaging Analytics",
            "description": "Get analytics for WhatsApp messages",
            "operationId": "getMessagingAnalytics",
            "tags": [
               "WhatsApp Analytics"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "parameters": [
               {
                  "$ref": "#/components/parameters/Granularity"
               },
               {
                  "$ref": "#/components/parameters/StartDate"
               },
               {
                  "$ref": "#/components/parameters/EndDate"
               },
               {
                  "$ref": "#/components/parameters/ProductTypes"
               },
               {
                  "$ref": "#/components/parameters/PhoneNumbers"
               },
               {
                  "$ref": "#/components/parameters/CountryCodes"
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppMessagingAnalyticsResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppWabaNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}/pricing-analytics": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            }
         ],
         "get": {
            "summary": "Get Pricing Analytics",
            "description": "Get analytics for message pricing.",
            "operationId": "getPricingAnalytics",
            "tags": [
               "WhatsApp Analytics"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "parameters": [
               {
                  "$ref": "#/components/parameters/StartDate"
               },
               {
                  "$ref": "#/components/parameters/EndDate"
               },
               {
                  "$ref": "#/components/parameters/Granularity"
               },
               {
                  "$ref": "#/components/parameters/PhoneNumbers"
               },
               {
                  "$ref": "#/components/parameters/CountryCodes"
               },
               {
                  "$ref": "#/components/parameters/Dimensions"
               },
               {
                  "$ref": "#/components/parameters/Tier"
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppPricingAnalyticsResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/WhatsAppWabaNotFoundErrorResponse"
               },
               "422": {
                  "$ref": "#/components/responses/422"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/tp-registration/url": {
         "post": {
            "summary": "Generate Hosted ES Flow URL",
            "description": "Generate a URL for the start page for WhatsApp hosted embedded sign-up flow based on the supplied partner solution ID.",
            "operationId": "postWhatsAppTpRegistrationUrl",
            "tags": [
               "WhatsApp Hosted ES Flow"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/WhatsAppHostedFlowRegistrationRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/WhatsAppFlowResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/whatsapp/wabas/{waba_id}/enable_insights": {
         "parameters": [
            {
               "$ref": "#/components/parameters/WhatsAppWabaId"
            }
         ],
         "patch": {
            "summary": "Enable template analytics",
            "description": "Before you can fetch template analytics, Meta guidelines ask you to enable \"insights\". This endpoint will enable insights",
            "operationId": "enableTemplateAnalytics",
            "tags": [
               "WhatsApp Analytics"
            ],
            "security": [
               {
                  "bearerAuth": []
               },
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "204": {
                  "$ref": "#/components/responses/204"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/rcs/agents/{sender_id}/google/phones/{phone_number}/capabilities": {
         "get": {
            "operationId": "getDeviceRCSCapabilitiesDeprecated",
            "summary": "RCS Capabilities Device Check",
            "description": "Get RCS Capabilities for a Specific Device.\n**Please note that this operation is deprecated, please refer to [this one](#getDeviceRCSCapabilities) instead.**\n",
            "tags": [
               "RCS Capability Checks"
            ],
            "security": [
               {
                  "bearerAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSCapabilityResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "403": {
                  "$ref": "#/components/responses/403"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            },
            "deprecated": true
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/SenderId"
            },
            {
               "$ref": "#/components/parameters/PhoneNumber"
            }
         ]
      },
      "/v1/channel-manager/rcs/agents/{sender_id}/devices/capabilities": {
         "post": {
            "operationId": "getDeviceRCSCapabilities",
            "summary": "RCS Capabilities Device Check",
            "description": "Get RCS Capabilities for a Specific Device",
            "tags": [
               "RCS Capability Checks"
            ],
            "security": [
               {
                  "basicAuth": []
               },
               {
                  "bearerAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSDeviceCapabilityRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSDeviceCapabilityResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "403": {
                  "$ref": "#/components/responses/403"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/SenderId"
            }
         ]
      },
      "/v1/channel-manager/rcs/agents/{sender_id}/google/{operation}": {
         "post": {
            "operationId": "postRCSCapabilitiesBulkCheck",
            "summary": "RCS Capabilities Bulk Check",
            "description": "Perform an RCS Capability Check for Multiple Devices. See the [RCS Capability Checks](/messages/guides/rcs/rcs-device-capability-check) documentation for more information.",
            "tags": [
               "RCS Capability Checks"
            ],
            "security": [
               {
                  "bearerAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSCapabilityBulkCheckRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSBulkCapabilityCheckResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/SenderId"
            },
            {
               "$ref": "#/components/parameters/Operation"
            }
         ]
      },
      "/v1/channel-manager/rcs/opt-out/{sender_id}": {
         "get": {
            "operationId": "getRCSOptOutInfo",
            "summary": "Get Opt-out Information",
            "description": "Retrieve RCS Opt-out information. Note: this feature is only available to accounts with RCS enabled; please contact your Vonage representative for more information.",
            "tags": [
               "RCS Opt-out Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSOptOutInfoResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "post": {
            "operationId": "updateRCSOptOutInfo",
            "summary": "Update Opt-out Information",
            "description": "Update RCS Opt-out information. Note: this feature is only available to accounts with RCS enabled; please contact your Vonage representative for more information.",
            "tags": [
               "RCS Opt-out Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSOptOutUpdateRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSOptOutInfoResponse"
               },
               "400": {
                  "$ref": "#/components/responses/RCSOptOutErrorResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/SenderId"
            }
         ]
      },
      "/v1/channel-manager/rcs/brands": {
         "get": {
            "operationId": "listRCSBrands",
            "summary": "List Brands",
            "description": "Retrieve a list of RCS Brands.",
            "tags": [
               "RCS Brand Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSListBrandsResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "post": {
            "operationId": "createRCSBrand",
            "summary": "Create Brand",
            "description": "Create a new RCS Brand.",
            "tags": [
               "RCS Brand Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSBrandRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSCreateBrandResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/rcs/brands/{brand_id}": {
         "patch": {
            "operationId": "updateRCSBrand",
            "summary": "Update Brand",
            "description": "Update an existing RCS Brand.",
            "tags": [
               "RCS Brand Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSBrandRequest"
            },
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSUpdateBrandResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "delete": {
            "operationId": "deleteRCSBrand",
            "summary": "Delete Brand",
            "description": "Delete an existing RCS Brand.",
            "tags": [
               "RCS Brand Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "204": {
                  "$ref": "#/components/responses/204"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/BrandId"
            }
         ]
      },
      "/v1/channel-manager/rcs/agents": {
         "get": {
            "operationId": "listRCSAgents",
            "summary": "List Agents",
            "description": "Retrieve a list of RCS Agents.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "parameters": [
               {
                  "$ref": "#/components/parameters/BrandFilter"
               },
               {
                  "$ref": "#/components/parameters/StateFilter"
               },
               {
                  "$ref": "#/components/parameters/AgentPurposeFilter"
               },
               {
                  "$ref": "#/components/parameters/BillingCategoryFilter"
               },
               {
                  "$ref": "#/components/parameters/HostingRegionFilter"
               },
               {
                  "$ref": "#/components/parameters/PageNumber"
               },
               {
                  "$ref": "#/components/parameters/PageSize"
               },
               {
                  "$ref": "#/components/parameters/Order_1"
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSListAgentsResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "post": {
            "operationId": "createRCSAgent",
            "summary": "Create Agent",
            "description": "Create a new RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSAgentRequest"
            },
            "responses": {
               "201": {
                  "$ref": "#/components/responses/RCSCreateAgentResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/rcs/agents/{agent_id}": {
         "get": {
            "operationId": "getRCSAgent",
            "summary": "Get Agent",
            "description": "Retrieve an existing RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSAgentResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "put": {
            "operationId": "updateRCSAgent",
            "summary": "Update Agent",
            "description": "Fully update an existing RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSAgentRequest"
            },
            "responses": {
               "202": {
                  "$ref": "#/components/responses/RCSAgentResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "patch": {
            "operationId": "patchRCSAgent",
            "summary": "Partially Update Agent",
            "description": "Partially update an existing RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSAgentRequest"
            },
            "responses": {
               "202": {
                  "$ref": "#/components/responses/RCSAgentResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/AgentId"
            }
         ]
      },
      "/v1/channel-manager/rcs/metadata/carriers": {
         "get": {
            "operationId": "getRCSCarriers",
            "summary": "Get Carriers",
            "description": "Retrieve a list of available carriers for RCS.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "200": {
                  "$ref": "#/components/responses/RCSCarrierResponse"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         }
      },
      "/v1/channel-manager/rcs/agents/{agent_id}/carriers": {
         "post": {
            "operationId": "addCarriersToRCSAgent",
            "summary": "Add Carriers to Agent",
            "description": "Add carriers to an existing RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSAddCarriersToAgentRequest"
            },
            "responses": {
               "202": {
                  "$ref": "#/components/responses/RCSCarrierUpdateResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/AgentId"
            }
         ]
      },
      "/v1/channel-manager/rcs/agents/{agent_id}/test-devices": {
         "post": {
            "operationId": "addTestDevicesToRCSAgent",
            "summary": "Add Test Devices to Agent",
            "description": "Add test devices to an existing RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "requestBody": {
               "$ref": "#/components/requestBodies/RCSAddTestDevicesToAgentRequest"
            },
            "responses": {
               "202": {
                  "$ref": "#/components/responses/RCSTestDeviceResponse"
               },
               "400": {
                  "$ref": "#/components/responses/400"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "403": {
                  "$ref": "#/components/responses/403"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/AgentId"
            }
         ]
      },
      "/v1/channel-manager/rcs/agents/{agent_id}/test-devices/{test_device_id}": {
         "delete": {
            "operationId": "removeTestDeviceFromRCSAgent",
            "summary": "Remove Test Device from Agent",
            "description": "Remove a test device from an existing RCS Agent.",
            "tags": [
               "RCS Agent Management"
            ],
            "security": [
               {
                  "basicAuth": []
               }
            ],
            "responses": {
               "204": {
                  "$ref": "#/components/responses/204"
               },
               "401": {
                  "$ref": "#/components/responses/401"
               },
               "404": {
                  "$ref": "#/components/responses/404"
               },
               "429": {
                  "$ref": "#/components/responses/429"
               },
               "500": {
                  "$ref": "#/components/responses/500"
               }
            }
         },
         "parameters": [
            {
               "$ref": "#/components/parameters/AgentId"
            },
            {
               "$ref": "#/components/parameters/TestDeviceId"
            }
         ]
      }
   },
   "components": {
      "securitySchemes": {
         "bearerAuth": {
            "type": "http",
            "scheme": "bearer",
            "bearerFormat": "JWT"
         },
         "basicAuth": {
            "type": "http",
            "scheme": "basic"
         }
      },
      "parameters": {
         "TemplateIds": {
            "name": "template_ids",
            "in": "query",
            "description": "An array of the `template_ids` of the WhatsApp template(s).",
            "required": true,
            "schema": {
               "type": "array",
               "minItems": 1,
               "maxItems": 10,
               "items": {
                  "$ref": "#/components/schemas/WhatsAppTemplateId"
               }
            }
         },
         "TemplateId": {
            "name": "template_id",
            "in": "path",
            "description": "The WhatsApp template Id",
            "required": true,
            "schema": {
               "$ref": "#/components/schemas/WhatsAppTemplateId"
            }
         },
         "StartDate": {
            "name": "start",
            "in": "query",
            "description": "The start date and time in ISO-8601 format for the analytics data to be retrieved from, in the format `YYYY-MM-DD`.",
            "required": true,
            "schema": {
               "type": "string",
               "format": "timestamp",
               "example": "2024-11-01"
            }
         },
         "EndDate": {
            "name": "end",
            "in": "query",
            "description": "The end date and time in ISO-8601 format for the analytics data to be retrieved to, in the format `YYYY-MM-DD`. The maximum difference between the `start` and `end` dates is 90 days.\n",
            "required": true,
            "schema": {
               "type": "string",
               "format": "timestamp",
               "example": "2024-11-03"
            }
         },
         "MetricTypes": {
            "name": "metric_types",
            "in": "query",
            "description": "An array of the metric types to retrieve analytics for. Possible values are `SENT`, `DELIVERED`, `READ`, and `CLICKED`.",
            "required": false,
            "schema": {
               "type": "array",
               "items": {
                  "type": "string",
                  "enum": [
                     "SENT",
                     "DELIVERED",
                     "READ",
                     "CLICKED"
                  ]
               },
               "example": [
                  "SENT",
                  "DELIVERED"
               ]
            }
         },
         "TemplateGranularity": {
            "name": "granularity",
            "in": "query",
            "description": "The granularity at which you would like to retrieve the template analytics.",
            "required": true,
            "schema": {
               "$ref": "#/components/schemas/TemplateGranularity"
            }
         },
         "Granularity": {
            "name": "granularity",
            "in": "query",
            "description": "The granularity at which you would like to retrieve the analytics.",
            "required": true,
            "schema": {
               "$ref": "#/components/schemas/Granularity"
            }
         },
         "ProductTypes": {
            "name": "product_types",
            "in": "query",
            "description": "An array of the message types to retrieve analytics for. Possible values are `0` for notification messages and/or 2 for customer support messages. If not specified, analytics for all message types will be returned.",
            "required": false,
            "schema": {
               "type": "array",
               "items": {
                  "type": "integer",
                  "enum": [
                     0,
                     2
                  ]
               },
               "example": [
                  0
               ]
            }
         },
         "PhoneNumbers": {
            "name": "phone_numbers",
            "in": "query",
            "description": "Phone numbers for which you would like to retrieve analytics. If not specified, analytics for all phone numbers associated with the WABA will be returned.",
            "required": false,
            "schema": {
               "type": "array",
               "items": {
                  "type": "string"
               },
               "example": [
                  "16505550111"
               ]
            }
         },
         "CountryCodes": {
            "name": "country_codes",
            "in": "query",
            "description": "Two-letter country codes for the countries for which you would like to retrieve analytics. If not specified, analytics for all countries will be returned.",
            "required": false,
            "schema": {
               "type": "array",
               "items": {
                  "$ref": "#/components/schemas/WhatsAppCountryCode"
               },
               "example": [
                  "US"
               ]
            }
         },
         "Dimensions": {
            "name": "dimensions",
            "in": "query",
            "description": "List of breakdowns you would like to apply to your metrics. If empty, all results returned without any breakdowns.",
            "required": false,
            "schema": {
               "type": "array",
               "items": {
                  "type": "string",
                  "enum": [
                     "PRICING_CATEGORY",
                     "PRICING_TYPE",
                     "COUNTRY",
                     "PHONE",
                     "TIER"
                  ]
               },
               "example": [
                  "PRICING_CATEGORY"
               ]
            }
         },
         "Tier": {
            "name": "tier",
            "in": "query",
            "description": "The tier property value represents a concatenation of the lower and upper bounds for the tier specific to the market–category pair (country and pricing_category).",
            "required": false,
            "schema": {
               "type": "array",
               "items": {
                  "type": "string"
               },
               "example": [
                  "0:100000"
               ]
            }
         },
         "Order": {
            "name": "order",
            "in": "query",
            "description": "The order.",
            "required": false,
            "schema": {
               "type": "string",
               "enum": [
                  "asc",
                  "desc"
               ]
            },
            "example": "asc"
         },
         "SubscriptionId": {
            "name": "subscription_id",
            "in": "path",
            "description": "The ID of the notification subscription to delete.",
            "required": true,
            "schema": {
               "type": "string",
               "example": "9fa85698-c92a-4786-be0e-b5a489425120"
            }
         },
         "WhatsAppWabaId": {
            "name": "waba_id",
            "in": "path",
            "description": "The `waba_id` of the WhatsApp Business Account (WABA).",
            "required": true,
            "schema": {
               "$ref": "#/components/schemas/WhatsAppWabaId"
            }
         },
         "WhatsAppNumber": {
            "name": "whatsapp_number",
            "in": "path",
            "description": "The WhatsApp number.",
            "required": true,
            "schema": {
               "$ref": "#/components/schemas/WhatsAppWabaNumber/properties/phone_number"
            }
         },
         "Order_1": {
            "name": "order",
            "in": "query",
            "description": "The order.",
            "required": false,
            "schema": {
               "type": "string",
               "enum": [
                  "asc",
                  "desc"
               ]
            },
            "example": "asc"
         },
         "BrandFilter": {
            "name": "brand_id",
            "in": "query",
            "description": "The `id` of an RCS Brand to filter by.",
            "schema": {
               "type": "string",
               "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
            }
         },
         "StateFilter": {
            "name": "state",
            "in": "query",
            "description": "The `state` of the RCS Agent to filter by.",
            "schema": {
               "type": "string",
               "enum": [
                  "DRAFT",
                  "CREATED",
                  "VERIFIED",
                  "LAUNCHED",
                  "REJECTED",
                  "UNLAUNCHED"
               ],
               "example": "DRAFT"
            }
         },
         "AgentPurposeFilter": {
            "name": "agent_purpose",
            "in": "query",
            "description": "The `agent_purpose` of the RCS Agent to filter by.",
            "schema": {
               "$ref": "#/components/schemas/RCSAgentPurpose"
            }
         },
         "BillingCategoryFilter": {
            "name": "billing_category",
            "in": "query",
            "description": "The `billing_category` of the RCS Agent to filter by.",
            "schema": {
               "$ref": "#/components/schemas/RCSBillingCategory"
            }
         },
         "HostingRegionFilter": {
            "name": "hosting_region",
            "in": "query",
            "description": "The `hosting_region` of the RCS Agent to filter by.",
            "schema": {
               "$ref": "#/components/schemas/RCSHostingRegion"
            }
         },
         "SenderId": {
            "name": "sender_id",
            "in": "path",
            "description": "The Sender ID of your RCS Agent.",
            "required": true,
            "schema": {
               "type": "string",
               "example": "VonageAgent"
            }
         },
         "PhoneNumber": {
            "name": "phone_number",
            "in": "path",
            "description": "The phone number of the device to check.",
            "required": true,
            "schema": {
               "$ref": "#/components/schemas/PhoneNumber"
            }
         },
         "Operation": {
            "name": "operation",
            "in": "path",
            "description": "The operation to perform.",
            "required": true,
            "schema": {
               "type": "string",
               "enum": [
                  "users:batchGet"
               ]
            },
            "example": "users:batchGet"
         },
         "BrandId": {
            "name": "brand_id",
            "in": "path",
            "description": "The Id of the Brand.",
            "required": true,
            "schema": {
               "type": "string",
               "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
            }
         },
         "AgentId": {
            "name": "agent_id",
            "in": "path",
            "description": "Agent ID",
            "required": true,
            "schema": {
               "type": "string",
               "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
            }
         },
         "TestDeviceId": {
            "name": "test_device_id",
            "in": "path",
            "description": "Test Device Id",
            "required": true,
            "schema": {
               "type": "string",
               "example": "019809ba-a274-7bd2-aea0-f1f70f2210dc"
            }
         },
         "PageNumber": {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "required": false,
            "schema": {
               "$ref": "#/components/schemas/PageNumber"
            }
         },
         "PageSize": {
            "name": "page_size",
            "in": "query",
            "description": "Number of items to return per page",
            "required": false,
            "schema": {
               "$ref": "#/components/schemas/PageSize"
            }
         }
      },
      "responses": {
         "204": {
            "description": "No Content - Resource successfully deleted",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            }
         },
         "400": {
            "description": "Bad Request",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "$ref": "#/components/schemas/ErrorResponseWithInvalidParameters"
                  }
               }
            }
         },
         "401": {
            "description": "Authentication failure",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "description": "Missing or Invalid Credentials",
                           "type": "object",
                           "required": [
                              "type",
                              "title",
                              "instance"
                           ],
                           "properties": {
                              "type": {
                                 "type": "string",
                                 "description": "Link to error / remediation options",
                                 "example": "https://developer.vonage.com/api-errors/#unathorized"
                              },
                              "title": {
                                 "type": "string",
                                 "description": "Generic error message",
                                 "example": "You did not provide correct credentials."
                              },
                              "detail": {
                                 "type": "string",
                                 "description": "Additional information about the error",
                                 "example": "Check that you're using the correct credentials, and that your account has this feature enabled"
                              },
                              "instance": {
                                 "type": "string",
                                 "description": "Internal Trace ID",
                                 "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
                              }
                           }
                        },
                        {
                           "description": "Invalid Application Type",
                           "type": "object",
                           "required": [
                              "type",
                              "title",
                              "instance"
                           ],
                           "properties": {
                              "type": {
                                 "type": "string",
                                 "description": "Link to error / remediation options",
                                 "example": "https://developer.vonage.com/api-errors/#unprovisioned"
                              },
                              "title": {
                                 "type": "string",
                                 "description": "Generic error message",
                                 "example": "The crendentials provided do not have access to the requested product"
                              },
                              "detail": {
                                 "type": "string",
                                 "description": "Additional information about the error",
                                 "example": "Check your API key is correct and has been whitelisted"
                              },
                              "instance": {
                                 "type": "string",
                                 "description": "Internal Trace ID",
                                 "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
                              }
                           }
                        }
                     ]
                  }
               }
            }
         },
         "403": {
            "description": "Forbidden",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "$ref": "#/components/schemas/ErrorResponse"
                  }
               }
            }
         },
         "404": {
            "description": "Not Found",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "$ref": "#/components/schemas/ErrorResponse"
                  }
               }
            }
         },
         "422": {
            "description": "Unprocessable Entity",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "$ref": "#/components/schemas/ErrorResponseWithInvalidParameters"
                  }
               }
            }
         },
         "429": {
            "description": "Too Many Requests",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               },
               "X-RateLimit-Limit": {
                  "$ref": "#/components/headers/X-RateLimit-Limit"
               },
               "X-RateLimit-Remaining": {
                  "$ref": "#/components/headers/X-RateLimit-Remaining"
               },
               "X-RateLimit-Reset": {
                  "$ref": "#/components/headers/X-RateLimit-Reset"
               },
               "Retry-After": {
                  "$ref": "#/components/headers/Retry-After"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "$ref": "#/components/schemas/ErrorResponse"
                  }
               }
            }
         },
         "500": {
            "description": "Internal error",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "$ref": "#/components/schemas/ErrorResponse"
                  }
               }
            }
         },
         "WhatsAppSubscriptionResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "array",
                     "description": "An array of of objects, each representing a notification subscription",
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/components/schemas/WhatsAppSubscriptionSlack"
                           },
                           {
                              "$ref": "#/components/schemas/WhatsAppSubscriptionWebhook"
                           }
                        ]
                     }
                  }
               }
            }
         },
         "WhatsAppSubscriptionSingleResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppSubscriptionSlack"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppSubscriptionWebhook"
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppTemplateAnalyticsResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "granularity": {
                           "$ref": "#/components/schemas/TemplateGranularity"
                        },
                        "product_type": {
                           "type": "string",
                           "description": "The product type for which the template analytics were retrieved.",
                           "enum": [
                              "CLOUD_API",
                              "MARKETING_MESSAGES_API_FOR_WHATSAPP"
                           ],
                           "example": "CLOUD_API"
                        },
                        "page_size": {
                           "type": "integer",
                           "description": "The maximum number of template analytics returned per page.",
                           "example": 100
                        },
                        "_embedded": {
                           "type": "object",
                           "properties": {
                              "template_analytics": {
                                 "type": "array",
                                 "items": {
                                    "$ref": "#/components/schemas/WhatsAppTemplateAnalyticsData"
                                 }
                              }
                           }
                        },
                        "_links": {
                           "type": "object",
                           "properties": {
                              "self": {
                                 "type": "object",
                                 "properties": {
                                    "href": {
                                       "type": "string",
                                       "description": "The URL to the current page of WhatsApp Template Analytics.",
                                       "example": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/template-analytics?template_ids=[458951126288937]&start=2024-11-10&end=2024-11-14&page_size=100&cursor=c2VsZj1udWxs"
                                    }
                                 }
                              }
                           }
                        }
                     }
                  }
               }
            }
         },
         "WhatsAppMessagingAnalyticsResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "id": {
                           "$ref": "#/components/schemas/WhatsAppWabaId"
                        },
                        "granularity": {
                           "$ref": "#/components/schemas/Granularity"
                        },
                        "phone_numbers": {
                           "type": "array",
                           "items": {
                              "type": "string"
                           },
                           "example": [
                              "16505550111"
                           ],
                           "description": "Phone numbers for which the messaging analytics were retrieved."
                        },
                        "country_codes": {
                           "type": "array",
                           "items": {
                              "$ref": "#/components/schemas/WhatsAppCountryCode"
                           }
                        },
                        "_embedded": {
                           "type": "object",
                           "properties": {
                              "messaging_analytics": {
                                 "type": "array",
                                 "items": {
                                    "$ref": "#/components/schemas/WhatsAppMessagingAnalyticsData"
                                 }
                              }
                           }
                        },
                        "paging": {
                           "type": "object",
                           "properties": {
                              "cursors": {
                                 "type": "object",
                                 "properties": {
                                    "before": {
                                       "type": "string",
                                       "example": "MAZDZD",
                                       "description": "The page before the first page in the current list"
                                    },
                                    "after": {
                                       "type": "string",
                                       "example": "MjQZD",
                                       "description": "The page after the last page in the current list"
                                    }
                                 }
                              },
                              "next": {
                                 "type": "string",
                                 "format": "uri",
                                 "example": "https://api.nexmo.com/v2/channel-manager/wabas/106499765517625/messaging-analytics?after=MAZDZD",
                                 "description": "A URI to ge the next paginated page."
                              },
                              "previous": {
                                 "type": "string",
                                 "format": "uri",
                                 "example": "https://api.nexmo.com/v2/channel-manager/wabas/106499765517625/messaging-analytics?before=MjQZD",
                                 "description": "A URI to ge the previous paginated page."
                              }
                           }
                        }
                     }
                  }
               }
            }
         },
         "WhatsAppPricingAnalyticsResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "granularity": {
                           "$ref": "#/components/schemas/Granularity"
                        },
                        "product_type": {
                           "type": "string",
                           "description": "The product type for which the pricing analytics were retrieved.",
                           "enum": [
                              "FREE_CUSTOMER_SERVICE",
                              "FREE_ENTRY_POINT",
                              "REGULAR"
                           ],
                           "example": "REGULAR"
                        },
                        "_embedded": {
                           "type": "object",
                           "properties": {
                              "pricing_analytics": {
                                 "type": "array",
                                 "items": {
                                    "$ref": "#/components/schemas/WhatsAppPricingAnalyticsData"
                                 }
                              }
                           }
                        },
                        "paging": {
                           "type": "object",
                           "properties": {
                              "cursors": {
                                 "type": "object",
                                 "properties": {
                                    "before": {
                                       "type": "string",
                                       "description": "The cursor the previous page of WhatsApp Pricing Analytics.",
                                       "example": "MjQZD"
                                    },
                                    "after": {
                                       "type": "string",
                                       "description": "The cursor the next page of WhatsApp Pricing Analytics.",
                                       "example": "MAZDZD"
                                    }
                                 }
                              },
                              "previous": {
                                 "type": "string",
                                 "description": "The URL to the previous page of WhatsApp Pricing Analytics.",
                                 "example": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/pricing-analytics?before=MjQZD"
                              },
                              "next": {
                                 "type": "string",
                                 "description": "The URL to the next page of WhatsApp Pricing Analytics.",
                                 "example": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/pricing-analytics?before=MAZDZD"
                              }
                           }
                        }
                     }
                  }
               }
            }
         },
         "WhatsAppWabaListResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "page_size": {
                           "$ref": "#/components/schemas/PageSize"
                        },
                        "page": {
                           "$ref": "#/components/schemas/PageNumber"
                        },
                        "total_pages": {
                           "$ref": "#/components/schemas/TotalPages"
                        },
                        "total_items": {
                           "$ref": "#/components/schemas/TotalItems"
                        },
                        "_embedded": {
                           "type": "object",
                           "properties": {
                              "wabas": {
                                 "type": "array",
                                 "items": {
                                    "$ref": "#/components/schemas/WhatsAppWaba"
                                 }
                              }
                           }
                        },
                        "_links": {
                           "$ref": "#/components/schemas/PaginationLinks"
                        }
                     }
                  }
               }
            }
         },
         "WhatsAppWabaResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppWaba"
                        },
                        {
                           "properties": {
                              "_links": {
                                 "type": "object",
                                 "properties": {
                                    "self": {
                                       "$ref": "#/components/schemas/SelfLink"
                                    },
                                    "numbers": {
                                       "$ref": "#/components/schemas/HalLink"
                                    }
                                 }
                              }
                           }
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppNumbersHalResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "page_size": {
                           "$ref": "#/components/schemas/PageSize"
                        },
                        "page": {
                           "$ref": "#/components/schemas/PageNumber"
                        },
                        "total_pages": {
                           "$ref": "#/components/schemas/TotalPages"
                        },
                        "total_items": {
                           "$ref": "#/components/schemas/TotalItems"
                        },
                        "_embedded": {
                           "type": "object",
                           "properties": {
                              "wabas": {
                                 "type": "array",
                                 "items": {
                                    "$ref": "#/components/schemas/WhatsAppWabaNumber"
                                 }
                              }
                           }
                        },
                        "_links": {
                           "$ref": "#/components/schemas/PaginationLinks"
                        }
                     }
                  }
               }
            }
         },
         "WhatsAppNumbersResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppWabaNumber"
                        },
                        {
                           "properties": {
                              "_links": {
                                 "type": "object",
                                 "properties": {
                                    "self": {
                                       "$ref": "#/components/schemas/SelfLink"
                                    }
                                 }
                              }
                           }
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppNumberProfileResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppWabaNumberProfileCommon"
                        },
                        {
                           "properties": {
                              "messaging_product": {
                                 "$ref": "#/components/schemas/WhatsAppWabaNumberProfileMessagingProduct"
                              },
                              "_links": {
                                 "type": "object",
                                 "properties": {
                                    "self": {
                                       "$ref": "#/components/schemas/SelfLink"
                                    }
                                 }
                              }
                           }
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppFlowResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "required": [
                        "id",
                        "url"
                     ],
                     "properties": {
                        "id": {
                           "type": "string",
                           "description": "The trace ID for the URL generation request.",
                           "example": "3amb0119-0196-42d1-8fb5-55a98s133546"
                        },
                        "url": {
                           "type": "string",
                           "description": "URL containing tokenized information and redirecting to ES flow start page.",
                           "example": "https://tools.vonage.com/wa/partners/onboard?token=fhdhhdJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3MjU5Njc1OTYsImp0aSI6ImQ1MmJhNmFjLWYxZjktNDdmNC05MTR_cFT1bVfkDhP-wgpKZibSbUoh9z-9KGD-wsmHxi0h7tTidpVhPNShfC5jmgiHtOQKXXv5NWb9OqoUraOMMpqCdNdXoN3ao-PeZX7axyYW_FQ6CeV9gDEPhAZ4urTi0uW4mCYGl3ULmA9Ps92r_wi2DJyRE_Kx2KahWtQd51yVpU6FfXgMb4odREEccDctT1Peo09wKgwBa1wsOkD7rrvkoQPqZ00VXcqOY1_LOO5tq4WJaKqtxX-U7VtDo9qyVUl8pdegZW6QWChQzGN4PkqXXLWcBlyrCtAYdhtWG8q6NM_6bARRjcGJlj0tQvE0PZ9AtafAQSPpOll5lcnUK8Ds"
                        }
                     }
                  }
               }
            }
         },
         "WhatsAppCreateSubscriptionErrorResponse": {
            "description": "Bad Request",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/ErrorResponse"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorSubscriptionAlreadyExists"
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppWabaNotFoundErrorResponse": {
            "description": "Not Found",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorWabaNotFound"
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppWabaNumberNotFoundErrorResponse": {
            "description": "Not Found",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorWabaNotFound"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorNumberNotFound"
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppProfileNotFoundErrorResponse": {
            "description": "Not Found",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorNumberNotFound"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorProfileNotFound"
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppProfileInvalidErrorResponse": {
            "description": "Bad Request",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorInvalidPropertyProfileVertical"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorInvalidPropertyProfileProfilePictureUrlFileError"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorInvalidPropertyProfileProfilePictureUrlLowResolution"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppErrorInvalidPropertyProfileWebsitesInvalidUrls"
                        }
                     ]
                  }
               }
            }
         },
         "RCSCapabilityResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "features": {
                           "type": "array",
                           "items": {
                              "$ref": "#/components/schemas/RCSFeature"
                           },
                           "description": "A list of RCS capabilities for the device being checked."
                        }
                     }
                  }
               }
            }
         },
         "RCSDeviceCapabilityResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "rcs_supported": {
                           "type": "boolean",
                           "description": "Indicates if RCS is supported on the device.",
                           "example": true
                        },
                        "features": {
                           "type": "array",
                           "items": {
                              "$ref": "#/components/schemas/RCSFeature"
                           },
                           "description": "A list of RCS capabilities for the device being checked.",
                           "example": [
                              "RICHCARD_STANDALONE",
                              "RICHCARD_CAROUSEL",
                              "ACTION_CREATE_CALENDAR_EVENT",
                              "ACTION_DIAL",
                              "ACTION_OPEN_URL",
                              "ACTION_SHARE_LOCATION",
                              "ACTION_VIEW_LOCATION"
                           ]
                        }
                     }
                  }
               }
            }
         },
         "RCSBulkCapabilityCheckResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/RCSCapabilitiesBulkCheckUsersResponse"
                        },
                        {
                           "$ref": "#/components/schemas/RCSCapabilitiesBulkCheckSampleResponse"
                        }
                     ],
                     "properties": {
                        "status": {
                           "type": "string",
                           "description": "The status of the operation.",
                           "example": "success"
                        }
                     }
                  }
               }
            }
         },
         "RCSOptOutInfoResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "$ref": "#/components/schemas/RCSOptOutInfo"
                  }
               }
            }
         },
         "RCSListBrandsResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "array",
                     "items": {
                        "type": "object",
                        "properties": {
                           "brands": {
                              "type": "array",
                              "items": {
                                 "$ref": "#/components/schemas/RCSBrand"
                              }
                           }
                        },
                        "required": [
                           "brands"
                        ]
                     }
                  }
               }
            }
         },
         "RCSCreateBrandResponse": {
            "description": "Created",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/RCSBrand"
                        }
                     ]
                  }
               }
            }
         },
         "RCSUpdateBrandResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/RCSBrand"
                        }
                     ]
                  }
               }
            }
         },
         "RCSListAgentsResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "page": {
                           "$ref": "#/components/schemas/PageNumber"
                        },
                        "page_size": {
                           "$ref": "#/components/schemas/PageSize"
                        },
                        "total_items": {
                           "$ref": "#/components/schemas/TotalItems"
                        },
                        "total_pages": {
                           "$ref": "#/components/schemas/TotalPages"
                        },
                        "_embedded": {
                           "type": "object",
                           "properties": {
                              "agents": {
                                 "type": "array",
                                 "items": {
                                    "allOf": [
                                       {
                                          "$ref": "#/components/schemas/RCSAgent"
                                       },
                                       {
                                          "$ref": "#/components/schemas/RCSAgentAdditionalProperties"
                                       }
                                    ]
                                 }
                              }
                           },
                           "required": [
                              "agents"
                           ]
                        },
                        "_links": {
                           "$ref": "#/components/schemas/PaginationLinks"
                        }
                     },
                     "required": [
                        "_embedded",
                        "_links",
                        "page",
                        "page_size",
                        "total_items",
                        "total_pages"
                     ]
                  }
               }
            }
         },
         "RCSCreateAgentResponse": {
            "description": "Created",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/RCSAgent"
                        }
                     ]
                  }
               }
            }
         },
         "RCSAgentResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "allOf": [
                        {
                           "$ref": "#/components/schemas/RCSAgent"
                        },
                        {
                           "$ref": "#/components/schemas/RCSAgentAdditionalProperties"
                        }
                     ]
                  }
               }
            }
         },
         "RCSCarrierResponse": {
            "description": "OK",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "$ref": "#/components/schemas/RCSCarrierData"
                  }
               }
            }
         },
         "RCSCarrierUpdateResponse": {
            "description": "Accepted",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "message": {
                           "type": "string",
                           "example": "Carriers accepted for processing"
                        }
                     },
                     "required": [
                        "message"
                     ]
                  }
               }
            }
         },
         "RCSTestDeviceResponse": {
            "description": "Accepted",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "id": {
                           "$ref": "#/components/schemas/RCSDeviceId"
                        },
                        "phone": {
                           "$ref": "#/components/schemas/PhoneNumber"
                        },
                        "created_at": {
                           "type": "string",
                           "format": "date-time",
                           "description": "The date and time when the test device was created.",
                           "example": "2023-01-01T12:00:00Z"
                        },
                        "status": {
                           "type": "string",
                           "description": "The current status of the test device.",
                           "example": "ACCEPTED"
                        }
                     },
                     "required": [
                        "id",
                        "phone",
                        "created_at",
                        "status"
                     ]
                  }
               }
            }
         },
         "RCSOptOutErrorResponse": {
            "description": "Bad Request",
            "headers": {
               "X-Request-Id": {
                  "$ref": "#/components/headers/X-Request-Id"
               }
            },
            "content": {
               "application/problem+json": {
                  "schema": {
                     "oneOf": [
                        {
                           "type": "object",
                           "allOf": [
                              {
                                 "$ref": "#/components/schemas/ErrorResponse"
                              }
                           ],
                           "properties": {
                              "invalid_parameters": {
                                 "type": "array",
                                 "items": {
                                    "type": "object",
                                    "properties": {
                                       "name": {
                                          "type": "string",
                                          "enum": [
                                             "actions",
                                             "actions[].action"
                                          ],
                                          "description": "The name of the invalid parameter",
                                          "example": "actions"
                                       },
                                       "reason": {
                                          "type": "string",
                                          "enum": [
                                             "Missing required START action.",
                                             "action must be one of: START, STOP, CUSTOM.",
                                             "Missing required STOP action"
                                          ],
                                          "description": "The reason why the parameter is invalid",
                                          "example": "Missing required START action."
                                       }
                                    },
                                    "required": [
                                       "name",
                                       "reason"
                                    ]
                                 },
                                 "description": "List of invalid parameters"
                              }
                           },
                           "required": [
                              "invalid_parameters"
                           ],
                           "description": "Missing Actions"
                        },
                        {
                           "type": "object",
                           "allOf": [
                              {
                                 "$ref": "#/components/schemas/ErrorResponse"
                              }
                           ],
                           "properties": {
                              "invalid_parameters": {
                                 "type": "array",
                                 "items": {
                                    "type": "object",
                                    "properties": {
                                       "name": {
                                          "type": "string",
                                          "enum": [
                                             "actions[1].keywords"
                                          ],
                                          "description": "The name of the invalid parameter",
                                          "example": "actions[1].keywords"
                                       },
                                       "reason": {
                                          "type": "string",
                                          "enum": [
                                             "keywords must not be empty."
                                          ],
                                          "description": "The reason why the parameter is invalid",
                                          "example": "keywords must not be empty."
                                       }
                                    },
                                    "required": [
                                       "name",
                                       "reason"
                                    ]
                                 },
                                 "description": "List of invalid parameters"
                              }
                           },
                           "required": [
                              "invalid_parameters"
                           ],
                           "description": "Missing Keywords"
                        }
                     ]
                  }
               }
            }
         }
      },
      "requestBodies": {
         "WhatsAppCreateSubscriptionNotificationRequest": {
            "description": "The request body for the operation.",
            "required": true,
            "content": {
               "application/json": {
                  "schema": {
                     "oneOf": [
                        {
                           "$ref": "#/components/schemas/WhatsAppSubscriptionSlack"
                        },
                        {
                           "$ref": "#/components/schemas/WhatsAppSubscriptionWebhook"
                        }
                     ]
                  }
               }
            }
         },
         "WhatsAppUpdateNumberProfileRequest": {
            "description": "Update a Message.",
            "required": true,
            "content": {
               "application/json": {
                  "schema": {
                     "$ref": "#/components/schemas/WhatsAppWabaNumberProfileCommon"
                  }
               }
            }
         },
         "WhatsAppHostedFlowRegistrationRequest": {
            "description": "The request body for the operation.",
            "required": true,
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "required": [
                        "solution_id"
                     ],
                     "properties": {
                        "solution_id": {
                           "type": "string",
                           "description": "The partner solution ID.",
                           "example": "123456789111213"
                        },
                        "api_key": {
                           "$ref": "#/components/schemas/VonageApiKey"
                        },
                        "ttl": {
                           "type": "integer",
                           "description": "The time-to-live for the URL in seconds.",
                           "example": 300,
                           "minimum": 0,
                           "maximum": 259200,
                           "default": 86400
                        }
                     }
                  }
               }
            }
         },
         "RCSDeviceCapabilityRequest": {
            "description": "The request body for the operation.",
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "msisdn": {
                           "$ref": "#/components/schemas/PhoneNumber"
                        },
                        "country": {
                           "type": "string",
                           "description": "The country code of the device to check.",
                           "example": "GB"
                        }
                     },
                     "required": [
                        "msisdn",
                        "country"
                     ]
                  }
               }
            },
            "required": true
         },
         "RCSCapabilityBulkCheckRequest": {
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "users": {
                           "type": "array",
                           "items": {
                              "type": "string",
                              "example": "447900000000"
                           },
                           "description": "An array of phone numbers to check.",
                           "example": [
                              "447900000000",
                              "447900000001"
                           ]
                        }
                     }
                  }
               }
            }
         },
         "RCSOptOutUpdateRequest": {
            "description": "The request body for the operation.",
            "content": {
               "application/json": {
                  "schema": {
                     "$ref": "#/components/schemas/RCSOptOutInfo"
                  }
               }
            },
            "required": true
         },
         "RCSBrandRequest": {
            "description": "The request body for the operation.",
            "content": {
               "application/json": {
                  "schema": {
                     "$ref": "#/components/schemas/RCSBrand"
                  }
               }
            },
            "required": true
         },
         "RCSAgentRequest": {
            "description": "The request body for the operation.",
            "content": {
               "application/json": {
                  "schema": {
                     "$ref": "#/components/schemas/RCSAgent"
                  }
               }
            },
            "required": true
         },
         "RCSAddCarriersToAgentRequest": {
            "description": "The request body for the operation.",
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "carriers": {
                           "type": "array",
                           "items": {
                              "$ref": "#/components/schemas/RCSCarrierId"
                           },
                           "description": "An array of Carrier IDs to add to the RCS Agent."
                        }
                     },
                     "required": [
                        "carriers"
                     ]
                  }
               }
            },
            "required": true
         },
         "RCSAddTestDevicesToAgentRequest": {
            "description": "The request body for the operation.",
            "content": {
               "application/json": {
                  "schema": {
                     "type": "object",
                     "properties": {
                        "phone": {
                           "type": "string",
                           "description": "The phone number to add to the RCS Agent in E.164 format.",
                           "example": "+14155552671"
                        }
                     },
                     "required": [
                        "phone"
                     ]
                  }
               }
            },
            "required": true
         }
      },
      "schemas": {
         "Granularity": {
            "type": "string",
            "enum": [
               "HALF_HOUR",
               "DAILY",
               "MONTHLY"
            ],
            "example": "DAILY"
         },
         "TemplateGranularity": {
            "type": "string",
            "enum": [
               "DAILY"
            ],
            "example": "DAILY"
         },
         "VonageApiKey": {
            "type": "string",
            "description": "The API key of the Vonage account associated with the WhatsApp Business Account.",
            "example": "abc123"
         },
         "WhatsAppWabaId": {
            "type": "string",
            "description": "The ID of the WhatsApp Business Account.",
            "example": "345688589250625"
         },
         "WhatsAppWabaNumberId": {
            "type": "string",
            "description": "The ID of the phone number associated with the WhatsApp Business Account.",
            "example": "293464193855848"
         },
         "WhatsAppTemplateId": {
            "type": "string",
            "description": "The ID of the WhatsApp Template which the analytics data is for.",
            "example": "458951126288942"
         },
         "WhatsAppAnalyticsStart": {
            "type": "string",
            "format": "timestamp",
            "description": "The UNIX timestamp for the start of the data point range.",
            "example": "1543543200"
         },
         "WhatsAppAnalyticsEnd": {
            "type": "string",
            "format": "timestamp",
            "description": "The UNIX timestamp for the end of the data point range.",
            "example": "1543629600"
         },
         "WhatsAppCountryCode": {
            "type": "string",
            "description": "The country of the WhatsApp Business Account's owning Meta Business account.",
            "example": "US"
         },
         "WhatsAppWaba": {
            "type": "object",
            "required": [
               "waba_id",
               "api_key",
               "name",
               "account_review_status",
               "timezone_id",
               "currency"
            ],
            "properties": {
               "waba_id": {
                  "$ref": "#/components/schemas/WhatsAppWabaId"
               },
               "api_key": {
                  "$ref": "#/components/schemas/VonageApiKey"
               },
               "name": {
                  "type": "string",
                  "description": "The name of the WhatsApp Business Account.",
                  "example": "My Business"
               },
               "account_review_status": {
                  "type": "string",
                  "description": "The review status of the WhatsApp Business Account.",
                  "enum": [
                     "Pending",
                     "Approved",
                     "Rejected"
                  ],
                  "example": "Approved"
               },
               "timezone_id": {
                  "type": "string",
                  "description": "The ID of the timezone of the WhatsApp Business Account.",
                  "example": "58"
               },
               "currency": {
                  "type": "string",
                  "description": "The currency of the WhatsApp Business Account.",
                  "example": "USD"
               },
               "solution_id": {
                  "type": "string",
                  "description": "The ID of the solution of the WhatsApp Business Account. Applies for WABAs onboarded through a partner solution",
                  "example": "1234567890"
               },
               "country": {
                  "$ref": "#/components/schemas/WhatsAppCountryCode"
               },
               "business_id": {
                  "type": "string",
                  "description": "ID of the business manager or portfolio that contains the WhatsApp Business Account",
                  "example": "224654643345"
               },
               "business_name": {
                  "type": "string",
                  "description": "Name of the business manager or portfolio that contains the WhatsApp Business Account",
                  "example": "Vonage Communication APIs & Conversational Commerce Platform"
               },
               "status": {
                  "type": "string",
                  "description": "WhatsApp Business Account status",
                  "example": "ACTIVE",
                  "enum": [
                     "ACTIVE",
                     "INELIGIBLE",
                     "NOT_STARTED",
                     "INELIGBLE_ON_BEHALF_OF_WABA",
                     "PENDING",
                     "DELETED",
                     "MIGRATED",
                     "BANNED",
                     "RESTRICTED",
                     "RATE_LIMITED",
                     "FLAGGED",
                     "CONNECTED",
                     "DISCONNECTED",
                     "UNKNOWN",
                     "UNVERIFIED",
                     "OFFLINE"
                  ],
                  "default": "ACTIVE"
               },
               "whatsapp_business_manager_messaging_limit": {
                  "type": "string",
                  "description": "Maximum number of unique WhatsApp user phone numbers that your Business Manager account can message, outside of a customer service window, within a moving 24-hour period. This limit is shared across all WhatsApp phone numbers owned by your business.\n\nFor more information on messaging limits see the [Meta documentation](https://developers.facebook.com/documentation/business-messaging/whatsapp/messaging-limits).\n",
                  "example": "TIER_10K",
                  "enum": [
                     "TIER_100K",
                     "TIER_10K",
                     "TIER_250",
                     "TIER_2K",
                     "TIER_UNLIMITED",
                     "UNTIERED"
                  ]
               },
               "marketing_messages_onboarding_status": {
                  "type": "string",
                  "description": "Onboarding status of the WhatsApp Business account into Marketing Messages API.",
                  "example": "ELIGIBLE",
                  "enum": [
                     "INELIGIBLE_ON_BEHALF_OF_WABA",
                     "INELIGIBLE_INACTIVE_OR_RESTRICTED",
                     "INELIGIBLE_COUNTRY_NOT_SUPPORTED",
                     "INELIGIBLE_USING_WHATSAPP_BUSINESS_APP",
                     "ELIGIBLE",
                     "PENDING_VALID_PAYMENT_METHOD",
                     "PENDING_INTERNAL_SETUP",
                     "ONBOARDED"
                  ]
               }
            }
         },
         "WhatsAppWabaNumber": {
            "type": "object",
            "required": [
               "phone_number",
               "waba_id",
               "number_id",
               "api_key"
            ],
            "properties": {
               "phone_number": {
                  "type": "string",
                  "format": "e164",
                  "pattern": "^[1-9]\\d{1,14}$",
                  "description": "The phone number associated with the WhatsApp Business Account.",
                  "example": "447451277751"
               },
               "number_id": {
                  "$ref": "#/components/schemas/WhatsAppWabaNumberId"
               },
               "waba_id": {
                  "$ref": "#/components/schemas/WhatsAppWabaId"
               },
               "api_key": {
                  "$ref": "#/components/schemas/VonageApiKey"
               },
               "verified_name": {
                  "type": "string",
                  "description": "The WhatsApp display name for number",
                  "example": "My Business"
               },
               "code_verification_status": {
                  "type": "string",
                  "description": "Indicates the phone number's one-time password (OTP) verification status.\n  - Only phone numbers with a `VERIFIED` status can be registered.\n  - An `EXPIRED` status means that the phone number was previously verified but the 14 day verification period has ended. If the phone number is not registered, it will need to be verified again.\n",
                  "enum": [
                     "NOT_VERIFIED",
                     "VERIFIED",
                     "EXPIRED"
                  ],
                  "example": "VERIFIED"
               },
               "display_phone_number": {
                  "type": "string",
                  "description": "How the number is displayed on WhatsApp accounts.",
                  "example": "+447451277751"
               },
               "messaging_limit_tier": {
                  "type": "string",
                  "description": "The messaging limit tier of the phone number. See [WhatsApp messaging limits](https://developers.facebook.com/docs/whatsapp/messaging-limits/)",
                  "example": "TIER_100K",
                  "enum": [
                     null,
                     "TIER_50",
                     "TIER_250",
                     "TIER_1K",
                     "TIER_10K",
                     "TIER_100K",
                     "TIER_UNLIMITED"
                  ]
               },
               "quality_score": {
                  "type": "object",
                  "description": "The quality score of the phone number. See [WhatsApp Business phone number’s quality rating](https://www.facebook.com/business/help/896873687365001)",
                  "properties": {
                     "score": {
                        "type": "string",
                        "description": "The quality score of the phone number.\n  - GREEN: High quality\n  - YELLOW: Medium quality\n  - RED: Low quality\n",
                        "example": "GREEN",
                        "enum": [
                           "GREEN",
                           "YELLOW",
                           "RED"
                        ]
                     }
                  }
               },
               "throughput": {
                  "type": "object",
                  "description": "The throughput level of the phone number. Indication of throughput permissible by WhatsApp e.g. `STANDARD` is the default 80 messages/sec",
                  "properties": {
                     "level": {
                        "type": "string",
                        "description": "The throughput rate of the phone number.",
                        "example": "STANDARD"
                     }
                  }
               }
            }
         },
         "WhatsAppWabaNumberProfileMessagingProduct": {
            "type": "string",
            "description": "The messaging product with which the profile is associated.",
            "enum": [
               "whatsapp"
            ],
            "example": "whatsapp"
         },
         "WhatsAppWabaNumberProfileCommon": {
            "type": "object",
            "properties": {
               "about": {
                  "type": "string",
                  "description": "Information about the profile",
                  "example": "About my business"
               },
               "address": {
                  "type": "string",
                  "description": "The address of the profile",
                  "example": "123 Main Street, Anytown, USA"
               },
               "description": {
                  "type": "string",
                  "description": "The description of the profile",
                  "example": "Description of my business"
               },
               "email": {
                  "type": "string",
                  "description": "The email address of the profile",
                  "example": "bob@example.com"
               },
               "profile_picture_url": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL of picture for the profile. Profile picture must be a square JPG or PNG, with min dimensions of 192px x 192px, and max dimensions of 640 px x 640 px, and a max file size of 800 kb. If the image is larger, it will get automatically centre-cropped to fit these dimensions\n",
                  "example": "https://example.com/profile.png"
               },
               "websites": {
                  "type": "array",
                  "items": {
                     "type": "string",
                     "format": "uri"
                  },
                  "description": "URLs of websites for the profile",
                  "example": [
                     "https://example.com",
                     "https://example.org"
                  ]
               },
               "vertical": {
                  "type": "string",
                  "description": "The Industry or Business Category of the WhatsApp Profile",
                  "example": "OTHER",
                  "enum": [
                     "APPAREL",
                     "AUTO",
                     "BEAUTY",
                     "EDU",
                     "ENTERTAIN",
                     "EVENT_PLAN",
                     "FINANCE",
                     "GOVT",
                     "GROCERY",
                     "HEALTH",
                     "HOTEL",
                     "NONPROFIT",
                     "OTHER",
                     "PROF_SERVICES",
                     "RESTAURANT",
                     "RETAIL",
                     "TRAVEL"
                  ]
               }
            }
         },
         "WhatsAppAnalyticsSentMessagesCount": {
            "type": "integer",
            "description": "The number of messages sent using the WhatsApp Template.",
            "example": 100
         },
         "WhatsAppTemplateAnalyticsData": {
            "type": "object",
            "required": [
               "template_id",
               "start",
               "end"
            ],
            "properties": {
               "template_id": {
                  "$ref": "#/components/schemas/WhatsAppTemplateId"
               },
               "start": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsStart"
               },
               "end": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsEnd"
               },
               "sent": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsSentMessagesCount"
               },
               "delivered": {
                  "type": "integer",
                  "description": "The number of messages delivered using the WhatsApp Template.",
                  "example": 90
               },
               "read": {
                  "type": "integer",
                  "description": "The number of messages read using the WhatsApp Template.",
                  "example": 80
               },
               "clicked": {
                  "type": "integer",
                  "description": "The number of messages clicked using the WhatsApp Template.",
                  "example": 70
               }
            }
         },
         "WhatsAppMessagingAnalyticsData": {
            "type": "object",
            "required": [
               "start",
               "end",
               "sent",
               "delivered"
            ],
            "properties": {
               "start": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsStart"
               },
               "end": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsEnd"
               },
               "sent": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsSentMessagesCount"
               },
               "delivered": {
                  "type": "integer",
                  "description": "The number of messages delivered within the data point range.",
                  "example": 90
               }
            }
         },
         "WhatsAppPricingAnalyticsData": {
            "type": "object",
            "properties": {
               "start": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsStart"
               },
               "end": {
                  "$ref": "#/components/schemas/WhatsAppAnalyticsEnd"
               },
               "volume": {
                  "type": "integer",
                  "description": "The number of messages sent.",
                  "example": 100
               },
               "phone_number": {
                  "type": "string",
                  "format": "e164",
                  "pattern": "^[1-9]\\d{1,14}$",
                  "description": "The phone number associated with the Messaging Analytics.",
                  "example": "14155552671"
               },
               "country": {
                  "type": "string",
                  "description": "The country for the phone number associated with the Messaging Analytics.",
                  "example": "US"
               },
               "tier": {
                  "type": "string",
                  "description": "The pricing tier for the messages related to the Messaging Analytics.",
                  "example": "75000:150000"
               },
               "pricing_type": {
                  "type": "string",
                  "description": "The pricing type for the messages related to the Messaging Analytics.",
                  "example": "REGULAR"
               },
               "pricing_category": {
                  "type": "string",
                  "description": "The pricing category for the messages related to the Messaging Analytics.",
                  "example": "AUTHENTICATION"
               }
            }
         },
         "WhatsAppSubscription": {
            "type": "object",
            "properties": {
               "label": {
                  "type": "string",
                  "description": "An optional label for the subscription",
                  "example": "My WhatsApp Subscription"
               },
               "whatsapp_subscribe_types": {
                  "type": "string",
                  "description": "A comma-separated list of the WhatsApp notification types that the subscription is for.\nSupports all the notification types available for WhatsApp accounts listed [here](https://developers.facebook.com/docs/graph-api/webhooks/reference/whatsapp-business-account/).\nWhen a new subscription is created, if this parameter is not specified then the subscription will include all of the subscription types.\n",
                  "example": "account_alerts,account_update"
               },
               "vonage_subscribe_types": {
                  "type": "string",
                  "description": "A comma-separated list of the Vonage notification types that the subscription is for.\n",
                  "example": "vonage_number_onboarded",
                  "enum": [
                     "vonage_number_onboarded"
                  ]
               },
               "created_at": {
                  "type": "string",
                  "description": "The date and time when the subscription was created, in ISO-8601 format.",
                  "example": "2024-11-01T12:00:00Z"
               },
               "id": {
                  "type": "string",
                  "description": "The unique ID of the subscription",
                  "example": "9fa85698-c92a-4786-be0e-b5a489425120"
               }
            }
         },
         "WhatsAppSubscriptionSlack": {
            "allOf": [
               {
                  "$ref": "#/components/schemas/WhatsAppSubscription"
               },
               {
                  "title": "Slack Subscription",
                  "required": [
                     "slack"
                  ],
                  "properties": {
                     "type": {
                        "type": "string",
                        "description": "The subscription type",
                        "enum": [
                           "slack"
                        ],
                        "example": "slack"
                     },
                     "slack": {
                        "type": "object",
                        "description": "The Slack hook configuration for the subscription, where the subscription type is `slack`.",
                        "required": [
                           "url"
                        ],
                        "properties": {
                           "url": {
                              "type": "string",
                              "format": "uri",
                              "description": "The URL of the Slack hook to which the WhatsApp notifications will be sent",
                              "example": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
                           }
                        }
                     }
                  }
               }
            ],
            "example": {
               "id": "9fa85698-c92a-4786-be0e-b5a489425120",
               "type": "slack",
               "label": "My WhatsApp Slack Subscription",
               "whatsapp_subscribe_types": "account_alerts,account_update",
               "vonage_subscribe_types": "vonage_number_onboarded",
               "created_at": "2024-11-01T12:00:00Z",
               "slack": {
                  "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
               }
            }
         },
         "WhatsAppSubscriptionWebhook": {
            "allOf": [
               {
                  "$ref": "#/components/schemas/WhatsAppSubscription"
               },
               {
                  "title": "Webhook Subscription",
                  "required": [
                     "webhook"
                  ],
                  "properties": {
                     "webhook": {
                        "type": "object",
                        "description": "The webhook configuration for the subscription, where the subscription type is `webhook`.",
                        "required": [
                           "url"
                        ],
                        "properties": {
                           "url": {
                              "type": "string",
                              "format": "uri",
                              "description": "The URL of the webhook to which the WhatsApp notifications will be sent",
                              "example": "https://my.server.com/webhooks/whatsapp-notifications"
                           }
                        }
                     }
                  }
               }
            ],
            "example": {
               "id": "8bceefe2-ebc8-4aa6-a4a3-73d837b3d416",
               "type": "webhook",
               "label": "My WhatsApp Webhook Subscription",
               "whatsapp_subscribe_types": "account_alerts,account_update",
               "vonage_subscribe_types": "vonage_number_onboarded",
               "created_at": "2024-11-01T12:00:00Z",
               "webhook": {
                  "url": "https://example.com/webhook"
               }
            }
         },
         "WhatsAppErrorInvalidPropertyProfileVertical": {
            "description": "Invalid Property Value - Vertical",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/messages"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Provider error"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Param `business_category` must be one of {OTHER, AUTO, BEAUTY, APPAREL, EDU, ENTERTAIN, EVENT_PLAN, FINANCE, GROCERY, GOVT, HOTEL, HEALTH, NONPROFIT, PROF_SERVICES, RETAIL, TRAVEL, RESTAURANT}.\n"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "d929f1b2-5d31-4f79-9826-b4a6e47e9a02"
               }
            }
         },
         "WhatsAppErrorInvalidPropertyProfileProfilePictureUrlFileError": {
            "description": "Invalid Property Value - Profile Picture URL File Error",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "File error"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Fail to download file"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "d929f1b2-5d31-4f79-9826-b4a6e47e9a02"
               }
            }
         },
         "WhatsAppErrorInvalidPropertyProfileProfilePictureUrlLowResolution": {
            "description": "Invalid Property Value - Profile Picture URL Low Resolution",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Uploaded profile image resolution is low"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Please upload JPG image of resolution greater than 192 pixel * 192 pixel"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "977b9de9-9d4a-4279-816a-21decfd934ed"
               }
            }
         },
         "WhatsAppErrorInvalidPropertyProfileWebsitesInvalidUrls": {
            "description": "Invalid Property Value - Websites Invalid URLs",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Provider error"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Param `websites` must contain only valid URIs and each link must be at most 256 characters long"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "148c4ab6-94bd-47d0-91af-61ab9de70a3d"
               }
            }
         },
         "WhatsAppErrorWabaNotFound": {
            "description": "WABA Not Found",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/messages#not-found"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "WABA Not Found"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "WABA does not exist or you do not have access."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "WhatsAppErrorNumberNotFound": {
            "description": "Number Not Found",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/messages#not-found"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Number Not Found"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Number does not exist or you do not have access."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "WhatsAppErrorProfileNotFound": {
            "description": "Profile Not Found",
            "type": "object",
            "required": [
               "type",
               "title",
               "details",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/messages#not-found"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Number Not Found"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Profile does not exist or you do not have access."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "WhatsAppErrorSubscriptionAlreadyExists": {
            "description": "WhatsApp Subscription Already Exists",
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Subscription already exists"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Subscription of type: 'webhook' with value: 'http://localhost23' already exists"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "RCSFeature": {
            "type": "string",
            "enum": [
               "RICHCARD_STANDALONE",
               "RICHCARD_CAROUSEL",
               "ACTION_CREATE_CALENDAR_EVENT",
               "ACTION_DIAL",
               "ACTION_OPEN_URL",
               "ACTION_SHARE_LOCATION",
               "ACTION_VIEW_LOCATION"
            ],
            "example": "ACTION_CREATE_CALENDAR_EVENT"
         },
         "RCSAgentId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique ID of the created RCS Agent.",
            "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
         },
         "RCSDeviceId": {
            "type": "string",
            "format": "uuid",
            "description": "The unique ID of the created test device.",
            "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
         },
         "RCSCarrierId": {
            "type": "string",
            "description": "A unique identifier for the carrier.",
            "example": "verizon-us"
         },
         "RCSHostingRegion": {
            "type": "string",
            "enum": [
               "NORTH_AMERICA",
               "EUROPE",
               "ASIA_PACIFIC"
            ],
            "description": "The geographic location where your RCS business messaging service will be hosted and operated.\nThis can affect data residency and compliance requirements.\n",
            "example": "NORTH_AMERICA"
         },
         "RCSAgentPurpose": {
            "type": "string",
            "enum": [
               "PROMOTIONAL",
               "TRANSACTIONAL",
               "OTP",
               "MULTI_USE"
            ],
            "description": "Specifies the intended use of the RCS Agent. This cannot be changed after creation.",
            "example": "TRANSACTIONAL"
         },
         "RCSBillingCategory": {
            "type": "string",
            "enum": [
               "SINGLE_MESSAGE",
               "CONVERSATIONAL",
               "BASIC_MESSAGE"
            ],
            "example": "SINGLE_MESSAGE"
         },
         "RCSCapabilitiesBulkCheckUsersResponse": {
            "type": "object",
            "properties": {
               "reachableUsers": {
                  "type": "array",
                  "items": {
                     "type": "string",
                     "example": "447900000000"
                  },
                  "description": "A list of specific numbers for devices that reachable for RCS messaging.",
                  "example": [
                     "447900000000",
                     "447900000001"
                  ]
               }
            },
            "description": "Response where 500 numbers or less submitted."
         },
         "RCSCapabilitiesBulkCheckSampleResponse": {
            "type": "object",
            "properties": {
               "totalRandomSampleUserCount": {
                  "type": "string",
                  "description": "The number of submitted numbers that were used as part of the sample.",
                  "example": "632"
               },
               "reachableRandomSampleUserCount": {
                  "type": "string",
                  "description": "The number of sampled numbers associated with devices that are reachable for RCS messaging.",
                  "example": "324"
               }
            },
            "description": "Response where more than 500 numbers submitted."
         },
         "RCSOptOutInfo": {
            "type": "object",
            "properties": {
               "enabled": {
                  "type": "boolean",
                  "description": "Indicates if opt-out is enabled for the user.",
                  "example": true
               },
               "actions": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "keywords": {
                           "type": "array",
                           "items": {
                              "type": "string",
                              "example": "STOP"
                           },
                           "description": "A list of keywords that trigger the action."
                        },
                        "auto-reply": {
                           "type": "string",
                           "description": "The auto-reply message sent when the action is triggered.",
                           "example": "You have opted out."
                        },
                        "action": {
                           "type": "string",
                           "enum": [
                              "STOP",
                              "START",
                              "CUSTOM"
                           ],
                           "description": "The type of action.",
                           "example": "STOP"
                        }
                     },
                     "required": [
                        "keywords",
                        "auto-reply",
                        "action"
                     ]
                  },
                  "description": "A list of actions available for opt-out."
               }
            },
            "required": [
               "actions"
            ]
         },
         "RCSBrand": {
            "type": "object",
            "properties": {
               "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The unique ID of the RCS Brand.",
                  "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
               },
               "display_name": {
                  "type": "string",
                  "description": "The name of the RCS Brand.",
                  "example": "My RCS Brand"
               }
            },
            "required": [
               "id",
               "display_name"
            ]
         },
         "RCSAgent": {
            "type": "object",
            "properties": {
               "id": {
                  "$ref": "#/components/schemas/RCSAgentId"
               },
               "state": {
                  "type": "string",
                  "description": "The current state of the created RCS Agent.",
                  "example": "DRAFT"
               },
               "application_settings": {
                  "$ref": "#/components/schemas/RCSAgentApplicationSettings"
               },
               "basic_info": {
                  "type": "object",
                  "properties": {
                     "brand_id": {
                        "$ref": "#/components/schemas/RCSBrand/properties/id"
                     },
                     "display_name": {
                        "type": "string",
                        "description": "The unique display name of the RCS Agent.",
                        "example": "Example Co"
                     },
                     "sender_id": {
                        "type": "string",
                        "description": "A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation.\nThe sender ID is used as the `from` value when sending RCS messages via the Messages API.\n",
                        "example": "ExampleCo-RCSAgent-1"
                     },
                     "hosting_region": {
                        "$ref": "#/components/schemas/RCSHostingRegion"
                     },
                     "agent_purpose": {
                        "$ref": "#/components/schemas/RCSAgentPurpose"
                     },
                     "billing_category": {
                        "$ref": "#/components/schemas/RCSBillingCategory"
                     },
                     "notes": {
                        "type": "string",
                        "description": "Additional notes or comments about the RCS Agent.",
                        "example": "This agent is used for transactional messages only."
                     }
                  },
                  "required": [
                     "brand_id",
                     "display_name",
                     "sender_id",
                     "hosting_region",
                     "agent_purpose",
                     "billing_category"
                  ]
               },
               "carrier_requirements": {
                  "type": "object",
                  "properties": {
                     "agent_preview": {
                        "type": "object",
                        "properties": {
                           "agent_access_instructions": {
                              "type": "string",
                              "description": "Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. \nThis property provides guidance on methods for triggering agent functionality and testing various features.\n",
                              "example": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n"
                           },
                           "urls": {
                              "type": "array",
                              "items": {
                                 "type": "object",
                                 "properties": {
                                    "media_type": {
                                       "type": "string",
                                       "enum": [
                                          "image",
                                          "video"
                                       ],
                                       "description": "The media type of the agent preview.",
                                       "example": "image"
                                    },
                                    "url": {
                                       "type": "string",
                                       "format": "uri",
                                       "description": "The URL to the agent preview.",
                                       "example": "https://www.example.com/rcs-agent-preview.jpg"
                                    }
                                 },
                                 "required": [
                                    "media_type"
                                 ]
                              },
                              "maxItems": 10
                           }
                        },
                        "required": [
                           "agent_access_instructions"
                        ]
                     },
                     "points_of_contact": {
                        "type": "array",
                        "items": {
                           "allOf": [
                              {
                                 "$ref": "#/components/schemas/RCSAgentRepresentative"
                              },
                              {
                                 "type": "object",
                                 "properties": {
                                    "job_title": {
                                       "type": "string",
                                       "maxLength": 200,
                                       "description": "The job title of the point of contact.",
                                       "example": "Technical Support"
                                    }
                                 },
                                 "required": [
                                    "job_title"
                                 ]
                              }
                           ]
                        },
                        "maxItems": 5,
                        "description": "A list of points of contact for the RCS Agent."
                     },
                     "traffic_estimates": {
                        "type": "object",
                        "properties": {
                           "average_global_traffic": {
                              "type": "string",
                              "enum": [
                                 "THOUSAND",
                                 "TEN_THOUSAND",
                                 "FIFTY_THOUSAND",
                                 "HUNDRED_THOUSAND",
                                 "MILLION",
                                 "MILLION_AND_MORE"
                              ],
                              "description": "Estimated global traffic.",
                              "example": "THOUSAND"
                           },
                           "average_message_rate_per_user": {
                              "type": "string",
                              "enum": [
                                 "ONCE_PER_MONTH",
                                 "2_4_TIMES_PER_MONTH",
                                 "ONCE_PER_WEEK",
                                 "2_6_TIMES_PER_WEEK",
                                 "DAILY",
                                 "MULTIPLE_TIMES_PER_DAY"
                              ],
                              "description": "Estimated message rate per user.",
                              "example": "ONCE_PER_MONTH"
                           },
                           "users_targeted": {
                              "type": "string",
                              "enum": [
                                 "HUNDRED",
                                 "THOUSAND",
                                 "TEN_THOUSAND",
                                 "HUNDRED_THOUSAND",
                                 "HALF_MILLION",
                                 "MILLION",
                                 "MILLION_AND_MORE"
                              ],
                              "description": "Estimated number of users targeted.",
                              "example": "HUNDRED"
                           }
                        },
                        "required": [
                           "average_global_traffic",
                           "average_message_rate_per_user",
                           "users_targeted"
                        ],
                        "description": "Traffic estimates for the RCS Agent."
                     },
                     "user_experience": {
                        "type": "object",
                        "properties": {
                           "interactions_description": {
                              "type": "string",
                              "maxLength": 10000,
                              "description": "This field describes the primary and secondary types of interactions your RBM agent will have with users. \nIt outlines the conversational patterns, message types, and engagement scenarios your agent supports.\n",
                              "example": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n"
                           },
                           "optin_description": {
                              "type": "string",
                              "maxLength": 10000,
                              "description": "Details how users will provide consent to receive messages from your RBM agent. \nThis must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.\n",
                              "example": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n"
                           },
                           "optout_description": {
                              "type": "string",
                              "maxLength": 10000,
                              "description": "Explains how users can unsubscribe from receiving messages from your agent. \nMust describe the process for users to stop receiving communications and how your system handles these requests.\n",
                              "example": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n"
                           },
                           "trigger_description": {
                              "type": "string",
                              "maxLength": 10000,
                              "description": "Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. \nThese triggers determine when and why your agent sends the first message to users.\n",
                              "example": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
                           }
                        },
                        "required": [
                           "interactions_description",
                           "optin_description",
                           "optout_description",
                           "trigger_description"
                        ]
                     }
                  },
                  "required": [
                     "agent_preview",
                     "points_of_contact",
                     "traffic_estimates",
                     "user_experience"
                  ]
               },
               "visual_design": {
                  "type": "object",
                  "properties": {
                     "brand_color": {
                        "type": "string",
                        "description": "The hexadecimal color code for the primary color used in UI elements.\nThe specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.\n",
                        "example": "#8860CD"
                     },
                     "email": {
                        "type": "object",
                        "properties": {
                           "address": {
                              "type": "string",
                              "description": "The contact email address for the RCS Agent.",
                              "example": "support@example.com"
                           },
                           "label": {
                              "type": "string",
                              "maxLength": 25,
                              "description": "A label for the email address.",
                              "example": "Customer Support"
                           }
                        },
                        "required": [
                           "address"
                        ]
                     },
                     "phone": {
                        "type": "object",
                        "properties": {
                           "number": {
                              "$ref": "#/components/schemas/PhoneNumber"
                           },
                           "label": {
                              "type": "string",
                              "maxLength": 25,
                              "description": "A label for the phone number.",
                              "example": "Customer Support"
                           }
                        },
                        "required": [
                           "number"
                        ]
                     },
                     "tagline": {
                        "type": "string",
                        "maxLength": 100,
                        "description": "A short phrase that represents the RCS Agent.",
                        "example": "Your trusted partner in messaging."
                     },
                     "website": {
                        "type": "array",
                        "items": {
                           "type": "object",
                           "properties": {
                              "address": {
                                 "type": "string",
                                 "format": "uri",
                                 "example": "https://example.com"
                              },
                              "label": {
                                 "type": "string",
                                 "maxLength": 25,
                                 "description": "A label for the website URL.",
                                 "example": "Company Website"
                              }
                           },
                           "required": [
                              "address"
                           ]
                        },
                        "maxItems": 3,
                        "example": [
                           {
                              "address": "https://www.example.com"
                           }
                        ]
                     },
                     "privacy_policy": {
                        "type": "string",
                        "format": "uri",
                        "description": "The publicly accessible URL of the privacy policy for the RCS Agent.",
                        "example": "https://www.example.com/privacy-policy"
                     },
                     "terms_of_service": {
                        "type": "string",
                        "format": "uri",
                        "description": "The publicly accessible URL of the terms of service for the RCS Agent.",
                        "example": "https://www.example.com/terms-of-service"
                     }
                  },
                  "required": [
                     "brand_color",
                     "email",
                     "phone",
                     "tagline",
                     "website"
                  ]
               },
               "representative": {
                  "$ref": "#/components/schemas/RCSAgentRepresentative"
               },
               "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The date and time when the RCS Agent was created.",
                  "example": "2023-01-01T12:00:00Z"
               },
               "updated_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The date and time when the RCS Agent was last updated.",
                  "example": "2023-01-01T12:00:00Z"
               }
            },
            "required": [
               "id",
               "basic_info"
            ]
         },
         "RCSAgentAdditionalProperties": {
            "type": "object",
            "properties": {
               "test_devices": {
                  "type": "array",
                  "items": {
                     "$ref": "#/components/schemas/RCSAgentTestDeviceProperties"
                  }
               },
               "carriers": {
                  "$ref": "#/components/schemas/RCSAgentCarrierProperties"
               },
               "verification_details": {
                  "$ref": "#/components/schemas/RCSAgentVerificationDetails"
               },
               "launch_submitted_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The date and time when the RCS Agent launch was submitted.",
                  "example": "2023-01-01T12:00:00Z"
               }
            }
         },
         "RCSAgentTestDeviceProperties": {
            "type": "object",
            "properties": {
               "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The id of the test device.",
                  "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
               },
               "phone": {
                  "$ref": "#/components/schemas/PhoneNumber"
               },
               "status": {
                  "type": "string",
                  "description": "The current status of the test device.",
                  "example": "ACCEPTED"
               },
               "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "The date and time when the test device was created.",
                  "example": "2023-01-01T12:00:00Z"
               }
            },
            "required": [
               "id",
               "phone",
               "status",
               "created_at"
            ]
         },
         "RCSAgentCarrierProperties": {
            "type": "object",
            "properties": {
               "id": {
                  "type": "string",
                  "description": "The id of the carrier.",
                  "example": "att-us"
               },
               "launch_state": {
                  "type": "string",
                  "enum": [
                     "LAUNCH_STATE_UNSPECIFIED",
                     "LAUNCH_STATE_UNLAUNCHED",
                     "LAUNCH_STATE_PENDING",
                     "LAUNCH_STATE_LAUNCHED",
                     "LAUNCH_STATE_REJECTED",
                     "LAUNCH_STATE_SUSPENDED",
                     "LAUNCH_STATE_PENDING_UNLAUNCH",
                     "LAUNCH_STATE_INVALID_IN_GMB"
                  ],
                  "description": "The launch state of the carrier.",
                  "example": "LAUNCH_STATE_UNLAUNCHED"
               }
            },
            "required": [
               "id"
            ]
         },
         "RCSAgentVerificationDetails": {
            "type": "object",
            "properties": {
               "status": {
                  "type": "string",
                  "description": "The verification status of the RCS Agent.",
                  "example": "VERIFICATION_STATE_UNVERIFIED"
               }
            }
         },
         "RCSAgentApplicationSettings": {
            "type": "object",
            "properties": {
               "application_id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The id of the Vonage application with which to associate this agent.",
                  "example": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
               }
            },
            "required": [
               "application_id"
            ]
         },
         "RCSAgentRepresentative": {
            "type": "object",
            "properties": {
               "first_name": {
                  "type": "string",
                  "maxLength": 200,
                  "description": "The first name of the representative for the RCS Agent.",
                  "example": "John"
               },
               "last_name": {
                  "type": "string",
                  "maxLength": 200,
                  "description": "The last name of the representative for the RCS Agent.",
                  "example": "Doe"
               },
               "email": {
                  "type": "string",
                  "format": "email",
                  "description": "The email address of the representative.",
                  "example": "john.doe@example.com"
               },
               "brand_website": {
                  "type": "string",
                  "format": "uri",
                  "description": "The website URL of the brand represented by the RCS Agent.",
                  "example": "https://www.example.com"
               }
            },
            "required": [
               "first_name",
               "last_name",
               "email"
            ]
         },
         "RCSCarrierData": {
            "type": "object",
            "properties": {
               "carriers": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "id": {
                           "$ref": "#/components/schemas/RCSCarrierId"
                        },
                        "carrier": {
                           "type": "string",
                           "description": "The name of the carrier.",
                           "example": "Verizon"
                        },
                        "country_letter_code": {
                           "type": "string",
                           "description": "Code for the country where the carrier operates.",
                           "example": "US"
                        }
                     }
                  },
                  "description": "A list of available carriers for RCS."
               }
            },
            "required": [
               "carriers"
            ],
            "description": "Details of available Carriers that can be added to an RCS Agent."
         },
         "ErrorResponse": {
            "type": "object",
            "description": "Base error response following RFC 7807",
            "required": [
               "type",
               "title",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "An error occurred"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "More details about what went wrong"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "PageNumber": {
            "type": "integer",
            "description": "The current page",
            "default": 1,
            "minimum": 1,
            "example": 1
         },
         "PageSize": {
            "type": "integer",
            "description": "The size of the page",
            "default": 10,
            "minimum": 1,
            "example": 20
         },
         "TotalPages": {
            "type": "integer",
            "description": "Total number of pages",
            "minimum": 1,
            "example": 42
         },
         "TotalItems": {
            "type": "integer",
            "description": "The total number of items in the resource list",
            "minimum": 0,
            "example": 871
         },
         "HalLink": {
            "type": "object",
            "description": "A single HAL link object",
            "required": [
               "href"
            ],
            "properties": {
               "href": {
                  "type": "string",
                  "description": "The URL for the resource",
                  "example": "https://api.vonage.com/v1/resources/abc123"
               },
               "templated": {
                  "type": "boolean",
                  "description": "Indicates if the href is a URI template",
                  "example": false
               },
               "type": {
                  "type": "string",
                  "description": "Media type hint for the target resource",
                  "example": "application/json"
               },
               "name": {
                  "type": "string",
                  "description": "Secondary key for selecting link objects",
                  "example": "resource-name"
               },
               "title": {
                  "type": "string",
                  "description": "Human-readable title for the link",
                  "example": "Resource Title"
               }
            }
         },
         "PaginationLinks": {
            "type": "object",
            "description": "HAL links for page-based paginated collections",
            "required": [
               "self",
               "first"
            ],
            "properties": {
               "self": {
                  "$ref": "#/components/schemas/HalLink"
               },
               "first": {
                  "allOf": [
                     {
                        "$ref": "#/components/schemas/HalLink"
                     },
                     {
                        "description": "Link to the first page"
                     }
                  ]
               },
               "prev": {
                  "allOf": [
                     {
                        "$ref": "#/components/schemas/HalLink"
                     },
                     {
                        "description": "Link to the previous page"
                     }
                  ]
               },
               "next": {
                  "allOf": [
                     {
                        "$ref": "#/components/schemas/HalLink"
                     },
                     {
                        "description": "Link to the next page"
                     }
                  ]
               },
               "last": {
                  "allOf": [
                     {
                        "$ref": "#/components/schemas/HalLink"
                     },
                     {
                        "description": "Link to the last page"
                     }
                  ]
               }
            }
         },
         "ErrorResponseWithInvalidParameters": {
            "allOf": [
               {
                  "$ref": "#/components/schemas/ErrorResponse"
               },
               {
                  "type": "object",
                  "required": [
                     "detail"
                  ],
                  "properties": {
                     "invalid_parameters": {
                        "type": "array",
                        "description": "List of invalid parameters",
                        "items": {
                           "type": "object",
                           "required": [
                              "name",
                              "reason"
                           ],
                           "properties": {
                              "name": {
                                 "type": "string",
                                 "description": "Name of the invalid parameter",
                                 "example": "name"
                              },
                              "reason": {
                                 "type": "string",
                                 "description": "Reason why the parameter is invalid",
                                 "example": "Must not be empty"
                              }
                           }
                        }
                     }
                  }
               }
            ]
         },
         "SelfLink": {
            "type": "object",
            "description": "Link to the current resource (always required in HAL)",
            "required": [
               "self"
            ],
            "properties": {
               "self": {
                  "$ref": "#/components/schemas/HalLink"
               }
            }
         },
         "PhoneNumber": {
            "type": "string",
            "format": "e164",
            "pattern": "^[1-9]\\d{1,14}$",
            "description": "E.164 formatted phone number without + prefix",
            "example": "447700900001"
         }
      },
      "headers": {
         "X-Request-Id": {
            "description": "A unique identifier for the request, used for tracking and debugging",
            "schema": {
               "type": "string",
               "format": "uuid",
               "example": "f94b4e56-604e-07e5-e5ad-5a7228618f81"
            }
         },
         "X-RateLimit-Limit": {
            "description": "Request limit per hour",
            "schema": {
               "type": "integer",
               "example": 30
            }
         },
         "X-RateLimit-Remaining": {
            "description": "Remaining requests",
            "schema": {
               "type": "integer",
               "example": 5
            }
         },
         "X-RateLimit-Reset": {
            "description": "Unix timestamp when limit resets",
            "schema": {
               "type": "integer",
               "example": 1769182705723
            }
         },
         "Retry-After": {
            "description": "Seconds until next request allowed",
            "schema": {
               "type": "integer",
               "example": 15
            }
         }
      }
   },
   "tags": [
      {
         "name": "WhatsApp WABAs",
         "description": "API endpoints relating to working with WhatsApp Business Accounts (WABAs)"
      },
      {
         "name": "WhatsApp Hosted ES Flow",
         "description": "API endpoints relating to working with WhatsApp Hosted Embedded Sign-up Flows"
      },
      {
         "name": "WhatsApp Analytics",
         "description": "API endpoints relating to analytics data for WhatsApp"
      },
      {
         "name": "WhatsApp Notification Subscriptions",
         "description": "API endpoints relating to subscriptions for WhatsApp Notification"
      },
      {
         "name": "RCS Capability Checks",
         "description": "API endpoints relating to checking RCS capabilities of a device or devices"
      },
      {
         "name": "RCS Opt-out Management",
         "description": "API endpoints relating to managing RCS opt-outs"
      },
      {
         "name": "RCS Brand Management",
         "description": "API endpoints relating to managing RCS Brands"
      },
      {
         "name": "RCS Agent Management",
         "description": "API endpoints relating to managing RCS Agents"
      }
   ]
}