{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2024-01-01",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"social-messaging",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AWS End User Messaging Social",
    "serviceId":"SocialMessaging",
    "signatureVersion":"v4",
    "signingName":"social-messaging",
    "uid":"socialmessaging-2024-01-01"
  },
  "operations":{
    "AssociateWhatsAppBusinessAccount":{
      "name":"AssociateWhatsAppBusinessAccount",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/signup",
        "responseCode":200
      },
      "input":{"shape":"AssociateWhatsAppBusinessAccountInput"},
      "output":{"shape":"AssociateWhatsAppBusinessAccountOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"LimitExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>This is only used through the Amazon Web Services console during sign-up to associate your WhatsApp Business Account to your Amazon Web Services account.</p>"
    },
    "CreateWhatsAppFlow":{
      "name":"CreateWhatsAppFlow",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/flow/create",
        "responseCode":200
      },
      "input":{"shape":"CreateWhatsAppFlowInput"},
      "output":{"shape":"CreateWhatsAppFlowOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Creates a new WhatsApp Flow. Flows enable businesses to create rich, interactive forms and experiences that users can complete without leaving WhatsApp. The Flow is created in DRAFT status. If <code>publish</code> is set to <code>true</code> and a valid <code>flowJson</code> is provided, the Flow is published immediately.</p>"
    },
    "CreateWhatsAppMessageTemplate":{
      "name":"CreateWhatsAppMessageTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/template/put",
        "responseCode":200
      },
      "input":{"shape":"CreateWhatsAppMessageTemplateInput"},
      "output":{"shape":"CreateWhatsAppMessageTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Creates a new WhatsApp message template from a custom definition.</p> <note> <p>Amazon Web Services End User Messaging Social does not store any WhatsApp message template content.</p> </note>"
    },
    "CreateWhatsAppMessageTemplateFromLibrary":{
      "name":"CreateWhatsAppMessageTemplateFromLibrary",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/template/create",
        "responseCode":200
      },
      "input":{"shape":"CreateWhatsAppMessageTemplateFromLibraryInput"},
      "output":{"shape":"CreateWhatsAppMessageTemplateFromLibraryOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Creates a new WhatsApp message template using a template from Meta's template library.</p>"
    },
    "CreateWhatsAppMessageTemplateMedia":{
      "name":"CreateWhatsAppMessageTemplateMedia",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/template/media",
        "responseCode":200
      },
      "input":{"shape":"CreateWhatsAppMessageTemplateMediaInput"},
      "output":{"shape":"CreateWhatsAppMessageTemplateMediaOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Uploads media for use in a WhatsApp message template.</p>"
    },
    "DeleteWhatsAppFlow":{
      "name":"DeleteWhatsAppFlow",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/whatsapp/flow",
        "responseCode":200
      },
      "input":{"shape":"DeleteWhatsAppFlowInput"},
      "output":{"shape":"DeleteWhatsAppFlowOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Deletes a WhatsApp Flow permanently. Only Flows in DRAFT status can be deleted. Published or deprecated Flows cannot be deleted.</p>",
      "idempotent":true
    },
    "DeleteWhatsAppMessageMedia":{
      "name":"DeleteWhatsAppMessageMedia",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/whatsapp/media",
        "responseCode":200
      },
      "input":{"shape":"DeleteWhatsAppMessageMediaInput"},
      "output":{"shape":"DeleteWhatsAppMessageMediaOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Delete a media object from the WhatsApp service. If the object is still in an Amazon S3 bucket you should delete it from there too.</p>",
      "idempotent":true
    },
    "DeleteWhatsAppMessageTemplate":{
      "name":"DeleteWhatsAppMessageTemplate",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/whatsapp/template",
        "responseCode":200
      },
      "input":{"shape":"DeleteWhatsAppMessageTemplateInput"},
      "output":{"shape":"DeleteWhatsAppMessageTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Deletes a WhatsApp message template.</p>",
      "idempotent":true
    },
    "DeprecateWhatsAppFlow":{
      "name":"DeprecateWhatsAppFlow",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/flow/deprecate",
        "responseCode":200
      },
      "input":{"shape":"DeprecateWhatsAppFlowInput"},
      "output":{"shape":"DeprecateWhatsAppFlowOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Deprecates a published WhatsApp Flow, marking it as no longer recommended for use. The Flow must be in PUBLISHED status. This is an irreversible operation.</p>"
    },
    "DisassociateWhatsAppBusinessAccount":{
      "name":"DisassociateWhatsAppBusinessAccount",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/whatsapp/waba/disassociate",
        "responseCode":200
      },
      "input":{"shape":"DisassociateWhatsAppBusinessAccountInput"},
      "output":{"shape":"DisassociateWhatsAppBusinessAccountOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Disassociate a WhatsApp Business Account (WABA) from your Amazon Web Services account.</p>",
      "idempotent":true
    },
    "GetLinkedWhatsAppBusinessAccount":{
      "name":"GetLinkedWhatsAppBusinessAccount",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/waba/details",
        "responseCode":200
      },
      "input":{"shape":"GetLinkedWhatsAppBusinessAccountInput"},
      "output":{"shape":"GetLinkedWhatsAppBusinessAccountOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Get the details of your linked WhatsApp Business Account.</p>",
      "readonly":true
    },
    "GetLinkedWhatsAppBusinessAccountPhoneNumber":{
      "name":"GetLinkedWhatsAppBusinessAccountPhoneNumber",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/waba/phone/details",
        "responseCode":200
      },
      "input":{"shape":"GetLinkedWhatsAppBusinessAccountPhoneNumberInput"},
      "output":{"shape":"GetLinkedWhatsAppBusinessAccountPhoneNumberOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Retrieve the WABA account id and phone number details of a WhatsApp business account phone number.</p>",
      "readonly":true
    },
    "GetWhatsAppFlow":{
      "name":"GetWhatsAppFlow",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/flow",
        "responseCode":200
      },
      "input":{"shape":"GetWhatsAppFlowInput"},
      "output":{"shape":"GetWhatsAppFlowOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Retrieves the metadata and status of a WhatsApp Flow, including validation errors, preview information, and health status.</p>",
      "readonly":true
    },
    "GetWhatsAppFlowPreview":{
      "name":"GetWhatsAppFlowPreview",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/flow/preview",
        "responseCode":200
      },
      "input":{"shape":"GetWhatsAppFlowPreviewInput"},
      "output":{"shape":"GetWhatsAppFlowPreviewOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Generates a web preview URL for testing a WhatsApp Flow before publishing. Preview URLs expire in 30 days and can be shared with stakeholders for review.</p>",
      "readonly":true
    },
    "GetWhatsAppMessageMedia":{
      "name":"GetWhatsAppMessageMedia",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/media/get",
        "responseCode":200
      },
      "input":{"shape":"GetWhatsAppMessageMediaInput"},
      "output":{"shape":"GetWhatsAppMessageMediaOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Get a media file from the WhatsApp service. On successful completion the media file is retrieved from Meta and stored in the specified Amazon S3 bucket. Use either <code>destinationS3File</code> or <code>destinationS3PresignedUrl</code> for the destination. If both are used then an <code>InvalidParameterException</code> is returned.</p>"
    },
    "GetWhatsAppMessageTemplate":{
      "name":"GetWhatsAppMessageTemplate",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/template",
        "responseCode":200
      },
      "input":{"shape":"GetWhatsAppMessageTemplateInput"},
      "output":{"shape":"GetWhatsAppMessageTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Retrieves a specific WhatsApp message template.</p>",
      "readonly":true
    },
    "ListLinkedWhatsAppBusinessAccounts":{
      "name":"ListLinkedWhatsAppBusinessAccounts",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/waba/list",
        "responseCode":200
      },
      "input":{"shape":"ListLinkedWhatsAppBusinessAccountsInput"},
      "output":{"shape":"ListLinkedWhatsAppBusinessAccountsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"}
      ],
      "documentation":"<p>List all WhatsApp Business Accounts linked to your Amazon Web Services account.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/v1/tags/list",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceInput"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"}
      ],
      "documentation":"<p>List all tags associated with a resource, such as a phone number or WABA.</p>",
      "readonly":true
    },
    "ListWhatsAppFlowAssets":{
      "name":"ListWhatsAppFlowAssets",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/flow/assets",
        "responseCode":200
      },
      "input":{"shape":"ListWhatsAppFlowAssetsInput"},
      "output":{"shape":"ListWhatsAppFlowAssetsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Lists the assets (Flow JSON definition) of a WhatsApp Flow with presigned download URLs. Download URLs are generated by Meta and expire after a short period.</p>",
      "readonly":true
    },
    "ListWhatsAppFlows":{
      "name":"ListWhatsAppFlows",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/flow/list",
        "responseCode":200
      },
      "input":{"shape":"ListWhatsAppFlowsInput"},
      "output":{"shape":"ListWhatsAppFlowsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Lists all WhatsApp Flows for a WhatsApp Business Account. Returns summary information including Flow ID, name, status, and categories.</p>",
      "readonly":true
    },
    "ListWhatsAppMessageTemplates":{
      "name":"ListWhatsAppMessageTemplates",
      "http":{
        "method":"GET",
        "requestUri":"/v1/whatsapp/template/list",
        "responseCode":200
      },
      "input":{"shape":"ListWhatsAppMessageTemplatesInput"},
      "output":{"shape":"ListWhatsAppMessageTemplatesOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Lists WhatsApp message templates for a specific WhatsApp Business Account.</p>",
      "readonly":true
    },
    "ListWhatsAppTemplateLibrary":{
      "name":"ListWhatsAppTemplateLibrary",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/template/library",
        "responseCode":200
      },
      "input":{"shape":"ListWhatsAppTemplateLibraryInput"},
      "output":{"shape":"ListWhatsAppTemplateLibraryOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Lists templates available in Meta's template library for WhatsApp messaging.</p>",
      "readonly":true
    },
    "PostWhatsAppMessageMedia":{
      "name":"PostWhatsAppMessageMedia",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/media",
        "responseCode":200
      },
      "input":{"shape":"PostWhatsAppMessageMediaInput"},
      "output":{"shape":"PostWhatsAppMessageMediaOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Upload a media file to the WhatsApp service. Only the specified <code>originationPhoneNumberId</code> has the permissions to send the media file when using <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_SendWhatsAppMessage.html\">SendWhatsAppMessage</a>. You must use either <code>sourceS3File</code> or <code>sourceS3PresignedUrl</code> for the source. If both or neither are specified then an <code>InvalidParameterException</code> is returned.</p>"
    },
    "PublishWhatsAppFlow":{
      "name":"PublishWhatsAppFlow",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/flow/publish",
        "responseCode":200
      },
      "input":{"shape":"PublishWhatsAppFlowInput"},
      "output":{"shape":"PublishWhatsAppFlowOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Publishes a WhatsApp Flow, making it available for use in template messages. The Flow must be in DRAFT status with valid Flow JSON that passes Meta's validation. This is an irreversible operation.</p>"
    },
    "PutWhatsAppBusinessAccountEventDestinations":{
      "name":"PutWhatsAppBusinessAccountEventDestinations",
      "http":{
        "method":"PUT",
        "requestUri":"/v1/whatsapp/waba/eventdestinations",
        "responseCode":200
      },
      "input":{"shape":"PutWhatsAppBusinessAccountEventDestinationsInput"},
      "output":{"shape":"PutWhatsAppBusinessAccountEventDestinationsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"}
      ],
      "documentation":"<p>Add an event destination to log event data from WhatsApp for a WhatsApp Business Account (WABA). A WABA can only have one event destination at a time. All resources associated with the WABA use the same event destination.</p>",
      "idempotent":true
    },
    "SendWhatsAppMessage":{
      "name":"SendWhatsAppMessage",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/send",
        "responseCode":200
      },
      "input":{"shape":"SendWhatsAppMessageInput"},
      "output":{"shape":"SendWhatsAppMessageOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Send a WhatsApp message. For examples of sending a message using the Amazon Web Services CLI, see <a href=\"https://docs.aws.amazon.com/social-messaging/latest/userguide/send-message.html\">Sending messages</a> in the <i> <i>Amazon Web Services End User Messaging Social User Guide</i> </i>.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/v1/tags/tag-resource",
        "responseCode":200
      },
      "input":{"shape":"TagResourceInput"},
      "output":{"shape":"TagResourceOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"}
      ],
      "documentation":"<p>Adds or overwrites only the specified tags for the specified resource. When you specify an existing tag key, the value is overwritten with the new value.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"POST",
        "requestUri":"/v1/tags/untag-resource",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceInput"},
      "output":{"shape":"UntagResourceOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidParametersException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"}
      ],
      "documentation":"<p>Removes the specified tags from a resource. </p>"
    },
    "UpdateWhatsAppFlow":{
      "name":"UpdateWhatsAppFlow",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/flow/update",
        "responseCode":200
      },
      "input":{"shape":"UpdateWhatsAppFlowInput"},
      "output":{"shape":"UpdateWhatsAppFlowOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Updates the metadata of a WhatsApp Flow, such as its name or categories. This does not update the Flow JSON definition. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_UpdateWhatsAppFlowAssets.html\">UpdateWhatsAppFlowAssets</a> to update the Flow JSON.</p>"
    },
    "UpdateWhatsAppFlowAssets":{
      "name":"UpdateWhatsAppFlowAssets",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/flow/assets/update",
        "responseCode":200
      },
      "input":{"shape":"UpdateWhatsAppFlowAssetsInput"},
      "output":{"shape":"UpdateWhatsAppFlowAssetsOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Updates the Flow JSON definition (assets) of a WhatsApp Flow. Updating a published Flow's assets reverts it to DRAFT status, requiring re-publishing.</p>"
    },
    "UpdateWhatsAppMessageTemplate":{
      "name":"UpdateWhatsAppMessageTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/v1/whatsapp/template",
        "responseCode":200
      },
      "input":{"shape":"UpdateWhatsAppMessageTemplateInput"},
      "output":{"shape":"UpdateWhatsAppMessageTemplateOutput"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidParametersException"},
        {"shape":"AccessDeniedByMetaException"},
        {"shape":"ThrottledRequestException"},
        {"shape":"InternalServiceException"},
        {"shape":"DependencyException"}
      ],
      "documentation":"<p>Updates an existing WhatsApp message template.</p>"
    }
  },
  "shapes":{
    "AccessDeniedByMetaException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>You do not have sufficient access to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AddContactNumber":{
      "type":"boolean",
      "box":true
    },
    "AddLearnMoreLink":{
      "type":"boolean",
      "box":true
    },
    "AddSecurityRecommendation":{
      "type":"boolean",
      "box":true
    },
    "AddTrackPackageLink":{
      "type":"boolean",
      "box":true
    },
    "Arn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:.*"
    },
    "AssociateInProgressToken":{
      "type":"string",
      "max":50,
      "min":0,
      "sensitive":true
    },
    "AssociateWhatsAppBusinessAccountInput":{
      "type":"structure",
      "members":{
        "signupCallback":{
          "shape":"WhatsAppSignupCallback",
          "documentation":"<p>Contains the callback access token.</p>"
        },
        "setupFinalization":{
          "shape":"WhatsAppSetupFinalization",
          "documentation":"<p>A JSON object that contains the phone numbers and WhatsApp Business Account to link to your account.</p>"
        }
      }
    },
    "AssociateWhatsAppBusinessAccountOutput":{
      "type":"structure",
      "members":{
        "signupCallbackResult":{
          "shape":"WhatsAppSignupCallbackResult",
          "documentation":"<p>Contains your WhatsApp registration status.</p>"
        },
        "statusCode":{
          "shape":"Integer",
          "documentation":"<p>The status code for the response.</p>"
        },
        "linkedWhatsAppBusinessAccountId":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account that was linked to your Amazon Web Services account.</p>"
        }
      }
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ButtonType":{
      "type":"string",
      "max":25,
      "min":1
    },
    "CodeExpirationMinutes":{
      "type":"integer",
      "box":true
    },
    "CreateWhatsAppFlowInput":{
      "type":"structure",
      "required":[
        "id",
        "flowName",
        "categories"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account to associate with this Flow.</p>"
        },
        "flowName":{
          "shape":"MetaFlowName",
          "documentation":"<p>The name of the Flow. Must be unique within the WhatsApp Business Account.</p>"
        },
        "categories":{
          "shape":"MetaFlowCategoryList",
          "documentation":"<p>The categories that classify the business purpose of the Flow. At least one category is required.</p>"
        },
        "flowJson":{
          "shape":"MetaFlowJsonBlob",
          "documentation":"<p>The Flow JSON definition that describes the screens, components, and logic of the Flow. Maximum size is 10 MB.</p>"
        },
        "publish":{
          "shape":"Boolean",
          "documentation":"<p>Set to <code>true</code> to publish the Flow immediately after creation. Requires a valid <code>flowJson</code> that passes Meta's validation.</p>"
        },
        "cloneFlowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The ID of an existing Flow within the same WhatsApp Business Account to clone.</p>"
        }
      }
    },
    "CreateWhatsAppFlowOutput":{
      "type":"structure",
      "members":{
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier assigned to the Flow by Meta.</p>"
        },
        "validationErrors":{
          "shape":"ValidationErrorList",
          "documentation":"<p>A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.</p>"
        }
      }
    },
    "CreateWhatsAppMessageTemplateFromLibraryInput":{
      "type":"structure",
      "required":[
        "metaLibraryTemplate",
        "id"
      ],
      "members":{
        "metaLibraryTemplate":{
          "shape":"MetaLibraryTemplate",
          "documentation":"<p>The template configuration from Meta's library, including customizations for buttons and body text.</p>"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account to associate with this template.</p>"
        }
      }
    },
    "CreateWhatsAppMessageTemplateFromLibraryOutput":{
      "type":"structure",
      "members":{
        "metaTemplateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The numeric ID assigned to the template by Meta.</p>"
        },
        "templateStatus":{
          "shape":"String",
          "documentation":"<p>The status of the created template (for example, PENDING or APPROVED).</p>"
        },
        "category":{
          "shape":"MetaTemplateCategory",
          "documentation":"<p>The category of the template (for example, UTILITY or MARKETING).</p>"
        }
      }
    },
    "CreateWhatsAppMessageTemplateInput":{
      "type":"structure",
      "required":[
        "templateDefinition",
        "id"
      ],
      "members":{
        "templateDefinition":{
          "shape":"MetaTemplateDefinition",
          "documentation":"<p>The complete template definition as a JSON blob.</p>"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account to associate with this template.</p>"
        }
      }
    },
    "CreateWhatsAppMessageTemplateMediaInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this media upload.</p>"
        },
        "sourceS3File":{"shape":"S3File"}
      }
    },
    "CreateWhatsAppMessageTemplateMediaOutput":{
      "type":"structure",
      "members":{
        "metaHeaderHandle":{
          "shape":"String",
          "documentation":"<p>The handle assigned to the uploaded media by Meta, used to reference the media in templates.</p>"
        }
      }
    },
    "CreateWhatsAppMessageTemplateOutput":{
      "type":"structure",
      "members":{
        "metaTemplateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The numeric ID assigned to the template by Meta.</p>"
        },
        "templateStatus":{
          "shape":"String",
          "documentation":"<p>The status of the created template, such as PENDING or APPROVED..</p>"
        },
        "category":{
          "shape":"MetaTemplateCategory",
          "documentation":"<p>The category of the template, such as UTILITY or MARKETING.</p>"
        }
      }
    },
    "DeleteAllLanguages":{
      "type":"boolean",
      "box":true
    },
    "DeleteWhatsAppFlowInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow to delete.</p>",
          "location":"querystring",
          "locationName":"flowId"
        }
      }
    },
    "DeleteWhatsAppFlowOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteWhatsAppMessageMediaInput":{
      "type":"structure",
      "required":[
        "mediaId",
        "originationPhoneNumberId"
      ],
      "members":{
        "mediaId":{
          "shape":"WhatsAppMediaId",
          "documentation":"<p>The unique identifier of the media file to delete. Use the <code>mediaId</code> returned from <a href=\"https://console.aws.amazon.com/social-messaging/latest/APIReference/API_PostWhatsAppMessageMedia.html\">PostWhatsAppMessageMedia</a>.</p>",
          "location":"querystring",
          "locationName":"mediaId"
        },
        "originationPhoneNumberId":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The unique identifier of the originating phone number associated with the media. Phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_GetLinkedWhatsAppBusinessAccount.html\">GetLinkedWhatsAppBusinessAccount</a> to find a phone number's id.</p>",
          "location":"querystring",
          "locationName":"originationPhoneNumberId"
        }
      }
    },
    "DeleteWhatsAppMessageMediaOutput":{
      "type":"structure",
      "members":{
        "success":{
          "shape":"Boolean",
          "documentation":"<p>Success indicator for deleting the media file.</p>"
        }
      }
    },
    "DeleteWhatsAppMessageTemplateInput":{
      "type":"structure",
      "required":[
        "id",
        "templateName"
      ],
      "members":{
        "metaTemplateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The numeric ID of the template assigned by Meta.</p>",
          "location":"querystring",
          "locationName":"metaTemplateId"
        },
        "deleteAllLanguages":{
          "shape":"DeleteAllLanguages",
          "documentation":"<p>If true, deletes all language versions of the template.</p>",
          "location":"querystring",
          "locationName":"deleteAllTemplates"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this template.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "templateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name of the template to delete.</p>",
          "location":"querystring",
          "locationName":"templateName"
        }
      }
    },
    "DeleteWhatsAppMessageTemplateOutput":{
      "type":"structure",
      "members":{}
    },
    "DependencyException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>Thrown when performing an action because a dependency would be broken.</p>",
      "error":{"httpStatusCode":502},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "DeprecateWhatsAppFlowInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow to deprecate.</p>"
        }
      }
    },
    "DeprecateWhatsAppFlowOutput":{
      "type":"structure",
      "members":{}
    },
    "DisassociateWhatsAppBusinessAccountInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The unique identifier of your WhatsApp Business Account. WABA identifiers are formatted as <code>waba-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_ListLinkedWhatsAppBusinessAccounts.html\">ListLinkedWhatsAppBusinessAccounts</a> to list all WABAs and their details.</p>",
          "location":"querystring",
          "locationName":"id"
        }
      }
    },
    "DisassociateWhatsAppBusinessAccountOutput":{
      "type":"structure",
      "members":{}
    },
    "ErrorMessage":{"type":"string"},
    "EventDestinationArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:.*:[a-z-]+([/:](.*))?"
    },
    "Filter":{
      "type":"map",
      "key":{"shape":"FilterKeyString"},
      "value":{"shape":"FilterValueString"},
      "max":10,
      "min":0
    },
    "FilterKeyString":{
      "type":"string",
      "max":100,
      "min":1
    },
    "FilterValueString":{
      "type":"string",
      "max":100,
      "min":1
    },
    "GetLinkedWhatsAppBusinessAccountInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The unique identifier, from Amazon Web Services, of the linked WhatsApp Business Account. WABA identifiers are formatted as <code>waba-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_ListLinkedWhatsAppBusinessAccounts.html\">ListLinkedWhatsAppBusinessAccounts</a> to list all WABAs and their details.</p>",
          "location":"querystring",
          "locationName":"id"
        }
      }
    },
    "GetLinkedWhatsAppBusinessAccountOutput":{
      "type":"structure",
      "members":{
        "account":{
          "shape":"LinkedWhatsAppBusinessAccount",
          "documentation":"<p>The details of the linked WhatsApp Business Account.</p>"
        }
      }
    },
    "GetLinkedWhatsAppBusinessAccountPhoneNumberInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The unique identifier of the phone number. Phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_GetLinkedWhatsAppBusinessAccount.html\">GetLinkedWhatsAppBusinessAccount</a> to find a phone number's id.</p>",
          "location":"querystring",
          "locationName":"id"
        }
      }
    },
    "GetLinkedWhatsAppBusinessAccountPhoneNumberOutput":{
      "type":"structure",
      "members":{
        "phoneNumber":{"shape":"WhatsAppPhoneNumberDetail"},
        "linkedWhatsAppBusinessAccountId":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The WABA identifier linked to the phone number, formatted as <code>waba-01234567890123456789012345678901</code>.</p>"
        }
      }
    },
    "GetWhatsAppFlowInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow to retrieve.</p>",
          "location":"querystring",
          "locationName":"flowId"
        }
      }
    },
    "GetWhatsAppFlowOutput":{
      "type":"structure",
      "required":[
        "flowId",
        "flowName",
        "flowStatus"
      ],
      "members":{
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow.</p>"
        },
        "flowName":{
          "shape":"MetaFlowName",
          "documentation":"<p>The name of the Flow.</p>"
        },
        "flowStatus":{
          "shape":"MetaFlowStatus",
          "documentation":"<p>The lifecycle status of the Flow. Valid values are DRAFT, PUBLISHED, DEPRECATED, BLOCKED, and THROTTLED.</p>"
        },
        "categories":{
          "shape":"MetaFlowCategoryList",
          "documentation":"<p>The categories that classify the business purpose of the Flow.</p>"
        },
        "validationErrors":{
          "shape":"ValidationErrorList",
          "documentation":"<p>A list of validation errors from Meta, if any.</p>"
        },
        "jsonVersion":{
          "shape":"MetaFlowJsonVersion",
          "documentation":"<p>The version of the Flow JSON schema used by this Flow (for example, 7.3).</p>"
        },
        "dataApiVersion":{
          "shape":"MetaFlowDataApiVersion",
          "documentation":"<p>The data API version for data exchange endpoint Flows.</p>"
        },
        "endpointUri":{
          "shape":"MetaFlowEndpointUri",
          "documentation":"<p>The endpoint URI for data exchange Flows, if configured.</p>"
        },
        "preview":{
          "shape":"MetaFlowPreviewInfo",
          "documentation":"<p>The preview URL and its expiration timestamp for testing the Flow.</p>"
        },
        "whatsAppBusinessAccount":{
          "shape":"MetaFlowWhatsAppBusinessAccountInfo",
          "documentation":"<p>The WhatsApp Business Account information from Meta associated with this Flow.</p>"
        },
        "application":{
          "shape":"MetaFlowApplicationInfo",
          "documentation":"<p>The Meta application information associated with this Flow.</p>"
        },
        "healthStatus":{
          "shape":"MetaFlowHealthStatus",
          "documentation":"<p>The health status information for this Flow from Meta.</p>"
        }
      }
    },
    "GetWhatsAppFlowPreviewInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow to preview.</p>",
          "location":"querystring",
          "locationName":"flowId"
        },
        "invalidate":{
          "shape":"Boolean",
          "documentation":"<p>Set to <code>true</code> to force generation of a new preview URL. Use this if the previous URL has been compromised or you want a fresh expiration period.</p>",
          "location":"querystring",
          "locationName":"invalidate"
        }
      }
    },
    "GetWhatsAppFlowPreviewOutput":{
      "type":"structure",
      "required":[
        "flowId",
        "preview"
      ],
      "members":{
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow.</p>"
        },
        "preview":{
          "shape":"MetaFlowPreviewInfo",
          "documentation":"<p>The preview URL and its expiration timestamp.</p>"
        }
      }
    },
    "GetWhatsAppMessageMediaInput":{
      "type":"structure",
      "required":[
        "mediaId",
        "originationPhoneNumberId"
      ],
      "members":{
        "mediaId":{
          "shape":"WhatsAppMediaId",
          "documentation":"<p>The unique identifier for the media file.</p>"
        },
        "originationPhoneNumberId":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The unique identifier of the originating phone number for the WhatsApp message media. The phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_GetLinkedWhatsAppBusinessAccount.html\">GetLinkedWhatsAppBusinessAccount</a> to find a phone number's id.</p>"
        },
        "metadataOnly":{
          "shape":"Boolean",
          "documentation":"<p>Set to <code>True</code> to get only the metadata for the file.</p>"
        },
        "destinationS3PresignedUrl":{
          "shape":"S3PresignedUrl",
          "documentation":"<p>The presign url of the media file.</p>"
        },
        "destinationS3File":{
          "shape":"S3File",
          "documentation":"<p>The <code>bucketName</code> and <code>key</code> of the S3 media file.</p>"
        }
      }
    },
    "GetWhatsAppMessageMediaOutput":{
      "type":"structure",
      "members":{
        "mimeType":{
          "shape":"String",
          "documentation":"<p>The MIME type of the media.</p>"
        },
        "fileSize":{
          "shape":"Long",
          "documentation":"<p>The size of the media file, in KB.</p>"
        }
      }
    },
    "GetWhatsAppMessageTemplateInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "metaTemplateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The numeric ID of the template assigned by Meta.</p>",
          "location":"querystring",
          "locationName":"metaTemplateId"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this template.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "templateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name of the message template. Use together with <code>templateLanguageCode</code> as an alternative to <code>metaTemplateId</code> to identify a template.</p>",
          "location":"querystring",
          "locationName":"templateName"
        },
        "templateLanguageCode":{
          "shape":"MetaTemplateLanguage",
          "documentation":"<p>The language code of the message template (for example, <code>en</code> or <code>en_US</code>). Use together with <code>templateName</code> as an alternative to <code>metaTemplateId</code> to identify a template.</p>",
          "location":"querystring",
          "locationName":"templateLanguageCode"
        }
      }
    },
    "GetWhatsAppMessageTemplateOutput":{
      "type":"structure",
      "members":{
        "template":{
          "shape":"MetaTemplate",
          "documentation":"<p>The complete template definition as a JSON string (maximum 6000 characters).</p>"
        }
      }
    },
    "Headers":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServiceException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The request processing has failed because of an unknown error, exception, or failure.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "InvalidParametersException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>One or more parameters provided to the action are not valid.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "IsoCountryCode":{
      "type":"string",
      "pattern":"[A-Z]{2}"
    },
    "LibraryTemplateBodyInputs":{
      "type":"structure",
      "members":{
        "addContactNumber":{
          "shape":"AddContactNumber",
          "documentation":"<p>When true, includes a contact number in the template body.</p>"
        },
        "addLearnMoreLink":{
          "shape":"AddLearnMoreLink",
          "documentation":"<p>When true, includes a \"learn more\" link in the template body.</p>"
        },
        "addSecurityRecommendation":{
          "shape":"AddSecurityRecommendation",
          "documentation":"<p>When true, includes security recommendations in the template body.</p>"
        },
        "addTrackPackageLink":{
          "shape":"AddTrackPackageLink",
          "documentation":"<p>When true, includes a package tracking link in the template body.</p>"
        },
        "codeExpirationMinutes":{
          "shape":"CodeExpirationMinutes",
          "documentation":"<p>The number of minutes until a verification code or OTP expires.</p>"
        }
      },
      "documentation":"<p>Configuration options for customizing the body content of a template from Meta's library.</p>"
    },
    "LibraryTemplateButtonInput":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"ButtonType",
          "documentation":"<p>The type of button (for example, QUICK_REPLY, CALL, or URL).</p>"
        },
        "phoneNumber":{
          "shape":"PhoneNumber",
          "documentation":"<p>The phone number in E.164 format for CALL-type buttons.</p>"
        },
        "url":{
          "shape":"MetaUrlWithSuffixExample",
          "documentation":"<p>The URL with dynamic parameters for URL-type buttons.</p>"
        },
        "otpType":{
          "shape":"OtpType",
          "documentation":"<p>The type of one-time password for OTP buttons.</p>"
        },
        "zeroTapTermsAccepted":{
          "shape":"ZeroTapTermsAccepted",
          "documentation":"<p>When true, indicates acceptance of zero-tap terms for the button.</p>"
        },
        "supportedApps":{
          "shape":"SupportedApps",
          "documentation":"<p>List of supported applications for this button type.</p>"
        }
      },
      "documentation":"<p>Configuration options for customizing buttons in a template from Meta's library.</p>"
    },
    "LibraryTemplateButtonList":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"ButtonType",
          "documentation":"<p>The type of button (for example, QUICK_REPLY, CALL, or URL).</p>"
        },
        "text":{
          "shape":"MetaText",
          "documentation":"<p>The text displayed on the button (maximum 40 characters).</p>"
        },
        "phoneNumber":{
          "shape":"PhoneNumber",
          "documentation":"<p>The phone number in E.164 format for CALL-type buttons.</p>"
        },
        "url":{
          "shape":"MetaUrl",
          "documentation":"<p>The URL for URL-type buttons.</p>"
        },
        "otpType":{
          "shape":"OtpType",
          "documentation":"<p>The type of one-time password for OTP buttons.</p>"
        },
        "zeroTapTermsAccepted":{
          "shape":"ZeroTapTermsAccepted",
          "documentation":"<p>When true, indicates acceptance of zero-tap terms for the button.</p>"
        },
        "supportedApps":{
          "shape":"SupportedApps",
          "documentation":"<p>List of supported applications for this button type.</p>"
        }
      },
      "documentation":"<p>Defines a button in a template from Meta's library.</p>"
    },
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The request was denied because it would exceed one or more service quotas or limits.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "LinkedAccountWithIncompleteSetup":{
      "type":"map",
      "key":{"shape":"WhatsAppBusinessAccountId"},
      "value":{"shape":"LinkedWhatsAppBusinessAccountIdMetaData"}
    },
    "LinkedWhatsAppBusinessAccount":{
      "type":"structure",
      "required":[
        "arn",
        "id",
        "wabaId",
        "registrationStatus",
        "linkDate",
        "wabaName",
        "eventDestinations",
        "phoneNumbers"
      ],
      "members":{
        "arn":{
          "shape":"LinkedWhatsAppBusinessAccountArn",
          "documentation":"<p>The ARN of the linked WhatsApp Business Account.</p>"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the linked WhatsApp Business Account, formatted as <code>waba-01234567890123456789012345678901</code>.</p>"
        },
        "wabaId":{
          "shape":"WhatsAppBusinessAccountId",
          "documentation":"<p>The WhatsApp Business Account ID from meta.</p>"
        },
        "registrationStatus":{
          "shape":"RegistrationStatus",
          "documentation":"<p>The registration status of the linked WhatsApp Business Account.</p>"
        },
        "linkDate":{
          "shape":"WhatsAppBusinessAccountLinkDate",
          "documentation":"<p>The date the WhatsApp Business Account was linked.</p>"
        },
        "wabaName":{
          "shape":"WhatsAppBusinessAccountName",
          "documentation":"<p>The name of the linked WhatsApp Business Account.</p>"
        },
        "eventDestinations":{
          "shape":"WhatsAppBusinessAccountEventDestinations",
          "documentation":"<p>The event destinations for the linked WhatsApp Business Account.</p>"
        },
        "marketingMessagesOnboardingStatus":{
          "shape":"WhatsAppBusinessAccountMarketingMessagesOnboardingStatus",
          "documentation":"<p>The onboarding status for the Marketing Messages API. This value is fetched from Meta and indicates whether the WhatsApp Business Account is onboarded for Meta's Marketing Messages API.</p>"
        },
        "phoneNumbers":{
          "shape":"WhatsAppPhoneNumberSummaryList",
          "documentation":"<p>The phone numbers associated with the Linked WhatsApp Business Account.</p>"
        }
      },
      "documentation":"<p>The details of your linked WhatsApp Business Account.</p>"
    },
    "LinkedWhatsAppBusinessAccountArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:.*:waba/[0-9a-zA-Z]+"
    },
    "LinkedWhatsAppBusinessAccountId":{
      "type":"string",
      "max":115,
      "min":1,
      "pattern":".*(^waba-.*$)|(^arn:.*:waba/[0-9a-zA-Z]+$).*"
    },
    "LinkedWhatsAppBusinessAccountIdMetaData":{
      "type":"structure",
      "members":{
        "accountName":{
          "shape":"WhatsAppBusinessAccountName",
          "documentation":"<p>The name of your account.</p>"
        },
        "registrationStatus":{
          "shape":"RegistrationStatus",
          "documentation":"<p>The registration status of the linked WhatsApp Business Account.</p>"
        },
        "unregisteredWhatsAppPhoneNumbers":{
          "shape":"WhatsAppPhoneNumberDetailList",
          "documentation":"<p>The details for unregistered WhatsApp phone numbers.</p>"
        },
        "wabaId":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The Amazon Resource Name (ARN) of the WhatsApp Business Account ID.</p>"
        }
      },
      "documentation":"<p>Contains your WhatsApp registration status and details of any unregistered WhatsApp phone number.</p>"
    },
    "LinkedWhatsAppBusinessAccountSummary":{
      "type":"structure",
      "required":[
        "arn",
        "id",
        "wabaId",
        "registrationStatus",
        "linkDate",
        "wabaName",
        "eventDestinations"
      ],
      "members":{
        "arn":{
          "shape":"LinkedWhatsAppBusinessAccountArn",
          "documentation":"<p>The ARN of the linked WhatsApp Business Account.</p>"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the linked WhatsApp Business Account, formatted as <code>waba-01234567890123456789012345678901</code>.</p>"
        },
        "wabaId":{
          "shape":"WhatsAppBusinessAccountId",
          "documentation":"<p>The WhatsApp Business Account ID provided by Meta.</p>"
        },
        "registrationStatus":{
          "shape":"RegistrationStatus",
          "documentation":"<p>The registration status of the linked WhatsApp Business Account.</p>"
        },
        "linkDate":{
          "shape":"WhatsAppBusinessAccountLinkDate",
          "documentation":"<p>The date the WhatsApp Business Account was linked.</p>"
        },
        "wabaName":{
          "shape":"WhatsAppBusinessAccountName",
          "documentation":"<p>The name of the linked WhatsApp Business Account.</p>"
        },
        "eventDestinations":{
          "shape":"WhatsAppBusinessAccountEventDestinations",
          "documentation":"<p>The event destinations for the linked WhatsApp Business Account.</p>"
        },
        "marketingMessagesOnboardingStatus":{
          "shape":"WhatsAppBusinessAccountMarketingMessagesOnboardingStatus",
          "documentation":"<p>The onboarding status for the Marketing Messages API. This value is fetched from Meta and indicates whether the WhatsApp Business Account is onboarded for Meta's Marketing Messages API.</p>"
        }
      },
      "documentation":"<p>The details of a linked WhatsApp Business Account.</p>"
    },
    "LinkedWhatsAppBusinessAccountSummaryList":{
      "type":"list",
      "member":{"shape":"LinkedWhatsAppBusinessAccountSummary"}
    },
    "LinkedWhatsAppPhoneNumberArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:.*:phone-number-id/[0-9a-zA-Z]+"
    },
    "ListLinkedWhatsAppBusinessAccountsInput":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The next token for pagination.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListLinkedWhatsAppBusinessAccountsOutput":{
      "type":"structure",
      "members":{
        "linkedAccounts":{
          "shape":"LinkedWhatsAppBusinessAccountSummaryList",
          "documentation":"<p>A list of WhatsApp Business Accounts linked to your Amazon Web Services account.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The next token for pagination.</p>"
        }
      }
    },
    "ListTagsForResourceInput":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to retrieve the tags from.</p>",
          "location":"querystring",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "statusCode":{
          "shape":"Integer",
          "documentation":"<p>The status code of the response.</p>"
        },
        "tags":{
          "shape":"TagList",
          "documentation":"<p>The tags for the resource.</p>"
        }
      }
    },
    "ListWhatsAppFlowAssetsInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow whose assets to list.</p>",
          "location":"querystring",
          "locationName":"flowId"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListWhatsAppFlowAssetsOutput":{
      "type":"structure",
      "required":["flowAssets"],
      "members":{
        "flowAssets":{
          "shape":"MetaFlowAssetList",
          "documentation":"<p>A list of Flow assets with download URLs.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to retrieve the next page of results, if any.</p>"
        }
      }
    },
    "ListWhatsAppFlowsInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account to list Flows for.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListWhatsAppFlowsOutput":{
      "type":"structure",
      "required":["flows"],
      "members":{
        "flows":{
          "shape":"MetaFlowSummaryList",
          "documentation":"<p>A list of Flow summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to retrieve the next page of results, if any.</p>"
        }
      }
    },
    "ListWhatsAppMessageTemplatesInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account to list templates for.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page (1-100).</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListWhatsAppMessageTemplatesOutput":{
      "type":"structure",
      "members":{
        "templates":{
          "shape":"TemplateSummaryList",
          "documentation":"<p>A list of template summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to retrieve the next page of results, if any.</p>"
        }
      }
    },
    "ListWhatsAppTemplateLibraryInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token for the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return per page (1-100).</p>"
        },
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account to list library templates for.</p>",
          "location":"querystring",
          "locationName":"id"
        },
        "filters":{
          "shape":"Filter",
          "documentation":"<p>Map of filters to apply (searchKey, topic, usecase, industry, language).</p>"
        }
      }
    },
    "ListWhatsAppTemplateLibraryOutput":{
      "type":"structure",
      "members":{
        "metaLibraryTemplates":{
          "shape":"MetaLibraryTemplatesList",
          "documentation":"<p>A list of templates from Meta's library.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The token to retrieve the next page of results, if any.</p>"
        }
      }
    },
    "Long":{
      "type":"long",
      "box":true
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "MetaFlowApplicationId":{
      "type":"string",
      "max":100,
      "min":1
    },
    "MetaFlowApplicationInfo":{
      "type":"structure",
      "required":[
        "name",
        "id"
      ],
      "members":{
        "link":{
          "shape":"MetaFlowApplicationLink",
          "documentation":"<p>The URL link for the Meta application.</p>"
        },
        "name":{
          "shape":"MetaFlowApplicationName",
          "documentation":"<p>The name of the Meta application.</p>"
        },
        "id":{
          "shape":"MetaFlowApplicationId",
          "documentation":"<p>The unique identifier of the Meta application.</p>"
        }
      },
      "documentation":"<p>Contains the Meta application metadata associated with a WhatsApp Flow.</p>"
    },
    "MetaFlowApplicationLink":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "MetaFlowApplicationName":{
      "type":"string",
      "max":200,
      "min":1
    },
    "MetaFlowAsset":{
      "type":"structure",
      "required":[
        "name",
        "assetType",
        "downloadUrl"
      ],
      "members":{
        "name":{
          "shape":"MetaFlowAssetName",
          "documentation":"<p>The filename of the asset (for example, flow.json).</p>"
        },
        "assetType":{
          "shape":"MetaFlowAssetType",
          "documentation":"<p>The type of asset. Currently the only supported value is FLOW_JSON.</p>"
        },
        "downloadUrl":{
          "shape":"MetaFlowAssetDownloadUrl",
          "documentation":"<p>A presigned URL from Meta for downloading the asset. The URL expires after a short period.</p>"
        }
      },
      "documentation":"<p>Represents a single asset file associated with a WhatsApp Flow, including a presigned download URL.</p>"
    },
    "MetaFlowAssetDownloadUrl":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "MetaFlowAssetList":{
      "type":"list",
      "member":{"shape":"MetaFlowAsset"}
    },
    "MetaFlowAssetName":{
      "type":"string",
      "max":100,
      "min":1
    },
    "MetaFlowAssetType":{
      "type":"string",
      "max":50,
      "min":1
    },
    "MetaFlowCategory":{
      "type":"string",
      "documentation":"<p>The category that classifies the business purpose of a WhatsApp Flow.</p>",
      "enum":[
        "SIGN_UP",
        "SIGN_IN",
        "APPOINTMENT_BOOKING",
        "LEAD_GENERATION",
        "SHOPPING",
        "CONTACT_US",
        "CUSTOMER_SUPPORT",
        "SURVEY",
        "OTHER"
      ]
    },
    "MetaFlowCategoryList":{
      "type":"list",
      "member":{"shape":"MetaFlowCategory"},
      "max":9,
      "min":1
    },
    "MetaFlowDataApiVersion":{
      "type":"string",
      "max":10,
      "min":1
    },
    "MetaFlowEndpointUri":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "MetaFlowHealthEntity":{
      "type":"structure",
      "required":[
        "entityType",
        "id",
        "canSendMessage"
      ],
      "members":{
        "entityType":{
          "shape":"MetaFlowHealthEntityType",
          "documentation":"<p>The type of entity (for example, FLOW, WABA, BUSINESS, or APP).</p>"
        },
        "id":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the entity.</p>"
        },
        "canSendMessage":{
          "shape":"MetaFlowHealthStatusAvailability",
          "documentation":"<p>The messaging availability status for this entity (for example, AVAILABLE, LIMITED, or BLOCKED).</p>"
        }
      },
      "documentation":"<p>Represents a single entity in the health status check for a WhatsApp Flow.</p>"
    },
    "MetaFlowHealthEntityList":{
      "type":"list",
      "member":{"shape":"MetaFlowHealthEntity"}
    },
    "MetaFlowHealthEntityType":{
      "type":"string",
      "max":50,
      "min":1
    },
    "MetaFlowHealthStatus":{
      "type":"structure",
      "required":["canSendMessage"],
      "members":{
        "canSendMessage":{
          "shape":"MetaFlowHealthStatusAvailability",
          "documentation":"<p>The overall messaging availability status (for example, AVAILABLE, LIMITED, or BLOCKED).</p>"
        },
        "entities":{
          "shape":"MetaFlowHealthEntityList",
          "documentation":"<p>A list of health status entities with per-entity availability information.</p>"
        }
      },
      "documentation":"<p>Contains the overall health status and per-entity breakdown for a WhatsApp Flow.</p>"
    },
    "MetaFlowHealthStatusAvailability":{
      "type":"string",
      "max":50,
      "min":1
    },
    "MetaFlowId":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[0-9]+"
    },
    "MetaFlowJsonBlob":{
      "type":"blob",
      "max":10485760,
      "min":1
    },
    "MetaFlowJsonVersion":{
      "type":"string",
      "max":10,
      "min":1
    },
    "MetaFlowName":{
      "type":"string",
      "max":200,
      "min":1
    },
    "MetaFlowPreviewInfo":{
      "type":"structure",
      "required":[
        "previewUrl",
        "expiresAt"
      ],
      "members":{
        "previewUrl":{
          "shape":"MetaFlowPreviewUrl",
          "documentation":"<p>The web URL for previewing the Flow. Can be shared with stakeholders for review.</p>"
        },
        "expiresAt":{
          "shape":"MetaFlowTimestamp",
          "documentation":"<p>The timestamp when the preview URL expires.</p>"
        }
      },
      "documentation":"<p>Contains the preview URL for testing a WhatsApp Flow and its expiration timestamp.</p>"
    },
    "MetaFlowPreviewUrl":{
      "type":"string",
      "max":2048,
      "min":1
    },
    "MetaFlowStatus":{
      "type":"string",
      "max":20,
      "min":1
    },
    "MetaFlowSummary":{
      "type":"structure",
      "required":[
        "flowId",
        "flowName",
        "flowStatus",
        "flowCategories",
        "validationErrors"
      ],
      "members":{
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow assigned by Meta.</p>"
        },
        "flowName":{
          "shape":"MetaFlowName",
          "documentation":"<p>The name of the Flow.</p>"
        },
        "flowStatus":{
          "shape":"MetaFlowStatus",
          "documentation":"<p>The lifecycle status of the Flow (DRAFT, PUBLISHED, DEPRECATED, BLOCKED, or THROTTLED).</p>"
        },
        "flowCategories":{
          "shape":"MetaFlowCategoryList",
          "documentation":"<p>The categories that classify the business purpose of the Flow.</p>"
        },
        "validationErrors":{
          "shape":"ValidationErrorList",
          "documentation":"<p>A list of validation errors from Meta, if any.</p>"
        }
      },
      "documentation":"<p>Contains summary information about a WhatsApp Flow, including its ID, name, status, and categories.</p>"
    },
    "MetaFlowSummaryList":{
      "type":"list",
      "member":{"shape":"MetaFlowSummary"}
    },
    "MetaFlowTimestamp":{
      "type":"string",
      "max":50,
      "min":1
    },
    "MetaFlowValidationError":{
      "type":"string",
      "max":1048576,
      "min":0
    },
    "MetaFlowWabaCurrency":{
      "type":"string",
      "max":10,
      "min":1
    },
    "MetaFlowWabaTemplateNamespace":{
      "type":"string",
      "max":200,
      "min":1
    },
    "MetaFlowWabaTimezoneId":{
      "type":"string",
      "max":10,
      "min":1
    },
    "MetaFlowWhatsAppBusinessAccountInfo":{
      "type":"structure",
      "required":[
        "id",
        "name"
      ],
      "members":{
        "id":{
          "shape":"WhatsAppBusinessAccountId",
          "documentation":"<p>The WhatsApp Business Account ID from Meta.</p>"
        },
        "name":{
          "shape":"WhatsAppBusinessAccountName",
          "documentation":"<p>The name of the WhatsApp Business Account.</p>"
        },
        "currency":{
          "shape":"MetaFlowWabaCurrency",
          "documentation":"<p>The currency code for the WhatsApp Business Account (for example, USD).</p>"
        },
        "timezoneId":{
          "shape":"MetaFlowWabaTimezoneId",
          "documentation":"<p>The timezone ID for the WhatsApp Business Account.</p>"
        },
        "messageTemplateNamespace":{
          "shape":"MetaFlowWabaTemplateNamespace",
          "documentation":"<p>The message template namespace for the WhatsApp Business Account.</p>"
        }
      },
      "documentation":"<p>Contains WhatsApp Business Account metadata associated with a Flow, as returned by Meta.</p>"
    },
    "MetaIndustries":{
      "type":"list",
      "member":{"shape":"MetaIndustry"}
    },
    "MetaIndustry":{
      "type":"string",
      "max":25,
      "min":1
    },
    "MetaLibraryTemplate":{
      "type":"structure",
      "required":[
        "templateName",
        "libraryTemplateName",
        "templateCategory",
        "templateLanguage"
      ],
      "members":{
        "templateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name to assign to the template.</p>"
        },
        "libraryTemplateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name of the template in Meta's library.</p>"
        },
        "templateCategory":{
          "shape":"MetaTemplateCategory",
          "documentation":"<p>The category of the template (for example, UTILITY or MARKETING).</p>"
        },
        "templateLanguage":{
          "shape":"MetaTemplateLanguage",
          "documentation":"<p>The language code for the template (for example, en_US).</p>"
        },
        "libraryTemplateButtonInputs":{
          "shape":"MetaLibraryTemplateButtonInputs",
          "documentation":"<p>Button customizations for the template.</p>"
        },
        "libraryTemplateBodyInputs":{
          "shape":"LibraryTemplateBodyInputs",
          "documentation":"<p>Body text customizations for the template.</p>"
        }
      },
      "documentation":"<p>Represents a template from Meta's library with customization options.</p>"
    },
    "MetaLibraryTemplateButtonInputs":{
      "type":"list",
      "member":{"shape":"LibraryTemplateButtonInput"}
    },
    "MetaLibraryTemplateButtonList":{
      "type":"list",
      "member":{"shape":"LibraryTemplateButtonList"}
    },
    "MetaLibraryTemplateDefinition":{
      "type":"structure",
      "members":{
        "templateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name of the template.</p>"
        },
        "templateLanguage":{
          "shape":"MetaTemplateLanguage",
          "documentation":"<p>The language code for the template (for example, en_US).</p>"
        },
        "templateCategory":{
          "shape":"MetaTemplateCategory",
          "documentation":"<p>The category of the template (for example, UTILITY or MARKETING).</p>"
        },
        "templateTopic":{
          "shape":"MetaTemplateTopic",
          "documentation":"<p>The topic or subject matter of the template.</p>"
        },
        "templateUseCase":{
          "shape":"MetaTemplateUseCase",
          "documentation":"<p>The intended use case for the template.</p>"
        },
        "templateIndustry":{
          "shape":"MetaIndustries",
          "documentation":"<p>The industries the template is designed for.</p>"
        },
        "templateHeader":{
          "shape":"MetaTemplateHeader",
          "documentation":"<p>The header text of the template.</p>"
        },
        "templateBody":{
          "shape":"MetaTemplateBody",
          "documentation":"<p>The body text of the template.</p>"
        },
        "templateButtons":{
          "shape":"MetaLibraryTemplateButtonList",
          "documentation":"<p>The buttons included in the template.</p>"
        },
        "templateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The ID of the template in Meta's library.</p>"
        },
        "templateBodyExampleParams":{
          "shape":"MetaTemplateBodyExampleParams",
          "documentation":"<p>Example parameter values for the template body, used to demonstrate how dynamic content appears in the template.</p>"
        }
      },
      "documentation":"<p>Defines the complete structure and content of a template in Meta's library.</p>"
    },
    "MetaLibraryTemplatesList":{
      "type":"list",
      "member":{"shape":"MetaLibraryTemplateDefinition"}
    },
    "MetaParameterFormat":{
      "type":"string",
      "max":15,
      "min":1
    },
    "MetaTemplate":{
      "type":"string",
      "max":6000,
      "min":1
    },
    "MetaTemplateBody":{
      "type":"string",
      "max":2000,
      "min":1
    },
    "MetaTemplateBodyExampleParams":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "MetaTemplateCategory":{
      "type":"string",
      "max":100,
      "min":1
    },
    "MetaTemplateComponents":{
      "type":"blob",
      "max":3000,
      "min":1
    },
    "MetaTemplateCtaLinkTrackingOptedOut":{
      "type":"boolean",
      "box":true
    },
    "MetaTemplateDefinition":{
      "type":"blob",
      "max":6000,
      "min":1
    },
    "MetaTemplateHeader":{
      "type":"string",
      "max":200,
      "min":1
    },
    "MetaTemplateId":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[0-9]+"
    },
    "MetaTemplateLanguage":{
      "type":"string",
      "max":6,
      "min":1
    },
    "MetaTemplateName":{
      "type":"string",
      "max":512,
      "min":1
    },
    "MetaTemplateQualityScore":{
      "type":"string",
      "max":20,
      "min":1
    },
    "MetaTemplateStatus":{
      "type":"string",
      "max":20,
      "min":1
    },
    "MetaTemplateTopic":{
      "type":"string",
      "max":20,
      "min":1
    },
    "MetaTemplateUseCase":{
      "type":"string",
      "max":30,
      "min":1
    },
    "MetaText":{
      "type":"string",
      "max":40,
      "min":1
    },
    "MetaUrl":{
      "type":"string",
      "max":400,
      "min":1
    },
    "MetaUrlWithSuffixExample":{
      "type":"map",
      "key":{"shape":"MetaUrlWithSuffixExampleKeyString"},
      "value":{"shape":"MetaUrlWithSuffixExampleValueString"},
      "max":10,
      "min":0
    },
    "MetaUrlWithSuffixExampleKeyString":{
      "type":"string",
      "max":30,
      "min":1
    },
    "MetaUrlWithSuffixExampleValueString":{
      "type":"string",
      "max":400,
      "min":1
    },
    "NextToken":{
      "type":"string",
      "max":600,
      "min":1
    },
    "OtpType":{
      "type":"string",
      "max":25,
      "min":1
    },
    "PhoneNumber":{
      "type":"string",
      "max":20,
      "min":1
    },
    "PostWhatsAppMessageMediaInput":{
      "type":"structure",
      "required":["originationPhoneNumberId"],
      "members":{
        "originationPhoneNumberId":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The ID of the phone number to associate with the WhatsApp media file. The phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_GetLinkedWhatsAppBusinessAccount.html\">GetLinkedWhatsAppBusinessAccount</a> to find a phone number's id.</p>"
        },
        "sourceS3PresignedUrl":{
          "shape":"S3PresignedUrl",
          "documentation":"<p>The source presign url of the media file.</p>"
        },
        "sourceS3File":{
          "shape":"S3File",
          "documentation":"<p>The source S3 url for the media file.</p>"
        }
      }
    },
    "PostWhatsAppMessageMediaOutput":{
      "type":"structure",
      "members":{
        "mediaId":{
          "shape":"WhatsAppMediaId",
          "documentation":"<p>The unique identifier of the posted WhatsApp message.</p>"
        }
      }
    },
    "PublishWhatsAppFlowInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow to publish.</p>"
        }
      }
    },
    "PublishWhatsAppFlowOutput":{
      "type":"structure",
      "members":{}
    },
    "PutWhatsAppBusinessAccountEventDestinationsInput":{
      "type":"structure",
      "required":[
        "id",
        "eventDestinations"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The unique identifier of your WhatsApp Business Account. WABA identifiers are formatted as <code>waba-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_ListLinkedWhatsAppBusinessAccounts.html\">ListLinkedWhatsAppBusinessAccounts</a> to list all WABAs and their details.</p>"
        },
        "eventDestinations":{
          "shape":"WhatsAppBusinessAccountEventDestinations",
          "documentation":"<p>An array of <code>WhatsAppBusinessAccountEventDestination</code> event destinations.</p>"
        }
      }
    },
    "PutWhatsAppBusinessAccountEventDestinationsOutput":{
      "type":"structure",
      "members":{}
    },
    "RegistrationStatus":{
      "type":"string",
      "enum":[
        "COMPLETE",
        "INCOMPLETE"
      ]
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The resource was not found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "RoleArn":{
      "type":"string",
      "pattern":"arn:.*:iam::\\d{12}:role\\/[a-zA-Z0-9+=,.@\\-_]+"
    },
    "S3File":{
      "type":"structure",
      "required":[
        "bucketName",
        "key"
      ],
      "members":{
        "bucketName":{
          "shape":"S3FileBucketNameString",
          "documentation":"<p>The bucket name.</p>"
        },
        "key":{
          "shape":"S3FileKeyString",
          "documentation":"<p>The S3 key prefix that defines the storage location of your media files. The prefix works like a folder path in S3, and is combined with the WhatsApp mediaId to create the final file path.</p> <p>For example, if a media file's WhatsApp mediaId is <code>123.ogg</code>, and the key is <code>audio/example.ogg</code>, the final file path is <code>audio/example.ogg123.ogg</code>.</p> <p>For the same mediaId, a key of <code>audio/</code> results in the file path <code>audio/123.ogg</code>.</p>"
        }
      },
      "documentation":"<p>Contains information for the S3 bucket that contains media files.</p>",
      "sensitive":true
    },
    "S3FileBucketNameString":{
      "type":"string",
      "max":63,
      "min":3,
      "pattern":"[a-z0-9][a-z0-9.-]*[a-z0-9]"
    },
    "S3FileKeyString":{
      "type":"string",
      "max":1024,
      "min":0
    },
    "S3PresignedUrl":{
      "type":"structure",
      "required":[
        "url",
        "headers"
      ],
      "members":{
        "url":{
          "shape":"S3PresignedUrlUrlString",
          "documentation":"<p>The presign url to the object.</p>"
        },
        "headers":{
          "shape":"Headers",
          "documentation":"<p>A map of headers and their values. You must specify the <code>Content-Type</code> header when using <code>PostWhatsAppMessageMedia</code>. For a list of common headers, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html\">Common Request Headers</a> in the <i>Amazon S3 API Reference</i> </p>"
        }
      },
      "documentation":"<p>You can use presigned URLs to grant time-limited access to objects in Amazon S3 without updating your bucket policy. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html\">Working with presigned URLs</a> in the <i>Amazon S3 User Guide</i>.</p>",
      "sensitive":true
    },
    "S3PresignedUrlUrlString":{
      "type":"string",
      "max":2000,
      "min":1,
      "pattern":"https://(.*)s3(.*).amazonaws.com/(.*)"
    },
    "SendWhatsAppMessageInput":{
      "type":"structure",
      "required":[
        "originationPhoneNumberId",
        "message",
        "metaApiVersion"
      ],
      "members":{
        "originationPhoneNumberId":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The ID of the phone number used to send the WhatsApp message. If you are sending a media file only the <code>originationPhoneNumberId</code> used to upload the file can be used. Phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. Use <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_GetLinkedWhatsAppBusinessAccount.html\">GetLinkedWhatsAppBusinessAccount</a> to find a phone number's id.</p>"
        },
        "message":{
          "shape":"WhatsAppMessageBlob",
          "documentation":"<p>The message to send through WhatsApp. The length is in KB. The message field passes through a WhatsApp Message object, see <a href=\"https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages\">Messages</a> in the <i>WhatsApp Business Platform Cloud API Reference</i>.</p>"
        },
        "metaApiVersion":{
          "shape":"String",
          "documentation":"<p>The API version for the request formatted as <code>v{VersionNumber}</code>. For a list of supported API versions and Amazon Web Services Regions, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/end-user-messaging.html\"> <i>Amazon Web Services End User Messaging Social API</i> Service Endpoints</a> in the <i>Amazon Web Services General Reference</i>.</p>"
        }
      }
    },
    "SendWhatsAppMessageOutput":{
      "type":"structure",
      "members":{
        "messageId":{
          "shape":"String",
          "documentation":"<p>The unique identifier of the message.</p>"
        }
      }
    },
    "String":{"type":"string"},
    "StringList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "SupportedApp":{
      "type":"map",
      "key":{"shape":"SupportedAppKeyString"},
      "value":{"shape":"SupportedAppValueString"},
      "max":10,
      "min":0
    },
    "SupportedAppKeyString":{
      "type":"string",
      "max":30,
      "min":1
    },
    "SupportedAppValueString":{
      "type":"string",
      "max":100,
      "min":1
    },
    "SupportedApps":{
      "type":"list",
      "member":{"shape":"SupportedApp"}
    },
    "Tag":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{
          "shape":"TagKeyString",
          "documentation":"<p>The tag key.</p>"
        },
        "value":{
          "shape":"TagValueString",
          "documentation":"<p>The tag value.</p>"
        }
      },
      "documentation":"<p>The tag for a resource.</p>"
    },
    "TagKeyString":{
      "type":"string",
      "max":128,
      "min":1
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"}
    },
    "TagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to tag.</p>"
        },
        "tags":{
          "shape":"TagList",
          "documentation":"<p>The tags to add to the resource.</p>"
        }
      }
    },
    "TagResourceOutput":{
      "type":"structure",
      "members":{
        "statusCode":{
          "shape":"Integer",
          "documentation":"<p>The status code of the tag resource operation.</p>"
        }
      }
    },
    "TagValueString":{
      "type":"string",
      "max":256,
      "min":0
    },
    "TemplateSummary":{
      "type":"structure",
      "members":{
        "templateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name of the template.</p>"
        },
        "metaTemplateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The numeric ID assigned to the template by Meta.</p>"
        },
        "templateStatus":{
          "shape":"MetaTemplateStatus",
          "documentation":"<p>The current status of the template (for example, APPROVED, PENDING, or REJECTED).</p>"
        },
        "templateQualityScore":{
          "shape":"MetaTemplateQualityScore",
          "documentation":"<p>The quality score assigned to the template by Meta.</p>"
        },
        "templateLanguage":{
          "shape":"MetaTemplateLanguage",
          "documentation":"<p>The language code of the template (for example, en_US).</p>"
        },
        "templateCategory":{
          "shape":"MetaTemplateCategory",
          "documentation":"<p>The category of the template (for example, UTILITY or MARKETING).</p>"
        }
      },
      "documentation":"<p>Provides a summary of a WhatsApp message template's key attributes.</p>"
    },
    "TemplateSummaryList":{
      "type":"list",
      "member":{"shape":"TemplateSummary"}
    },
    "ThrottledRequestException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The request was denied due to request throttling.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "TwoFactorPin":{
      "type":"string",
      "max":6,
      "min":1,
      "sensitive":true
    },
    "UntagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource to remove tags from.</p>"
        },
        "tagKeys":{
          "shape":"StringList",
          "documentation":"<p>The keys of the tags to remove from the resource.</p>"
        }
      }
    },
    "UntagResourceOutput":{
      "type":"structure",
      "members":{
        "statusCode":{
          "shape":"Integer",
          "documentation":"<p>The status code of the untag resource operation.</p>"
        }
      }
    },
    "UpdateWhatsAppFlowAssetsInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId",
        "flowJson"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow whose assets to update.</p>"
        },
        "flowJson":{
          "shape":"MetaFlowJsonBlob",
          "documentation":"<p>The updated Flow JSON definition. Maximum size is 10 MB.</p>"
        }
      }
    },
    "UpdateWhatsAppFlowAssetsOutput":{
      "type":"structure",
      "members":{
        "validationErrors":{
          "shape":"ValidationErrorList",
          "documentation":"<p>A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.</p>"
        }
      }
    },
    "UpdateWhatsAppFlowInput":{
      "type":"structure",
      "required":[
        "id",
        "flowId"
      ],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this Flow.</p>"
        },
        "flowId":{
          "shape":"MetaFlowId",
          "documentation":"<p>The unique identifier of the Flow to update.</p>"
        },
        "flowName":{
          "shape":"MetaFlowName",
          "documentation":"<p>The updated name for the Flow.</p>"
        },
        "categories":{
          "shape":"MetaFlowCategoryList",
          "documentation":"<p>The updated categories for the Flow.</p>"
        }
      }
    },
    "UpdateWhatsAppFlowOutput":{
      "type":"structure",
      "members":{}
    },
    "UpdateWhatsAppMessageTemplateInput":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the WhatsApp Business Account associated with this template.</p>"
        },
        "metaTemplateId":{
          "shape":"MetaTemplateId",
          "documentation":"<p>The numeric ID of the template assigned by Meta.</p>"
        },
        "templateName":{
          "shape":"MetaTemplateName",
          "documentation":"<p>The name of the message template. Use together with <code>templateLanguageCode</code> as an alternative to <code>metaTemplateId</code> to identify a template.</p>"
        },
        "templateLanguageCode":{
          "shape":"MetaTemplateLanguage",
          "documentation":"<p>The language code of the message template (for example, <code>en</code> or <code>en_US</code>). Use together with <code>templateName</code> as an alternative to <code>metaTemplateId</code> to identify a template.</p>"
        },
        "parameterFormat":{
          "shape":"MetaParameterFormat",
          "documentation":"<p>The format specification for parameters in the template, this can be either 'named' or 'positional'.</p>"
        },
        "templateCategory":{
          "shape":"MetaTemplateCategory",
          "documentation":"<p>The new category for the template (for example, UTILITY or MARKETING).</p>"
        },
        "templateComponents":{
          "shape":"MetaTemplateComponents",
          "documentation":"<p>The updated components of the template as a JSON blob (maximum 3000 characters).</p>"
        },
        "ctaUrlLinkTrackingOptedOut":{
          "shape":"MetaTemplateCtaLinkTrackingOptedOut",
          "documentation":"<p>When true, disables click tracking for call-to-action URL buttons in the template.</p>"
        }
      }
    },
    "UpdateWhatsAppMessageTemplateOutput":{
      "type":"structure",
      "members":{}
    },
    "ValidationErrorList":{
      "type":"list",
      "member":{"shape":"MetaFlowValidationError"}
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The request contains an invalid parameter value. </p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "WabaPhoneNumberSetupFinalization":{
      "type":"structure",
      "required":[
        "id",
        "twoFactorPin"
      ],
      "members":{
        "id":{
          "shape":"WhatsAppPhoneNumber",
          "documentation":"<p>The unique identifier of the originating phone number associated with the media. Phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. Use the <a href=\"https://docs.aws.amazon.com/social-messaging/latest/APIReference/API_GetLinkedWhatsAppBusinessAccount.html\">GetLinkedWhatsAppBusinessAccount</a> API action to find a phone number's id.</p>"
        },
        "twoFactorPin":{
          "shape":"TwoFactorPin",
          "documentation":"<p>The PIN to use for two-step verification. To reset your PIN follow the directions in <a href=\"https://developers.facebook.com/docs/whatsapp/cloud-api/reference/two-step-verification/#updating-pin\">Updating PIN</a> in the <i>WhatsApp Business Platform Cloud API Reference</i>.</p>"
        },
        "dataLocalizationRegion":{
          "shape":"IsoCountryCode",
          "documentation":"<p>The two letter ISO region for the location of where Meta will store data.</p> <p class=\"title\"> <b>Asia–Pacific (APAC)</b> </p> <ul> <li> <p>Australia <b>AU</b> </p> </li> <li> <p>Indonesia <b>ID</b> </p> </li> <li> <p>India <b>IN</b> </p> </li> <li> <p>Japan <b>JP</b> </p> </li> <li> <p>Singapore <b>SG</b> </p> </li> <li> <p>South Korea <b>KR</b> </p> </li> </ul> <p class=\"title\"> <b>Europe</b> </p> <ul> <li> <p>Germany <b>DE</b> </p> </li> <li> <p>Switzerland <b>CH</b> </p> </li> <li> <p>United Kingdom <b>GB</b> </p> </li> </ul> <p class=\"title\"> <b>Latin America (LATAM)</b> </p> <ul> <li> <p>Brazil <b>BR</b> </p> </li> </ul> <p class=\"title\"> <b>Middle East and Africa (MEA)</b> </p> <ul> <li> <p>Bahrain <b>BH</b> </p> </li> <li> <p>South Africa <b>ZA</b> </p> </li> <li> <p>United Arab Emirates <b>AE</b> </p> </li> </ul> <p class=\"title\"> <b>North America (NORAM)</b> </p> <ul> <li> <p>Canada <b>CA</b> </p> </li> </ul>"
        },
        "tags":{
          "shape":"TagList",
          "documentation":"<p>An array of key and value pair tags.</p>"
        }
      },
      "documentation":"<p>The registration details for a linked phone number.</p>"
    },
    "WabaPhoneNumberSetupFinalizationList":{
      "type":"list",
      "member":{"shape":"WabaPhoneNumberSetupFinalization"}
    },
    "WabaSetupFinalization":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"WhatsAppBusinessAccountId",
          "documentation":"<p>The ID of the linked WhatsApp Business Account, formatted as <code>waba-01234567890123456789012345678901</code>.</p>"
        },
        "eventDestinations":{
          "shape":"WhatsAppBusinessAccountEventDestinations",
          "documentation":"<p>The event destinations for the linked WhatsApp Business Account.</p>"
        },
        "tags":{
          "shape":"TagList",
          "documentation":"<p>An array of key and value pair tags.</p>"
        }
      },
      "documentation":"<p>The registration details for a linked WhatsApp Business Account.</p>"
    },
    "WhatsAppBusinessAccountEventDestination":{
      "type":"structure",
      "required":["eventDestinationArn"],
      "members":{
        "eventDestinationArn":{
          "shape":"EventDestinationArn",
          "documentation":"<p>The ARN of the event destination.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an Identity and Access Management role that is able to import phone numbers and write events.</p>"
        }
      },
      "documentation":"<p>Contains information on the event destination.</p>"
    },
    "WhatsAppBusinessAccountEventDestinations":{
      "type":"list",
      "member":{"shape":"WhatsAppBusinessAccountEventDestination"},
      "max":1,
      "min":0
    },
    "WhatsAppBusinessAccountId":{
      "type":"string",
      "max":100,
      "min":1
    },
    "WhatsAppBusinessAccountLinkDate":{"type":"timestamp"},
    "WhatsAppBusinessAccountMarketingMessagesOnboardingStatus":{
      "type":"string",
      "max":100,
      "min":0
    },
    "WhatsAppBusinessAccountName":{
      "type":"string",
      "max":200,
      "min":0
    },
    "WhatsAppDisplayPhoneNumber":{
      "type":"string",
      "max":20,
      "min":0
    },
    "WhatsAppMediaId":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[A-Za-z0-9]+"
    },
    "WhatsAppMessageBlob":{
      "type":"blob",
      "max":2048000,
      "min":1,
      "sensitive":true
    },
    "WhatsAppPhoneNumber":{
      "type":"string",
      "max":100,
      "min":1
    },
    "WhatsAppPhoneNumberDetail":{
      "type":"structure",
      "required":[
        "arn",
        "phoneNumber",
        "phoneNumberId",
        "metaPhoneNumberId",
        "displayPhoneNumberName",
        "displayPhoneNumber",
        "qualityRating"
      ],
      "members":{
        "arn":{
          "shape":"LinkedWhatsAppPhoneNumberArn",
          "documentation":"<p>The ARN of the WhatsApp phone number.</p>"
        },
        "phoneNumber":{
          "shape":"PhoneNumber",
          "documentation":"<p>The phone number for sending WhatsApp.</p>"
        },
        "phoneNumberId":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The phone number ID. Phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. </p>"
        },
        "metaPhoneNumberId":{
          "shape":"WhatsAppPhoneNumber",
          "documentation":"<p>The phone number ID from Meta.</p>"
        },
        "displayPhoneNumberName":{
          "shape":"WhatsAppPhoneNumberName",
          "documentation":"<p>The display name for this phone number.</p>"
        },
        "displayPhoneNumber":{
          "shape":"WhatsAppDisplayPhoneNumber",
          "documentation":"<p>The phone number that appears in the recipients display.</p>"
        },
        "qualityRating":{
          "shape":"WhatsAppPhoneNumberQualityRating",
          "documentation":"<p>The quality rating of the phone number.</p>"
        },
        "dataLocalizationRegion":{
          "shape":"IsoCountryCode",
          "documentation":"<p>The geographic region where the WhatsApp phone number's data is stored and processed.</p>"
        }
      },
      "documentation":"<p>The details of your WhatsApp phone number.</p>"
    },
    "WhatsAppPhoneNumberDetailList":{
      "type":"list",
      "member":{"shape":"WhatsAppPhoneNumberDetail"}
    },
    "WhatsAppPhoneNumberId":{
      "type":"string",
      "max":115,
      "min":1,
      "pattern":".*(^phone-number-id-.*$)|(^arn:.*:phone-number-id/[0-9a-zA-Z]+$).*"
    },
    "WhatsAppPhoneNumberName":{
      "type":"string",
      "max":200,
      "min":0
    },
    "WhatsAppPhoneNumberQualityRating":{
      "type":"string",
      "max":10,
      "min":0
    },
    "WhatsAppPhoneNumberSummary":{
      "type":"structure",
      "required":[
        "arn",
        "phoneNumber",
        "phoneNumberId",
        "metaPhoneNumberId",
        "displayPhoneNumberName",
        "displayPhoneNumber",
        "qualityRating"
      ],
      "members":{
        "arn":{
          "shape":"LinkedWhatsAppPhoneNumberArn",
          "documentation":"<p>The full Amazon Resource Name (ARN) for the phone number.</p>"
        },
        "phoneNumber":{
          "shape":"PhoneNumber",
          "documentation":"<p>The phone number associated with the Linked WhatsApp Business Account.</p>"
        },
        "phoneNumberId":{
          "shape":"WhatsAppPhoneNumberId",
          "documentation":"<p>The phone number ID. Phone number identifiers are formatted as <code>phone-number-id-01234567890123456789012345678901</code>. </p>"
        },
        "metaPhoneNumberId":{
          "shape":"WhatsAppPhoneNumber",
          "documentation":"<p>The phone number ID from Meta.</p>"
        },
        "displayPhoneNumberName":{
          "shape":"WhatsAppPhoneNumberName",
          "documentation":"<p>The display name for this phone number.</p>"
        },
        "displayPhoneNumber":{
          "shape":"WhatsAppDisplayPhoneNumber",
          "documentation":"<p>The phone number that appears in the recipients display.</p>"
        },
        "qualityRating":{
          "shape":"WhatsAppPhoneNumberQualityRating",
          "documentation":"<p>The quality rating of the phone number. This is from Meta.</p>"
        },
        "dataLocalizationRegion":{
          "shape":"IsoCountryCode",
          "documentation":"<p>The geographic region where the WhatsApp phone number's data is stored and processed.</p>"
        }
      },
      "documentation":"<p>The details of a linked phone number.</p>"
    },
    "WhatsAppPhoneNumberSummaryList":{
      "type":"list",
      "member":{"shape":"WhatsAppPhoneNumberSummary"}
    },
    "WhatsAppSetupFinalization":{
      "type":"structure",
      "required":[
        "associateInProgressToken",
        "phoneNumbers"
      ],
      "members":{
        "associateInProgressToken":{
          "shape":"AssociateInProgressToken",
          "documentation":"<p>An Amazon Web Services access token generated by <code>WhatsAppSignupCallback</code> and used by <code>WhatsAppSetupFinalization</code>.</p>"
        },
        "phoneNumbers":{
          "shape":"WabaPhoneNumberSetupFinalizationList",
          "documentation":"<p>An array of WabaPhoneNumberSetupFinalization objects containing the details of each phone number associated with the WhatsApp Business Account.</p>"
        },
        "phoneNumberParent":{
          "shape":"LinkedWhatsAppBusinessAccountId",
          "documentation":"<p>Used to add a new phone number to an existing WhatsApp Business Account. This field can't be used when the <code>waba</code> field is present.</p>"
        },
        "waba":{
          "shape":"WabaSetupFinalization",
          "documentation":"<p>Used to create a new WhatsApp Business Account and add a phone number. This field can't be used when the <code>phoneNumberParent</code> field is present.</p>"
        }
      },
      "documentation":"<p>The details of linking a WhatsApp Business Account to your Amazon Web Services account.</p>"
    },
    "WhatsAppSignupCallback":{
      "type":"structure",
      "required":["accessToken"],
      "members":{
        "accessToken":{
          "shape":"WhatsAppSignupCallbackAccessTokenString",
          "documentation":"<p>The access token for your WhatsApp Business Account. The <code>accessToken</code> value is provided by Meta.</p>"
        },
        "callbackUrl":{
          "shape":"WhatsAppSignupCallbackCallbackUrlString",
          "documentation":"<p>The URL where WhatsApp will send callback notifications for this account.</p>"
        }
      },
      "documentation":"<p>Contains the <code>accessToken</code> provided by Meta during signup.</p>"
    },
    "WhatsAppSignupCallbackAccessTokenString":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "WhatsAppSignupCallbackCallbackUrlString":{
      "type":"string",
      "max":100,
      "min":0
    },
    "WhatsAppSignupCallbackResult":{
      "type":"structure",
      "members":{
        "associateInProgressToken":{
          "shape":"AssociateInProgressToken",
          "documentation":"<p>An Amazon Web Services access token generated by <code>WhatsAppSignupCallback</code> and used by <code>WhatsAppSetupFinalization</code>.</p>"
        },
        "linkedAccountsWithIncompleteSetup":{
          "shape":"LinkedAccountWithIncompleteSetup",
          "documentation":"<p>A LinkedWhatsAppBusinessAccountIdMetaData object map containing the details of any WhatsAppBusiness accounts that have incomplete setup.</p>"
        }
      },
      "documentation":"<p>Contains the results of WhatsAppSignupCallback.</p>"
    },
    "ZeroTapTermsAccepted":{
      "type":"boolean",
      "box":true
    }
  },
  "documentation":"<p> <i>Amazon Web Services End User Messaging Social</i>, also referred to as Social messaging, is a messaging service that enables application developers to incorporate WhatsApp into their existing workflows. The <i>Amazon Web Services End User Messaging Social API</i> provides information about the <i>Amazon Web Services End User Messaging Social API</i> resources, including supported HTTP methods, parameters, and schemas.</p> <p>The <i>Amazon Web Services End User Messaging Social API</i> provides programmatic access to options that are unique to the WhatsApp Business Platform.</p> <p>If you're new to the <i>Amazon Web Services End User Messaging Social API</i>, it's also helpful to review <a href=\"https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-service.html\">What is Amazon Web Services End User Messaging Social</a> in the <i>Amazon Web Services End User Messaging Social User Guide</i>. The <i>Amazon Web Services End User Messaging Social User Guide</i> provides tutorials, code samples, and procedures that demonstrate how to use <i>Amazon Web Services End User Messaging Social API</i> features programmatically and how to integrate functionality into applications. The guide also provides key information, such as integration with other Amazon Web Services services, and the quotas that apply to use of the service.</p> <p> <b>Regional availability</b> </p> <p>The <i>Amazon Web Services End User Messaging Social API</i> is available across several Amazon Web Services Regions and it provides a dedicated endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/rande.html#pinpoint_region\">Amazon Web Services Service Endpoints</a> and <a href=\"https://docs.aws.amazon.com/general/latest/gr/end-user-messaging.html\">Amazon Web Services End User Messaging endpoints and quotas</a> in the Amazon Web Services General Reference. To learn more about Amazon Web Services Regions, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/rande-manage.html\">Managing Amazon Web Services Regions</a> in the Amazon Web Services General Reference.</p> <p>In each Region, Amazon Web Services maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see <a href=\"https://aws.amazon.com/about-aws/global-infrastructure/\">Amazon Web Services Global Infrastructure.</a> </p>"
}
