← Files YCloud Developer KitARCHIVED FILE

skills/ycloud-whatsapp-business-accounts/references/openapi.md

28.2 KB · Oct 3, 2026 · 06:33 UTC

↓ Download file

<!-- Generated by scripts/build_openapi_skill_references.py; do not edit. -->
# OpenAPI contract: WhatsApp business accounts

## Provenance

- Source: `ycloud-api-v2.yaml` (pinned release snapshot).
- Source SHA-256: `8592bd4cc37186655a480dd86ce6bac6731543727327a2871d9103a0b8ed9e81`
- OpenAPI version: `3.0.0`
- API info.version: `v2`
- This derived reference does not replace the upstream API Owner's canonical source.
- Generated deterministically from normalized JSON; do not edit this file by hand.

## Scope and handoff

- These four operations list or retrieve WABAs and manage automatic creative optimization settings. Pass opaque WABA IDs to Phone Numbers, Messages, and Templates.
- Operation coverage: `4`

## Operations

### `GET /whatsapp/businessAccounts` — `whatsapp_business_account-list`

- Summary: List WABAs
- Description:
  > Returns a paginated list of WhatsApp business accounts you've registered.
- Parameters:
  - `page` (query, optional): `integer (int32)`
    > Page number of the results to be returned, 1-based.
    - Constraints: minimum=1; maximum=100; default=1
  - `limit` (query, optional): `integer (int32)`
    > A limit on the number of results to be returned, or number of results per page, between 1 and 100, defaults to 10.
    - Constraints: minimum=1; maximum=100; default=10
  - `includeTotal` (query, optional): `boolean`
    > Return results inside an object that contains the total result count or not.
    - Constraints: default=false
  - `filter.accountReviewStatus` (query, optional): `string`
    > WhatsApp Business Account review status.
    - Constraints: example="APPROVED"
- Request body: none
- Responses:
  - `200`: Successfully retrieved a paginated list of objects.
    - `application/json`: `#/components/schemas/WhatsappBusinessAccountPage`
      - `$ref`: `#/components/schemas/WhatsappBusinessAccountPage`

### `GET /whatsapp/businessAccounts/{id}` — `whatsapp_business_account-retrieve`

- Summary: Retrieve a WABA
- Description:
  > Retrieves a WABA you've registered.
- Parameters:
  - `id` (path, required): `string`
    > WhatsApp Business Account ID.
    - Constraints: example="whatsapp-business-account-id"
- Request body: none
- Responses:
  - `200`: Successfully retrieved the WABA.
    - `application/json`: `#/components/schemas/WhatsappBusinessAccount`
      - `$ref`: `#/components/schemas/WhatsappBusinessAccount`
  - `404`: The requested resource does not exist.
    - `application/json`: `#/components/schemas/ErrorResponse`
      - `$ref`: `#/components/schemas/ErrorResponse`

### `GET /whatsapp/businessAccounts/{wabaId}/automatic-creative-optimizations` — `whatsapp_waba-retrieve-automatic-creative-optimizations`

- Summary: Retrieve WABA automatic creative optimizations
- Description:
  > Retrieves current automatic creative optimization feature enrollment for a WhatsApp Business Account from Meta.
  >
  > This endpoint does not persist feature enrollment locally. If Meta returns `degrees_of_freedom_spec.data[0].creative_features_spec[0]` as an object, its string fields are returned as `creativeOptimizationFeatures` without feature-key filtering, status-value validation, or case normalization. If Meta returns success without a valid `creative_features_spec[0]` object, `creativeOptimizationFeatures` is returned as an empty object.
- Parameters:
  - `wabaId` (path, required): `string`
    > WhatsApp Business Account ID.
    - Constraints: example="whatsapp-business-account-id"
- Request body: none
- Responses:
  - `200`: Successfully retrieved current automatic creative optimization features.
    - `application/json`: `#/components/schemas/WhatsappAutomaticCreativeOptimizationRetrieveResponse`
      - `$ref`: `#/components/schemas/WhatsappAutomaticCreativeOptimizationRetrieveResponse`
  - `400`: Meta returned an error for the WABA automatic creative optimization query.
    - `application/json`: `#/components/schemas/ErrorResponse`
      - `$ref`: `#/components/schemas/ErrorResponse`
  - `403`: You have no access to the requested WABA.
    - `application/json`: `#/components/schemas/ErrorResponse`
      - `$ref`: `#/components/schemas/ErrorResponse`

### `PATCH /whatsapp/businessAccounts/{wabaId}/automatic-creative-optimizations` — `whatsapp_waba-update-automatic-creative-optimizations`

- Summary: Update WABA automatic creative optimizations
- Description:
  > Partially updates automatic creative optimization feature enrollment for a WhatsApp Business Account.
  >
  > Only submitted feature keys are updated. This endpoint does not persist feature enrollment locally and does not check whether the WABA has completed Meta MM Lite / ACO onboarding before forwarding the request to Meta.
- Parameters:
  - `wabaId` (path, required): `string`
    > WhatsApp Business Account ID.
    - Constraints: example="whatsapp-business-account-id"
- Request body: required
  - `application/json`: `#/components/schemas/WhatsappAutomaticCreativeOptimizationUpdateRequest`
    - `$ref`: `#/components/schemas/WhatsappAutomaticCreativeOptimizationUpdateRequest`
- Responses:
  - `200`: Successfully updated submitted automatic creative optimization features.
    - `application/json`: `#/components/schemas/WhatsappAutomaticCreativeOptimizationUpdateResponse`
      - `$ref`: `#/components/schemas/WhatsappAutomaticCreativeOptimizationUpdateResponse`
  - `400`: One or more request parameters are invalid, or Meta returned an error for the WABA automatic creative optimization update.
    - `application/json`: `#/components/schemas/ErrorResponse`
      - `$ref`: `#/components/schemas/ErrorResponse`
  - `403`: You have no access to the requested WABA.
    - `application/json`: `#/components/schemas/ErrorResponse`
      - `$ref`: `#/components/schemas/ErrorResponse`

## Referenced schema and parameter shapes

### `filter_accountReviewStatus-WABA`

- Reference: `#/components/parameters/filter_accountReviewStatus-WABA`
- Parameter name: `filter.accountReviewStatus`
- Location: `query`
- Required: `false`
- Description:
  > WhatsApp Business Account review status.
- Schema: `string`
  - Constraints: example="APPROVED"

### `includeTotal`

- Reference: `#/components/parameters/includeTotal`
- Parameter name: `includeTotal`
- Location: `query`
- Required: `false`
- Description:
  > Return results inside an object that contains the total result count or not.
- Schema: `boolean`
  - Constraints: default=false

### `limit`

- Reference: `#/components/parameters/limit`
- Parameter name: `limit`
- Location: `query`
- Required: `false`
- Description:
  > A limit on the number of results to be returned, or number of results per page, between 1 and 100, defaults to 10.
- Schema: `integer (int32)`
  - Constraints: minimum=1; maximum=100; default=10

### `page`

- Reference: `#/components/parameters/page`
- Parameter name: `page`
- Location: `query`
- Required: `false`
- Description:
  > Page number of the results to be returned, 1-based.
- Schema: `integer (int32)`
  - Constraints: minimum=1; maximum=100; default=1

### `Error`

- Reference: `#/components/schemas/Error`
- Shape: `object`
  - Required properties: `status`, `code`
  - Properties:
    - `code`: `string` (required)
      - Description:
        > One of a server-defined error codes. Some `4xx` errors that could be handled programmatically include an error code that briefly explains the error reported.
      - Constraints: example="NOT_FOUND"
    - `docUrl`: `string`
      - Description:
        > A URL to more information about the error.
      - Constraints: example=""
    - `message`: `string`
      - Description:
        > A human-readable representation of the error. It is intended as an aid to developers and is not suitable for exposure to end users.
      - Constraints: example="The requested resource does not exist."
    - `requestId`: `string`
      - Description:
        > Each API request has an associated request ID. It conveys the response header `YCloud-Request-ID` used for the convenience of the consumer.
      - Constraints: example="req_1KjtKI80IKoaJNa6n6p"
    - `status`: `integer (int32)` (required)
      - Description:
        > HTTP status code, [RFC 7231, Section 6](https://datatracker.ietf.org/doc/html/rfc7231#section-6). It conveys the HTTP status code used for the convenience of the consumer.
      - Constraints: pattern="[45]\\d{2}"; example=404
    - `target`: `string`
      - Description:
        > The target of the error.
      - Constraints: example=""
    - `whatsappApiError`: `#/components/schemas/WhatsappApiError`
      - Description:
        > The original error object returned by WhatsApp. See [Handling Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling), [Cloud API Error Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes).
        >
        > Note: This field is returned if we tried to request the WhatsApp Business API and got an error response.

### `ErrorResponse`

- Reference: `#/components/schemas/ErrorResponse`
- Shape: `object`
  - Required properties: `error`
  - Properties:
    - `error`: `#/components/schemas/Error` (required)

### `MetaBusinessAccountVerificationStatus`

- Reference: `#/components/schemas/MetaBusinessAccountVerificationStatus`
- Shape: `string`
  - Description:
    > Current status of business verification of Meta Business Account which owns this WhatsApp Business Account.
  - Constraints: enum=["expired", "failed", "ineligible", "not_verified", "pending", "pending_need_more_info", "pending_submission", "rejected", "revoked", "verified"]

### `Page`

- Reference: `#/components/schemas/Page`
- Shape: `object`
  - Description:
    > Represents a given page of items.
  - Required properties: `offset`, `limit`, `length`
  - Properties:
    - `items`: `array`
      - Items: `object`
    - `length`: `integer (int32)` (required)
      - Description:
        > The actual number of items in the page.
      - Constraints: minimum=0
    - `limit`: `integer (int32)` (required)
      - Description:
        > A limit on the number of items to be returned, between 1 and 100, defaults to 10.
      - Constraints: minimum=1
    - `offset`: `integer (int32)` (required)
      - Description:
        > The position of the item this page starts from, zero-based. e.g., the 11th item is at offset 10.
      - Constraints: minimum=0
    - `total`: `integer (int32)`
      - Description:
        > The total number of items. This field is returned only when the request parameter `includeTotal` is set to `true`.
      - Constraints: minimum=0

### `WhatsappApiError`

- Reference: `#/components/schemas/WhatsappApiError`
- Shape: `object`
  - Description:
    > The original error object returned by WhatsApp. See [Handling Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling), [Cloud API Error Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes).
  - Required properties: `message`, `code`
  - Properties:
    - `code`: `string` (required)
      - Description:
        > An error code.
      - Constraints: example=200002
    - `error_data`: `object`
      - Description:
        > Additional data about the error. A string or map.
        > - For template APIs, this field is a string describing the reason for the error.
        > - For message APIs, this field is a map with property `details` describing the reason for the error.
    - `error_subcode`: `string`
      - Description:
        > Additional code about the error.
      - Constraints: example=2388109
    - `error_user_msg`: `string`
      - Description:
        > The message to display to the user. The language of the message is based on the locale of the API request.
      - Constraints: example="This message template cannot be created."
    - `error_user_title`: `string`
      - Description:
        > The title of the dialog, if shown. The language of the message is based on the locale of the API request.
      - Constraints: example="Message Cannot Be Submitted"
    - `fbtrace_id`: `string`
      - Description:
        > Internal support identifier. When reporting a bug related to a Graph API call, include the fbtrace_id to help us find log data for debugging.
      - Constraints: example="AVGjJ7ia2zJkrHG"
    - `is_transient`: `boolean`
      - Description:
        > Whether the error is transient.
      - Constraints: example=false
    - `message`: `string` (required)
      - Description:
        > A human-readable description of the error.
      - Constraints: example="HSM Template creation failed"
    - `type`: `string`
      - Description:
        > Error type.
      - Constraints: example="OAuthException"

### `WhatsappAuthIntlRateEligibilityCountry`

- Reference: `#/components/schemas/WhatsappAuthIntlRateEligibilityCountry`
- Shape: `object`
  - Description:
    > Starting June 1, 2024, we are updating our authentication rate card and introducing a new authentication-international rate. This rate will apply in the the following countries:
    > - June 1, 2024 – Indonesia (country calling code +62, country code `ID`)
    > - July 1, 2024 – India (country calling code +91, country code `IN`)
    >
    > See also [Authentication-International Rates](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates).
  - Properties:
    - `countryCode`: `string`
      - Description:
        > [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - Constraints: example="IN"
    - `startTime`: `string (date-time)`
      - Description:
        > Date when newly-opened authentication conversations are subject to authentication-international rates, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2024-07-01T00:00:00.000Z`.
      - Constraints: example="2024-07-01T00:00:00.000Z"

### `WhatsappAutomaticCreativeOptimizationEnrollStatus`

- Reference: `#/components/schemas/WhatsappAutomaticCreativeOptimizationEnrollStatus`
- Shape: `string`
  - Description:
    > Automatic creative optimization feature enrollment status.
  - Constraints: enum=["OPT_IN", "OPT_OUT"]

### `WhatsappAutomaticCreativeOptimizationRetrieveResponse`

- Reference: `#/components/schemas/WhatsappAutomaticCreativeOptimizationRetrieveResponse`
- Shape: `object`
  - Properties:
    - `creativeOptimizationFeatures`: `object`
      - Description:
        > Current feature enrollment string values returned by Meta. REST returns fields and original string values from `creative_features_spec[0]` without feature-key filtering, status-value validation, or case normalization.
      - Constraints: additionalProperties={"type": "string"}; example={"future_meta_feature": "UNKNOWN", "image_brightness_and_contrast": "OPT_IN", "image_touchups": "opt_out"}
    - `wabaId`: `string`
      - Description:
        > WhatsApp Business Account ID returned by Meta.
      - Constraints: example="whatsapp-business-account-id"

### `WhatsappAutomaticCreativeOptimizationUpdateRequest`

- Reference: `#/components/schemas/WhatsappAutomaticCreativeOptimizationUpdateRequest`
- Shape: `object`
  - Required properties: `creativeOptimizationFeatures`
  - Properties:
    - `creativeOptimizationFeatures`: `object` (required)
      - Description:
        > A non-empty map of automatic creative optimization feature enrollment values. Only submitted features are updated.
        >
        > Supported feature keys:
        > - `image_brightness_and_contrast`
        > - `image_touchups`
        > - `add_text_overlay`
        > - `image_animation`
        > - `image_background_gen`
        > - `auto_promotion_tag`
        > - `text_extraction_for_headline`
        > - `text_extraction_for_tap_target`
        > - `product_extensions`
        > - `text_formatting_optimization`
        > - `hyperlink_formatting`
        > - `image_banner`
        > - `image_end_card`
        > - `dynamic_cta_text`
      - Constraints: minProperties=1; additionalProperties=false; example={"image_brightness_and_contrast": "OPT_IN", "image_touchups": "OPT_OUT"}

### `WhatsappAutomaticCreativeOptimizationUpdateResponse`

- Reference: `#/components/schemas/WhatsappAutomaticCreativeOptimizationUpdateResponse`
- Shape: `object`
  - Properties:
    - `creativeOptimizationFeatures`: `object`
      - Description:
        > The submitted feature enrollment values for PATCH responses, or current feature enrollment values for GET responses.
      - Constraints: additionalProperties={"$ref": "#/components/schemas/WhatsappAutomaticCreativeOptimizationEnrollStatus"}; example={"image_brightness_and_contrast": "OPT_IN", "image_touchups": "OPT_OUT"}
    - `wabaId`: `string`
      - Description:
        > WhatsApp Business Account ID returned by Meta.
      - Constraints: example="whatsapp-business-account-id"

### `WhatsappBusinessAccount`

- Reference: `#/components/schemas/WhatsappBusinessAccount`
- Shape: `object`
  - Description:
    > Represents a specific [WhatsApp Business Account (WABA)](https://developers.facebook.com/docs/whatsapp/overview/business-accounts).
  - Properties:
    - `accountReviewStatus`: `#/components/schemas/WhatsappBusinessAccountReviewStatus`
    - `authIntlRateEligibilityCountries`: `array`
      - Description:
        > Starting June 1, 2024, we are updating our authentication rate card and introducing a new authentication-international rate. This rate will apply in the the following countries:
        > - June 1, 2024 – Indonesia (country calling code +62, country code `ID`)
        > - July 1, 2024 – India (country calling code +91, country code `IN`)
        >
        > See also [Authentication-International Rates](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates).
      - Items: `#/components/schemas/WhatsappAuthIntlRateEligibilityCountry`
    - `banDate`: `string`
      - Description:
        > The date when the WABA is banned.
      - Constraints: example="December 9, 2022"
    - `banState`: `#/components/schemas/WhatsappBusinessAccountBanState`
    - `businessId`: `string`
      - Description:
        > Business Portfolio ID.
    - `businessName`: `string`
      - Description:
        > Business Portfolio Name.
    - `businessStatus`: `string`
      - Description:
        > Business Portfolio Status,Default:APPROVED
    - `businessVerificationStatus`: `#/components/schemas/MetaBusinessAccountVerificationStatus`
    - `country`: `string`
      - Description:
        > Country of the WhatsApp Business Account's owning Meta Business account.
    - `currency`: `string`
      - Description:
        > The currency in which the payment transactions for the WhatsApp Business Account will be processed.
    - `decision`: `#/components/schemas/WhatsappReviewDecision`
      - Description:
        > Review decision made on this WhatsApp Business Account. One of `APPROVED` or `REJECTED` or `DEFERRED`.
    - `id`: `string`
      - Description:
        > WhatApp Business Account ID.
    - `messageTemplateNamespace`: `string`
      - Description:
        > Namespace string for the message templates that belong to the WhatsApp Business Account.
    - `name`: `string`
      - Description:
        > User-friendly name to differentiate WhatsApp Business Accounts.
    - `ownershipType`: `string`
      - Description:
        > Ownership type of the WhatsApp Business Account.
    - `paymentMethodAttached`: `boolean`
      - Description:
        > Whether we have attached a payment method to the WhatsApp Business Account.
    - `primaryBusinessLocation`: `string`
      - Description:
        > Your primary business location is the country where your business is based. It will appear in the Business Manager under the Primary Business Location field starting May 1, 2024.
        > [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - Constraints: example="US"
    - `primaryFundingId`: `string`
      - Description:
        > Primary funding ID for the WhatsApp Business Account paid service.
    - `purchaseOrderNumber`: `string`
      - Description:
        > The purchase order number supplied by the business for payment management purposes.
    - `removedInitiatedBy`: `string`
      - Description:
        > Raw initiator from the WhatsApp Business Account deletion event. Known values include:
        > - `USER`: The removal was initiated by the WhatsApp user.
        > - `SYSTEM`: The removal was initiated by the Meta system.
        >
        > Unknown values are returned as received.
      - Constraints: example="USER"
    - `removedReason`: `string`
      - Description:
        > Raw reason from the WhatsApp Business Account deletion event. Known values include:
        > - `ACCOUNT_DISCONNECTED`: The account was disconnected due to enforcement or because the WhatsApp account was explicitly deleted.
        > - `BUSINESS_DOWNGRADE`: The phone number was registered with the consumer WhatsApp app.
        > - `CHANGE_NUMBER`: The WhatsApp phone number was changed.
        > - `COMPANION_INACTIVITY`: A companion device was inactive for approximately 30 days.
        > - `PRIMARY_INACTIVITY`: A primary device was inactive for approximately 30 days.
        > - `USER_RE_REGISTERED`: WhatsApp was re-registered on a new device.
        >
        > Unknown values are returned as received.
      - Constraints: example="ACCOUNT_DISCONNECTED"
    - `removedTime`: `string (date-time)`
      - Description:
        > The time when the WhatsApp Business Account deletion event was received, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2026-05-19T12:00:00.000Z`.
      - Constraints: example="2026-05-19T12:00:00.000Z"
    - `restrictions`: `array`
      - Description:
        > Used to report restrictions imposed on the WABA, when that WABA violates [WhatsApp Business Platform policies](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement).
      - Items: `#/components/schemas/WhatsappBusinessAccountRestrictionInfo`
    - `timezoneId`: `string`
      - Description:
        > The timezone ID of the WhatsApp Business Account. See [Timezone IDs](https://developers.facebook.com/docs/marketing-api/reference/ad-account/timezone-ids).
      - Constraints: example="1"
    - `updateEvent`: `#/components/schemas/WhatsappBusinessAccountUpdateEventEnum`
    - `violationType`: `string`
      - Description:
        > Used to report violations imposed on the WABA.
        > See also [WhatsApp Business Platform Policy Violations](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement/violations).
      - Constraints: example="SCAM"
    - `whatsappBusinessManagerMessagingLimit`: `string`
      - Description:
        > The owning business portfolio's messaging limit. Starting October 7, 2025, messaging limits will instead be calculated and set on a business portfolio basis, and will be shared by all business phone numbers within each portfolio. See also [phone_number_quality_update webhook reference](https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks/reference/phone_number_quality_update).
        > - `TIER_NOT_SET`: The business phone number has not been used to send a message yet.
        > - `TIER_50`: Messaging limit of 50 business-initiated conversations in a rolling 24-hour period.
        > - `TIER_250`: Messaging limit of 250 business-initiated conversations in a rolling 24-hour period.
        > - `TIER_2K`: Messaging limit of 2,000 business-initiated conversations in a rolling 24-hour period.
        > - `TIER_10K`: Messaging limit of 10,000 business-initiated conversations in a rolling 24-hour period.
        > - `TIER_100K`: Messaging limit of 100,000 business-initiated conversations in a rolling 24-hour period.
        > - `TIER_UNLIMITED`: The business phone number has higher throughput with unlimited business-initiated conversations.
      - Constraints: example="TIER_2K"

### `WhatsappBusinessAccountBanState`

- Reference: `#/components/schemas/WhatsappBusinessAccountBanState`
- Shape: `string`
  - Description:
    > The ban state of the WhatsApp Business Account.
  - Constraints: enum=["SCHEDULE_FOR_DISABLE", "DISABLE", "REINSTATE"]

### `WhatsappBusinessAccountPage`

- Reference: `#/components/schemas/WhatsappBusinessAccountPage`
- Shape: `object`
  - Description:
    > Represents a given page of WhatsApp Business Accounts.
  - `allOf` composition (preserved; not inferred SDK inheritance):
    - `#/components/schemas/Page`
      - `$ref`: `#/components/schemas/Page`
  - Properties:
    - `items`: `array`
      - Description:
        > An array containing WhatsApp Business Account objects.
      - Items: `#/components/schemas/WhatsappBusinessAccount`
  - Effective wire object after merging `allOf` (use this shape in response adapters):
    - Required properties: `offset`, `limit`, `length`
    - Properties:
      - `items`: `array`
        - Items: `#/components/schemas/WhatsappBusinessAccount`
      - `length`: `integer (int32)` (required)
      - `limit`: `integer (int32)` (required)
      - `offset`: `integer (int32)` (required)
      - `total`: `integer (int32)`

### `WhatsappBusinessAccountRestrictionInfo`

- Reference: `#/components/schemas/WhatsappBusinessAccountRestrictionInfo`
- Shape: `object`
  - Description:
    > Used to report restrictions imposed on a specific WABA, when that WABA violates [WhatsApp Business Platform policies](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement).
  - Properties:
    - `expiration`: `string (date-time)`
      - Description:
        > The time at which this restriction expires, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`.
      - Constraints: example="2022-06-01T12:00:00.000Z"
    - `restrictionType`: `string`
      - Description:
        > Restriction type.
      - Constraints: enum=["RESTRICTED_ADD_PHONE_NUMBER_ACTION", "RESTRICTED_BIZ_INITIATED_MESSAGING", "RESTRICTED_CUSTOMER_INITIATED_MESSAGING"]

### `WhatsappBusinessAccountReviewStatus`

- Reference: `#/components/schemas/WhatsappBusinessAccountReviewStatus`
- Shape: `string`
  - Description:
    > WhatsApp Business Account review status.
  - Constraints: enum=["PENDING", "APPROVED", "REJECTED"]

### `WhatsappBusinessAccountUpdateEventEnum`

- Reference: `#/components/schemas/WhatsappBusinessAccountUpdateEventEnum`
- Shape: `string`
  - Description:
    > Indicates the update event type of the WABA when a notification is sent to you to report a [policy violation](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement), a WABA has been banned and more.
    > - `DISABLED_UPDATE`: WhatsApp Business Account Banned.
    > - `ACCOUNT_RESTRICTION`: WhatsApp Business Account Restricted Due To Policy Violations.
    > - `ACCOUNT_VIOLATION`: WhatsApp Business Account Violates Policy.
    > - `PARTNER_REMOVED`: WhatsApp Business Account was removed from the partner connection.
    > - `PARTNER_APP_UNINSTALLED`: WhatsApp Business Account partner app was uninstalled.
    > - `AUTH_INTL_PRICE_ELIGIBILITY_UPDATE`: WhatsApp Business Account is eligible for the [authentication-international rate](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates).
    > - `BUSINESS_PRIMARY_LOCATION_COUNTRY_UPDATE`: Business's [primary business location](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates#primary-business-location) is set.
  - Constraints: enum=["DISABLED_UPDATE", "ACCOUNT_RESTRICTION", "ACCOUNT_VIOLATION", "PARTNER_REMOVED", "PARTNER_APP_UNINSTALLED", "AUTH_INTL_PRICE_ELIGIBILITY_UPDATE", "BUSINESS_PRIMARY_LOCATION_COUNTRY_UPDATE"]

### `WhatsappReviewDecision`

- Reference: `#/components/schemas/WhatsappReviewDecision`
- Shape: `string`
  - Description:
    > Used if a decision about WhatsApp accounts or phone numbers has been made.
  - Constraints: enum=["APPROVED", "REJECTED", "DEFERRED"]

## Codegen interpretation and unknowns

- `operationId` identifies the OpenAPI operation; it is not an SDK method name.
- `allOf` is wire-level schema composition. Response adapters must merge inherited and local properties; generated model inheritance/flattening is only a codegen shape, not additional API behavior.
- `x-group-parameters`, `x-enum-varnames`, and `x-enum-descriptions` are generator hints, not business rules.
- Description-only constraints (including conditional fields, precedence, and endpoint-specific behavior) remain verbatim above.
- This OpenAPI snapshot does not confirm cross-cutting error, retry/`Retry-After`, rate-limit, idempotency, delivery, or webhook-signature behavior. Consult the reviewed `runtime.md`; if neither source confirms a fact, do not fill it in.

SHA-256: 308f987bcd3f683ba35b0a20b947eb7830e0f21b8fbc27d5cf2bb731cac43545