{
   "openapi": "3.0.3",
   "info": {
      "version": "0.1.5",
      "title": "WhatsApp Provisioning  API",
      "x-metaTitle": "Vonage WhatsApp Provisioning API Reference | Vonage API Documentation",
      "x-metaDescription": "Find quick answers to questions about the Vonage WhatsApp Provisioning API in this reference guide. Learn more in Vonage's API documentation.",
      "description": "The WhatsApp Manager API enables customers to deploy a WhatsApp cluster, perform One Time Password (OTP) verification, and update profile information\n",
      "contact": {
         "name": "Nexmo DevRel",
         "email": "devrel@nexmo.com",
         "url": "https://developer.vonage.com/"
      },
      "x-label": "Deprecated"
   },
   "servers": [
      {
         "url": "https://api.nexmo.com/v0.1/whatsapp-manager"
      }
   ],
   "paths": {
      "/deployments": {
         "post": {
            "tags": [
               "Deployment"
            ],
            "summary": "Provision WhatsApp deployment",
            "description": "This API request provisions a WhatsApp cluster. Once provisioned, the cluster progresses through the following deployment stages: `INITIALIZING`, `CREATING_CLUSTER` and `CLUSTER_CREATED`. When the `CLUSTER_CREATED` stage is reached an OTP voice call or SMS is sent to the specified number and the deployment status becomes `CODE_SENT`. When the OTP is received, call the Verify API to complete the process.",
            "operationId": "createDeployment",
            "requestBody": {
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "$ref": "#/components/schemas/Deployment"
                     }
                  }
               }
            },
            "responses": {
               "202": {
                  "description": "Accepted.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/DeploymentResponse"
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorInvalidJson"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "403": {
                  "description": "Forbidden",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorForbidden"
                        }
                     }
                  }
               },
               "409": {
                  "description": "Conflict",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorConflictCreateDeployment"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}": {
         "get": {
            "description": "Retrieves information about the deployment at the given deployment id.",
            "tags": [
               "Deployment"
            ],
            "operationId": "get_deployment",
            "summary": "Get Deployment Status",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "The deployment.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/DeploymentResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         },
         "delete": {
            "description": "Delete a WhatsApp deployment",
            "tags": [
               "Deployment"
            ],
            "summary": "Delete Deployment",
            "operationId": "deleteDeployment",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "responses": {
               "204": {
                  "description": "No Content"
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               },
               "409": {
                  "description": "Conflict",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorStateConflict"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/resend-otp": {
         "post": {
            "tags": [
               "OTP"
            ],
            "summary": "Resend OTP",
            "description": "If you do not receive the code in five minutes then you can request for it to be sent again.",
            "operationId": "resend-otp",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "requestBody": {
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "$ref": "#/components/schemas/Resend-OTP"
                     }
                  }
               }
            },
            "responses": {
               "202": {
                  "description": "Code sent.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ResendOtpResponse"
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorInvalidJson"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               },
               "409": {
                  "description": "Could not resend OTP",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorConflictResendOtp"
                        }
                     }
                  }
               },
               "429": {
                  "description": "Throttled.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorThrottled"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/verify": {
         "post": {
            "tags": [
               "OTP"
            ],
            "summary": "Verify OTP",
            "description": "When a code is successfully verified, WhatsApp Manager will move the number from a `CODE_VERIFIED` state to a `FINALIZING` state where additional checks are made and it is assigned to your API Key. Once this is complete it will enter a `READY` state and the number is ready to use.",
            "operationId": "verify",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "requestBody": {
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "type": "object",
                        "properties": {
                           "code": {
                              "type": "string",
                              "description": "OTP being submitted for verification",
                              "example": "674639"
                           }
                        }
                     }
                  }
               }
            },
            "responses": {
               "201": {
                  "description": "OK",
                  "content": {
                     "application/json": {
                        "schema": {
                           "properties": {
                              "deployment_id": {
                                 "example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
                                 "type": "string",
                                 "description": "the id of your deployment"
                              },
                              "status": {
                                 "type": "string",
                                 "example": "Deployment was Created"
                              }
                           }
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorInvalidJson"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               },
               "422": {
                  "description": "Unprocessable",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorVerificationFailed"
                        }
                     }
                  }
               },
               "429": {
                  "description": "Throttled.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorThrottled"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/profile": {
         "get": {
            "description": "Gets business profile information",
            "tags": [
               "Profile"
            ],
            "summary": "Get Profile Info",
            "operationId": "getProfileInfo",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "OK",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/profile"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         },
         "patch": {
            "description": "Updates profile information for deployment.",
            "tags": [
               "Profile"
            ],
            "summary": "Update WhatsApp Profile",
            "operationId": "updateProfile",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "requestBody": {
               "description": "Provision WhatsApp deployment and trigger OTP.",
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "$ref": "#/components/schemas/profile"
                     }
                  }
               }
            },
            "responses": {
               "200": {
                  "description": "OK",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/profile"
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorInvalidJson"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               },
               "422": {
                  "description": "Invalid Parameters",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/InvalidParametersUpdateProfile"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/profile/photo": {
         "get": {
            "description": "Gets business profile photo",
            "tags": [
               "Profile"
            ],
            "summary": "Get Profile Photo",
            "operationId": "getProfilePhoto",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "OK.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "type": "object",
                           "properties": {
                              "image_url": {
                                 "description": "Url where the profile photo was pulled from",
                                 "type": "string",
                                 "example": "https://www.example.com/img.png"
                              }
                           }
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         },
         "post": {
            "description": "Replaces profile photo with photo at the given URL for the deployment.",
            "tags": [
               "Profile"
            ],
            "summary": "Update Profile Photo",
            "operationId": "updateProfilePhoto",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "requestBody": {
               "description": "URL pointing to a .png or .jpg. Image must be minimum 192px. max 640px x 640px. max 5MB.",
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "type": "object",
                        "required": [
                           "image_url"
                        ],
                        "properties": {
                           "image_url": {
                              "description": "URL pointing to a .png or .jpg. Image must be minimum 192px. max 640px x 640px. max 5MB.",
                              "type": "string",
                              "example": "https://www.example.com/img.png"
                           }
                        }
                     }
                  }
               }
            },
            "responses": {
               "200": {
                  "description": "OK.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "type": "object",
                           "properties": {
                              "image_url": {
                                 "description": "Url where the profile photo was pulled from",
                                 "type": "string",
                                 "example": "https://www.example.com/img.png"
                              }
                           }
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorInvalidJson"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               },
               "422": {
                  "description": "Invalid Parameters",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnprocessable"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/stickerpacks": {
         "get": {
            "description": "Gets Third-Party Stickerpacks",
            "tags": [
               "Stickerpacks"
            ],
            "summary": "Gets Third-Party Stickerpacks",
            "operationId": "getStickerpacks",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "Return list of available stickerpacks",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickerpacksResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         },
         "post": {
            "description": "Creates a Third-Party Sticketpack",
            "tags": [
               "Stickerpacks"
            ],
            "summary": "Creates Third-party Stickerpacks",
            "operationId": "createStickerpacks",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "requestBody": {
               "description": "URL pointing to a .png or .jpg. Image must be minimum 192px. max 640px x 640px. max 5MB.",
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "type": "object",
                        "required": [
                           "publisher",
                           "name"
                        ],
                        "properties": {
                           "publisher": {
                              "description": "The name of the publisher of the third-party stickerpack.",
                              "type": "string",
                              "example": "your-publisher-name"
                           },
                           "name": {
                              "description": "The name of the stickerpack.",
                              "type": "string",
                              "example": "your-sticker-pack-name"
                           },
                           "ios_app_store_link": {
                              "description": "The link to the stickerpack in the Apple iOS App Store. The link follows the format https://itunes.apple.com/app/idXXXXXXXXX. To get your App Store link, refer to the instructions at https://stackoverflow.com/questions/4137426/get-itunes-link-for-app-before-submitting",
                              "type": "string",
                              "example": "https://itunes.apple.com/app/id3133333"
                           },
                           "android_app_store_link": {
                              "description": "The link to the stickerpack in the Google Play store. The link follows the format https://play.google.com/store/apps/details?id=com.example where com.example is your app's package name.",
                              "type": "string",
                              "example": "https://play.google.com/store/apps/details?id=com.example"
                           }
                        }
                     }
                  }
               }
            },
            "responses": {
               "200": {
                  "description": "A successful response",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickerpacksResponse"
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request.",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorInvalidJson"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/stickerpacks?namespace=whatsapp": {
         "get": {
            "description": "Gets First-Party (WhatsApp) Stickerpacks",
            "tags": [
               "Stickerpacks"
            ],
            "summary": "Gets First-Party Stickerpacks",
            "operationId": "getWhatsappStickerpacks",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "Return list of available stickerpacks",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickerpacksResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/stickerpacks/{stickerpack_id}": {
         "get": {
            "description": "Gets a specific stickerpack",
            "tags": [
               "Stickerpacks"
            ],
            "summary": "Gets a specific stickerpack",
            "operationId": "getStickerpacksById",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               },
               {
                  "$ref": "#/components/parameters/stickerpack_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "Return list of available stickerpacks",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickerpackResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/stickerpacks/{stickerpack_id}/stickers": {
         "get": {
            "description": "Retrieve stickers from a stickerpack",
            "tags": [
               "Stickers"
            ],
            "summary": "Gets Third-Party Stickers",
            "operationId": "getStickers",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               },
               {
                  "$ref": "#/components/parameters/stickerpack_id"
               }
            ],
            "responses": {
               "200": {
                  "description": "Return list of available stickers",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickersResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         },
         "post": {
            "description": "Create Third-Party Stickers",
            "tags": [
               "Stickers"
            ],
            "summary": "Create Third-Party Stickers",
            "operationId": "createStickers",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               },
               {
                  "$ref": "#/components/parameters/stickerpack_id"
               }
            ],
            "requestBody": {
               "required": true,
               "content": {
                  "application/json": {
                     "schema": {
                        "type": "object",
                        "required": [
                           "image_data_id"
                        ],
                        "properties": {
                           "image_data_id": {
                              "description": "The ID for the sticker media.",
                              "type": "string",
                              "example": "id"
                           },
                           "emojis": {
                              "description": "An array of the emojis included in the stickerpack.",
                              "type": "array",
                              "example": [
                                 "🐥",
                                 "😃"
                              ]
                           }
                        }
                     }
                  }
               }
            },
            "responses": {
               "200": {
                  "description": "Return an index of the sitcker",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickersResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         }
      },
      "/deployments/{deployment_id}/stickerpacks/{stickerpack_id}/stickers/{sticker_index}": {
         "get": {
            "description": "Gets Third-Party Sticker",
            "tags": [
               "Stickers"
            ],
            "summary": "Gets Third-Party Sticker",
            "operationId": "getStickerByIndex",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               },
               {
                  "$ref": "#/components/parameters/stickerpack_id"
               },
               {
                  "$ref": "#/components/parameters/sticker_index"
               }
            ],
            "responses": {
               "200": {
                  "description": "Returns a sticker",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickerIndexsResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         },
         "delete": {
            "description": "Delete Third-Party Sticker",
            "tags": [
               "Stickers"
            ],
            "summary": "Delete Third-Party Sticker",
            "operationId": "deleteStickerByIndex",
            "parameters": [
               {
                  "$ref": "#/components/parameters/deployment_id"
               },
               {
                  "$ref": "#/components/parameters/stickerpack_id"
               },
               {
                  "$ref": "#/components/parameters/sticker_index"
               }
            ],
            "responses": {
               "200": {
                  "description": "Creates a sticker",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/StickerIndexsResponse"
                        }
                     }
                  }
               },
               "401": {
                  "description": "Invalid Credentials",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorUnauthorized"
                        }
                     }
                  }
               },
               "404": {
                  "description": "Deployment Not Found",
                  "content": {
                     "application/json": {
                        "schema": {
                           "$ref": "#/components/schemas/ErrorNotFound"
                        }
                     }
                  }
               }
            }
         }
      }
   },
   "components": {
      "securitySchemes": {
         "bearerAuth": {
            "type": "http",
            "scheme": "bearer",
            "bearerFormat": "JWT"
         },
         "basicAuth": {
            "type": "http",
            "scheme": "basic"
         }
      },
      "parameters": {
         "deployment_id": {
            "in": "path",
            "name": "deployment_id",
            "example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
            "required": true,
            "schema": {
               "type": "string"
            },
            "description": "The deployment ID"
         },
         "stickerpack_id": {
            "in": "path",
            "name": "stickerpack_id",
            "example": "stickerpack-id",
            "required": true,
            "schema": {
               "type": "string"
            },
            "description": "The stickerpack ID"
         },
         "sticker_index": {
            "in": "path",
            "name": "sticker_index",
            "example": "sticker-index",
            "required": true,
            "schema": {
               "type": "string"
            },
            "description": "The sticker index"
         }
      },
      "schemas": {
         "ErrorThrottled": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#throttled"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Throttled"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Exceeded rate limit for this API, please wait and try again"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "ErrorConflictResendOtp": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#conflict-resend-otp"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Deployment Completed, Resend Failed"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "OTP not required."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "ErrorVerificationFailed": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#verification-failed"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Verification Failed"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Deployment could not be created because the verification failed."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               },
               "invalid_parameters": {
                  "type": "array",
                  "description": "parameters that were invalid",
                  "items": {
                     "type": "object",
                     "properties": {
                        "name": {
                           "type": "string",
                           "description": "The name of the invalid parameter",
                           "example": "code"
                        },
                        "reason": {
                           "type": "string",
                           "description": "The reason the parameter is invalid",
                           "example": "Invalid code provided."
                        }
                     }
                  }
               }
            }
         },
         "ErrorUnprocessable": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#unprocessable"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Unprocessable Entity"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Request was missing a waba_id and could not be processed"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               },
               "invalid_parameters": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "name": {
                           "type": "string",
                           "description": "Name of invalid parameter",
                           "example": "url"
                        },
                        "reason": {
                           "type": "string",
                           "description": "Reason of failure",
                           "example": "Url was not in a valid format"
                        }
                     }
                  }
               }
            }
         },
         "InvalidParametersUpdateProfile": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#unprocessable-profile-update"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Unprocessable Entity"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Description was longer than 256 characters and could not be processed."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               },
               "invalid_parameters": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "name": {
                           "type": "string",
                           "description": "Name of invalid parameter",
                           "example": "email"
                        },
                        "reason": {
                           "type": "string",
                           "description": "Reason of failure",
                           "example": "Email format invalid"
                        }
                     }
                  }
               }
            }
         },
         "ErrorStateConflict": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#conflict-deployment-state"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Conflict"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Deployment cannot be deleted because it is in the DELETING state."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "ErrorNotFound": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors#not-found"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Not Found"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Deployment does not exist or you do not have access."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "ErrorUnauthorized": {
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Machine readable error type",
                  "example": "https://developer.vonage.com/api-errors#unauthorized"
               },
               "title": {
                  "type": "string",
                  "description": "Error title",
                  "example": "You did not provide correct credentials."
               },
               "detail": {
                  "type": "string",
                  "description": "Unauthorized",
                  "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"
               }
            }
         },
         "ErrorConflictCreateDeployment": {
            "description": "Cannot create deployment because the number is already used by another deployment",
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#number-in-use"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Number already in use"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Active deployment already exists with id 21801df5-a3f6-4bd6-8b66-5bde51a909c7"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "ErrorForbidden": {
            "description": "Error when account isn't authorized to manage the deployment",
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors#forbidden"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Forbidden"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Your account does not have permission to perform this action - see https://www.vonage.com/communications-apis/contact-api/ for more details about getting signed up to send WhatsApp messages."
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "ErrorInvalidJson": {
            "description": "Invalid JSON",
            "type": "object",
            "required": [
               "type",
               "title",
               "detail",
               "instance"
            ],
            "properties": {
               "type": {
                  "type": "string",
                  "description": "Link to error / remediation options",
                  "example": "https://developer.vonage.com/api-errors/whatsapp-provisioning#invalid-json"
               },
               "title": {
                  "type": "string",
                  "description": "Generic error message",
                  "example": "Invalid JSON"
               },
               "detail": {
                  "type": "string",
                  "description": "Additional information about the error",
                  "example": "Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries"
               },
               "instance": {
                  "type": "string",
                  "description": "Internal Trace ID",
                  "example": "bf0ca0bf927b3b52e3cb03217e1a1ddf"
               }
            }
         },
         "profile": {
            "type": "object",
            "properties": {
               "about": {
                  "type": "string",
                  "example": "about your business",
                  "description": "Text to display in your profile's About section - max 139 characters.",
                  "minLength": 1,
                  "maxLength": 139
               },
               "address": {
                  "type": "string",
                  "description": "Your business address - max 256 characters.",
                  "example": "123 main street",
                  "minLength": 1,
                  "maxLength": 256
               },
               "description": {
                  "type": "string",
                  "description": "a description of your business - max 256 characters",
                  "example": "your business description",
                  "minLength": 1,
                  "maxLength": 256
               },
               "email": {
                  "type": "string",
                  "description": "Your business' email - max 128 characters",
                  "example": "you@example.com",
                  "minLength": 1,
                  "maxLength": 128
               },
               "vertical": {
                  "description": "Your business' industry - must be recognized by WhatsApp.\n",
                  "type": "string",
                  "example": "Food and Grocery",
                  "enum": [
                     "Automotive",
                     "Beauty, Spa and Salon",
                     "Clothing and Apparel",
                     "Education",
                     "Entertainment",
                     "Event Planning and Service",
                     "Finance and Banking",
                     "Food and Grocery",
                     "Public Service",
                     "Hotel and Lodging",
                     "Medical and Health",
                     "Non-profit",
                     "Professional Services",
                     "Shopping and Retail",
                     "Travel and Transportation",
                     "Restaurant",
                     "Other"
                  ]
               },
               "websites": {
                  "description": "Your business' websites maximum of 2 websites, max website length: 256",
                  "x-nexmo-developer-collection-description-shown": true,
                  "type": "array",
                  "example": [
                     "https://example.com"
                  ],
                  "items": {
                     "type": "string"
                  },
                  "minItems": 1,
                  "maxItems": 2
               }
            }
         },
         "ResendOtpResponse": {
            "type": "object",
            "properties": {
               "message": {
                  "type": "string",
                  "example": "Code sent"
               },
               "vname": {
                  "type": "string",
                  "example": "your vname"
               },
               "method": {
                  "type": "string",
                  "example": "sms",
                  "description": "The method the OTP resend will use."
               }
            }
         },
         "DeploymentResponse": {
            "description": "A deployment response",
            "type": "object",
            "properties": {
               "deployment_id": {
                  "type": "string",
                  "description": "The Deployment id",
                  "example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
               },
               "waba_id": {
                  "type": "string",
                  "description": "The WhatsApp Business Account (WABA) ID of the WhatsApp number"
               },
               "country_code": {
                  "type": "string",
                  "description": "The international dialing code of the deployment e.g. `44` for the United Kingdom.",
                  "example": "44"
               },
               "number": {
                  "type": "string",
                  "description": "The phone number of the deployment (minus the international dialing code) e.g. `7700900000`",
                  "example": "7700900000"
               },
               "api_key": {
                  "type": "string",
                  "description": "The API key associated with the deployment.",
                  "example": "abcd1234"
               },
               "current_state": {
                  "type": "object",
                  "description": "The current status of the deployment",
                  "properties": {
                     "title": {
                        "type": "string",
                        "description": "The current status of the deployment.",
                        "example": "INITIALIZING",
                        "enum": [
                           "INITIALIZING",
                           "CREATING_CLUSTER",
                           "CLUSTER_CREATED",
                           "CODE_SENT",
                           "WRONG_CODE",
                           "CODE_VERIFIED",
                           "FINALIZING",
                           "READY",
                           "ERROR",
                           "DELETING",
                           "DELETED"
                        ]
                     },
                     "detail": {
                        "type": "string",
                        "description": "Description of the deployment status e.g. `Invalid vname certificate`",
                        "example": "Initializing deployment"
                     }
                  }
               }
            }
         },
         "Deployment": {
            "required": [
               "country_code",
               "number",
               "vname_certificate",
               "method",
               "waba_id"
            ],
            "properties": {
               "country_code": {
                  "description": "The international dialing code of the number being provisioned",
                  "type": "string",
                  "example": "44"
               },
               "number": {
                  "description": "The WhatsApp number being provisioned.",
                  "type": "string",
                  "example": "8675309"
               },
               "vname_certificate": {
                  "$ref": "#/components/schemas/vname_certificate"
               },
               "method": {
                  "type": "string",
                  "description": "The method for delivering the OTP",
                  "example": "sms",
                  "enum": [
                     "sms",
                     "voice"
                  ]
               },
               "waba_id": {
                  "type": "string",
                  "description": "WABA ID of the WhatsApp Number",
                  "example": "123456789123"
               },
               "pin": {
                  "type": "string",
                  "description": "Required if you previously set a PIN when creating a WhatsApp number.",
                  "example": "123456"
               }
            }
         },
         "vname_certificate": {
            "description": "The certificate, which you can retrieve from your WhatsApp Business dashboard.\n> **Note** this value is refreshed whenever you click the View button.\n",
            "type": "string",
            "example": "AbCdEFGHiJK123456"
         },
         "Resend-OTP": {
            "description": "The method for delivering the OTP",
            "properties": {
               "method": {
                  "type": "string",
                  "example": "sms",
                  "enum": [
                     "sms",
                     "voice"
                  ]
               }
            }
         },
         "StickerpacksResponse": {
            "type": "object",
            "properties": {
               "stickerpacks": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "id": {
                           "type": "string",
                           "example": "sticker-pack-id1"
                        }
                     }
                  }
               }
            }
         },
         "StickerpackResponse": {
            "type": "object",
            "properties": {
               "stickerpacks": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "name": {
                           "type": "string",
                           "example": "sticker-pack-name"
                        },
                        "publisher": {
                           "type": "string",
                           "example": "sticker-pack-publisher"
                        },
                        "android_app_store_link": {
                           "type": "string",
                           "example": "https://play.google.com/store/apps/details?id=com.example"
                        },
                        "ios_app_store_link": {
                           "type": "string",
                           "example": "https://itunes.apple.com/app/id3133333"
                        }
                     }
                  }
               }
            }
         },
         "StickersResponse": {
            "type": "object",
            "properties": {
               "stickers": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "index": {
                           "type": "string",
                           "example": "sticker-index1"
                        }
                     }
                  }
               }
            }
         },
         "StickerIndexsResponse": {
            "type": "object",
            "properties": {
               "stickers": {
                  "type": "array",
                  "items": {
                     "type": "object",
                     "properties": {
                        "id": {
                           "type": "string",
                           "example": "sticker-media-id"
                        },
                        "image_data_id": {
                           "type": "string",
                           "example": "sticker-image-media-id"
                        },
                        "emojis": {
                           "type": "array",
                           "items": {
                              "example": [
                                 "🐥",
                                 "😃"
                              ]
                           }
                        }
                     }
                  }
               }
            }
         }
      }
   },
   "security": [
      {
         "bearerAuth": []
      }
   ],
   "tags": [
      {
         "name": "Deployment",
         "description": "Create and manage in-progress deployments"
      },
      {
         "name": "OTP",
         "description": "Verify or resend a One Time Password (OTP)"
      },
      {
         "name": "Profile",
         "description": "Update WhatsApp profile"
      },
      {
         "name": "Stickerpacks",
         "description": "Stickerpack Management"
      },
      {
         "name": "Stickers",
         "description": "Sticker Management"
      }
   ],
   "x-errors": {
      "number-in-use": {
         "description": "Cannot use number because it's already in use by another deployment.",
         "resolution": "Use the existing deployment."
      },
      "invalid-json": {
         "description": "The request body did not contain valid JSON",
         "resolution": "Send a JSON request body, including a Content-Type header of application/json"
      },
      "unprocessable": {
         "description": "Parameters were valid JSON but something was missing or wrongly formatted",
         "resolution": "Fix the incorrect request parameters and try again"
      },
      "unprocessable-profile-update": {
         "description": "Parameters were valid JSON but something was missing or wrongly formatted",
         "resolution": "Fix the incorrect request parameters and try again"
      },
      "throttled": {
         "description": "Too many requests have been made on this endpoint",
         "resolution": "Wait a moment and try again"
      },
      "verification-failed": {
         "description": "Verification step failed. Either because the provided code was incorrect or because too many attempts have been made",
         "resolution": "Try again with the correct OTP, or call resend-otp"
      },
      "conflict-deployment-state": {
         "description": "Deployment could not be modified because it is currently in a transitional state.",
         "resolution": "If the deployment is transitioning into the state you want it in no action is required. If the state is `DELETING`, no action is required as the deployment will be deleted. Otherwise, wait for the transition to complete and try again."
      },
      "conflict-resend-otp": {
         "description": "Could not resend OTP because the current state of the deployment did not allow it",
         "resolution": "The deployment has either already finished, or is in an error state (in which case you should delete it and run it again)."
      }
   }
}