Skip to content
Registry

whatsapp

v0.2.0

Native whatsmeow sessions and official Meta Cloud API messaging in one Go worker; no Node or browser runtime.

license: Apache-2.0cloud-apigogroupsmessagingnativewhatsapp

Install

bash
iii trigger compose::add worker=whatsapp

Run in your project with the iii engine running. Exact versions are immutable and digest-pinned.

Agent-ready brief for v0.2.0
Install, config, dependencies, readme, skills and API reference, all in one place. Fetch as agent-context.md for an LLM to consume.
The same content rendered as discrete blocks below is exposed as a single markdown document at /registry/workers/whatsapp.md. Paste it into an LLM prompt or pipe it through curl from a worker.

Install

iii trigger compose::add worker=whatsapp@0.2.0

Configuration

iii-config.yaml
- cloud:
    access_token:
    api_version: v26.0
    app_secret:
    business_account_id:
    enabled: false
    phone_number_id:
    verify_token:
  data_dir: data/whatsapp-go
  database:
    name: whatsapp
    namespace:
  max_events: 1000
  max_inbox_messages: 10000
  max_media_bytes: 16777216
  max_sessions: 32
  operation_timeout_secs: 30
  shutdown_timeout_secs: 15

Dependencies

Readme

README.md

whatsapp

Send and receive WhatsApp messages through iii functions using linked phones or the official Meta WhatsApp Cloud API. Pair accounts, inspect conversations and groups, send attachments and templates, and subscribe to filtered events. An ADE page helps you configure and test each transport separately. The worker runs as a Go binary without Node.js or Chromium.

Install

Install the worker into your existing iii Compose project:

iii trigger compose::add worker=whatsapp

Compose resolves the declared database, configuration, http, and quick-tunnel dependencies, updates worker-compose.yaml, and starts the project. Dependency installation does not create the dedicated WhatsApp database or configure a Meta account. Configure storage before the worker's first successful start, as described under Configuration.

Release binaries support Linux and macOS on x64 and arm64. Windows is not supported. Cloudflared is needed only when you start a development webhook tunnel; linked phones do not need it.

Quickstart

Choose the transport that matches your account:

Transport Connect with Use it for
Linked phone A QR code or phone pairing code Named sessions, phone conversations, participating groups, and native events
Meta Cloud API An existing WhatsApp Business Platform account Official business messaging, approved templates, attachments, and webhook events

Examples use the default namespace. Add --namespace your_namespace when the worker runs elsewhere. Replace the example recipient with a phone you control before sending.

Linked phone

Create a session named support, start it, and link your phone. In ADE, open WhatsApp → Linked phone → Connection and scan the QR code from WhatsApp's Linked devices screen. Without ADE, follow the pairing function walkthrough.

Once the session reports connected, send a text message:

iii trigger whatsapp::messages::send_text --json '{
  "session_id": "support",
  "chat_id": "+15551234567",
  "text": "Hello from iii."
}'

Example result, with an illustrative message ID:

{
  "chat_id": "15551234567@s.whatsapp.net",
  "message_id": "3EB0EXAMPLE",
  "recipient_fanout": null
}

Stopping a session preserves its credentials. Starting the worker does not automatically connect saved sessions. Native group operations require a connected session.

Meta Cloud API

Configure your business account and webhook using the Cloud setup guide. Send a message from your test phone to the business number to open the customer service window, then reply through the official transport:

iii trigger whatsapp::cloud::messages::send_text --json '{
  "chat_id": "+15551234567",
  "text": "Hello from iii Cloud API."
}'

Example result, with an illustrative message ID:

{
  "chat_id": "+15551234567",
  "message_id": "wamid.example",
  "status": "accepted",
  "message_status": null
}

accepted means Meta accepted the request. Delivery and read status arrive later through webhooks. Outside the customer service window, explicitly choose an approved template. Sends are attempted once; a timeout can leave the outcome unknown, so inspect the conversation before sending again.

Configuration

Edit WhatsApp → Configure worker in ADE, or edit the worker's entry in the configuration service. The default entry ID is whatsapp; III_CONFIG_NAME selects a different one. Persisted entries use the configuration service's storage adapter, normally data/configuration/.yaml. In normal mode, the worker does not maintain a separate live configuration file.

Configure storage first

Add a dedicated connection named whatsapp to the database worker's existing databases map. Keep unrelated entries intact:

databases:
  whatsapp:
    url: sqlite:./data/whatsapp.db  # Path on the database worker's host
    pool:
      max: 1                     # Required by the WhatsApp storage adapter

The adapter requires SQLite 3.41 or later; PostgreSQL and MySQL are not supported. Ensure the parent directory exists and restrict access to the database: it contains linked-device keys and message archives. Restart WhatsApp after the database becomes available. Follow the storage and migration guide for deployment permissions, backups, and existing data.

Set these fields on the WhatsApp worker:

database:
  name: whatsapp                 # Connection in the database worker
  namespace: ''                  # Empty uses the WhatsApp namespace
data_dir: data/whatsapp-go        # Private session metadata directory
max_inbox_messages: 10000         # Retained messages per archive
max_media_bytes: 16777216         # 16 MiB worker transfer limit
operation_timeout_secs: 30        # Deadline for subsequent operations
cloud:
  enabled: false                 # Linked phones need no Meta credentials

Native keys and both transports' archives persist through the database worker. Give each WhatsApp process a distinct data_dir and configuration identity; keep that identity and its namespace stable across upgrades. Limits and timeouts apply live; database, data_dir, and max_events require a restart. Invalid reloads keep the last valid settings; whatsapp::config-status reports the outcome and pending restart fields. Changing the database target does not migrate existing data.

Other fields and defaults are documented in the configuration schema.

Configure Meta credentials

Under Meta Cloud API, enable the integration and enter the WhatsApp Business Account (WABA) ID, Phone Number ID, access token, app secret, and a verify token you choose. The verify token must match Meta's webhook settings. Phone Number ID is a Meta identifier, not the phone's digits.

You can supply these fields through the WhatsApp process environment instead:

WHATSAPP_CLOUD_ENABLED=true
WHATSAPP_CLOUD_BUSINESS_ACCOUNT_ID=123456789012345
WHATSAPP_CLOUD_PHONE_NUMBER_ID=123456789012346
WHATSAPP_CLOUD_ACCESS_TOKEN=your_access_token_here
WHATSAPP_META_APP_SECRET=your_app_secret_here
WHATSAPP_WEBHOOK_VERIFY_TOKEN=your_webhook_verify_token_here

Set actual credentials in your deployment environment or a private, uncommitted env_file. Defined variables override saved fields at runtime, including explicit empty values; values are never written back. Restart after changing the process environment. ADE shows overridden fields without revealing their values. See environment configuration for precedence, Graph API version, and central environment references.

Official Meta Cloud API

Use Meta Cloud API in ADE to check the connection, test text or templates, send attachments, and inspect the local Cloud archive. Configure a public HTTPS callback and subscribe the Meta app to the WABA and messages field. Local readiness does not prove remote authentication or webhook reachability.

For development, Webhook setup → Start development tunnel creates a callback URL through quick-tunnel. Enable the HTTP worker's restricted webhook listener, install cloudflared on the tunnel worker's host, and point its webhooks target at that listener. Copy the URL into Meta with the matching verify token; starting a tunnel does not register it with Meta. Temporary URLs can change after a tunnel restart. See the webhook walkthrough.

Upload and send documents

Upload with whatsapp::cloud::media::upload_document, then reuse the returned media_id with whatsapp::cloud::messages::send_document. Markdown (.md or text/markdown) is rejected; explicitly choose a supported TXT or PDF file. The worker does not rename or convert it. Follow the document upload and send examples.

See Cloud API coverage and contracts for media, interactive messages, account management, Flows, and eligible group, calling, and commerce operations. Meta controls account eligibility and permissions. Cloud groups use their own IDs and functions, separate from native linked-phone groups.

Custom trigger types

Bind a registered callback function to the transport you want to monitor:

Trigger type Fires when Callback context
whatsapp::events Native session events, filtered by session_id and kinds session_id, sequence, kind, timestamp_ms, and data
whatsapp::cloud::events Verified Cloud webhook events after persistence, filtered by contact, group, type, status, or account kind, account IDs, timestamp_ms, and event-specific fields

Native event polling can reconcile a bounded in-memory event history. Read the native event contract before registering a callback.

Filtered Cloud webhook events

Cloud subscriptions receive incoming messages by default. Delivery receipts and administrative events require explicit opt-in. Filters combine with AND; values within a list combine with OR. Read the registration walkthrough and complete filters and payloads.

Callbacks are best effort and are not retried automatically. Cloud deduplication is persistent, but notifications can still be lost; reconcile through the Cloud chats and messages archive. Callback return values do not send replies.

Limits and differences from OpenWA

Use this worker's typed functions and inspect their contracts with iii worker info whatsapp. It is not an HTTP-compatible OpenWA deployment. The native API boundaries list unsupported operations and nullable metadata.

Archives contain captured messages, not a complete remote history. Media transfers use bounded bytes; arbitrary host paths and download URLs are not accepted. The worker does not transcode files, host call audio, or settle payments. Native protocol support depends on the unofficial whatsmeow client; Cloud support depends on Meta's account permissions and feature availability.

Migration notes

Rust credentials are incompatible with whatsmeow. Use a fresh data/whatsapp-go directory and explicitly pair a new session; keep the old data for the Rust worker. Existing Go SQLite stores require an explicit migration to the database worker. Follow the storage migration guide before upgrading an existing account.

Further documentation

Find task-specific details in these guides:

License

Apache-2.0. See the repository license.

Skills

API reference (JSON)

agent-api-reference.json
{
  "functions": [
    {
      "description": "",
      "metadata": {
        "description": "Request rejection using the call ID, peer and creator from an incoming call event"
      },
      "name": "whatsapp::calls::reject",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "call_creator": {
            "type": "string"
          },
          "call_id": {
            "type": "string"
          },
          "peer": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "call_creator",
          "call_id",
          "peer",
          "session_id"
        ],
        "title": "CallRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "requested": {
            "description": "The signaling stanza was sent; no remote acknowledgement is provided.",
            "type": "boolean"
          }
        },
        "required": [
          "requested"
        ],
        "title": "CallResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Archive a chat with an optional synchronized message range."
      },
      "name": "whatsapp::chats::archive",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          },
          "MessageRange": {
            "additionalProperties": false,
            "properties": {
              "last_message_timestamp_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_system_message_timestamp_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "messages": {
                "items": {
                  "$ref": "#/definitions/RangeMessage"
                },
                "type": "array"
              }
            },
            "required": [
              "last_message_timestamp_ms"
            ],
            "type": "object"
          },
          "RangeMessage": {
            "additionalProperties": false,
            "properties": {
              "key": {
                "$ref": "#/definitions/MessageKeyInput"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "key",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_range": {
            "anyOf": [
              {
                "$ref": "#/definitions/MessageRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "RangeRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Clear messages while keeping the chat, with explicit starred/media flags."
      },
      "name": "whatsapp::chats::clear",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          },
          "MessageRange": {
            "additionalProperties": false,
            "properties": {
              "last_message_timestamp_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_system_message_timestamp_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "messages": {
                "items": {
                  "$ref": "#/definitions/RangeMessage"
                },
                "type": "array"
              }
            },
            "required": [
              "last_message_timestamp_ms"
            ],
            "type": "object"
          },
          "RangeMessage": {
            "additionalProperties": false,
            "properties": {
              "key": {
                "$ref": "#/definitions/MessageKeyInput"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "key",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "delete_media": {
            "type": "boolean"
          },
          "delete_starred": {
            "type": "boolean"
          },
          "message_range": {
            "anyOf": [
              {
                "$ref": "#/definitions/MessageRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "delete_media",
          "delete_starred",
          "session_id"
        ],
        "title": "ClearChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete a chat on this account's linked devices."
      },
      "name": "whatsapp::chats::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          },
          "MessageRange": {
            "additionalProperties": false,
            "properties": {
              "last_message_timestamp_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_system_message_timestamp_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "messages": {
                "items": {
                  "$ref": "#/definitions/RangeMessage"
                },
                "type": "array"
              }
            },
            "required": [
              "last_message_timestamp_ms"
            ],
            "type": "object"
          },
          "RangeMessage": {
            "additionalProperties": false,
            "properties": {
              "key": {
                "$ref": "#/definitions/MessageKeyInput"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "key",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "delete_media": {
            "type": "boolean"
          },
          "message_range": {
            "anyOf": [
              {
                "$ref": "#/definitions/MessageRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "delete_media",
          "session_id"
        ],
        "title": "DeleteChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List locally captured conversations and received history; never marks chats read"
      },
      "name": "whatsapp::chats::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "default": 100,
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "query": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "ChatsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ChatView": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "is_group": {
                "type": "boolean"
              },
              "last_message": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/MessageView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "message_count": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "title": {
                "type": "string"
              }
            },
            "required": [
              "chat_id",
              "is_group",
              "message_count",
              "title"
            ],
            "type": "object"
          },
          "Coverage": {
            "properties": {
              "capture_started_at_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_history_sync_at_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "last_history_sync_progress": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "message_limit": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "retention_truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "capture_started_at_ms",
              "message_limit",
              "retention_truncated"
            ],
            "type": "object"
          },
          "MessageView": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "kind": {
                "type": "string"
              },
              "message_id": {
                "type": "string"
              },
              "sender_id": {
                "type": "string"
              },
              "sender_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source": {
                "type": "string"
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "text": {
                "type": "string"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "kind",
              "message_id",
              "sender_id",
              "source",
              "text",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chats": {
            "items": {
              "$ref": "#/definitions/ChatView"
            },
            "type": "array"
          },
          "coverage": {
            "$ref": "#/definitions/Coverage"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "chats",
          "coverage"
        ],
        "title": "ChatPage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Move a chat into the locked chats folder."
      },
      "name": "whatsapp::chats::lock",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set the chat's read/unread state across linked devices."
      },
      "name": "whatsapp::chats::mark_read",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          },
          "MessageRange": {
            "additionalProperties": false,
            "properties": {
              "last_message_timestamp_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_system_message_timestamp_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "messages": {
                "items": {
                  "$ref": "#/definitions/RangeMessage"
                },
                "type": "array"
              }
            },
            "required": [
              "last_message_timestamp_ms"
            ],
            "type": "object"
          },
          "RangeMessage": {
            "additionalProperties": false,
            "properties": {
              "key": {
                "$ref": "#/definitions/MessageKeyInput"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "key",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_range": {
            "anyOf": [
              {
                "$ref": "#/definitions/MessageRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "read": {
            "type": "boolean"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "read",
          "session_id"
        ],
        "title": "ReadChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Mute a chat until a future timestamp or indefinitely when omitted."
      },
      "name": "whatsapp::chats::mute",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "until_timestamp_ms": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "MuteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Pin a chat across linked devices."
      },
      "name": "whatsapp::chats::pin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set this account's available or unavailable presence."
      },
      "name": "whatsapp::chats::presence",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "Presence": {
            "enum": [
              "available",
              "unavailable"
            ],
            "type": "string"
          }
        },
        "properties": {
          "presence": {
            "$ref": "#/definitions/Presence"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "presence",
          "session_id"
        ],
        "title": "PresenceRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a typing, recording or paused indicator."
      },
      "name": "whatsapp::chats::state",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "ChatState": {
            "enum": [
              "composing",
              "recording",
              "paused"
            ],
            "type": "string"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "state": {
            "$ref": "#/definitions/ChatState"
          }
        },
        "required": [
          "chat_id",
          "session_id",
          "state"
        ],
        "title": "ChatStateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Subscribe to presence updates for a person."
      },
      "name": "whatsapp::chats::subscribe_presence",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unarchive a chat with an optional synchronized message range."
      },
      "name": "whatsapp::chats::unarchive",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          },
          "MessageRange": {
            "additionalProperties": false,
            "properties": {
              "last_message_timestamp_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_system_message_timestamp_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "messages": {
                "items": {
                  "$ref": "#/definitions/RangeMessage"
                },
                "type": "array"
              }
            },
            "required": [
              "last_message_timestamp_ms"
            ],
            "type": "object"
          },
          "RangeMessage": {
            "additionalProperties": false,
            "properties": {
              "key": {
                "$ref": "#/definitions/MessageKeyInput"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "key",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_range": {
            "anyOf": [
              {
                "$ref": "#/definitions/MessageRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "RangeRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove a chat from the locked chats folder."
      },
      "name": "whatsapp::chats::unlock",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unmute a chat across linked devices."
      },
      "name": "whatsapp::chats::unmute",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unpin a chat across linked devices."
      },
      "name": "whatsapp::chats::unpin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "ChatRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read aggregate WABA analytics with validated field/time/granularity. UTC Unix seconds; messaging uses DAY/MONTH, other datasets DAILY/MONTHLY. Template/group datasets require IDs and DAILY. Dataset eligibility and lookback rules apply; see docs/cloud-management.md. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::analytics::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "end": {
            "maximum": 253402300799,
            "minimum": 1,
            "type": "integer"
          },
          "field": {
            "enum": [
              "analytics",
              "conversation_analytics",
              "pricing_analytics",
              "template_analytics",
              "template_group_analytics",
              "call_analytics",
              "group_analytics"
            ],
            "type": "string"
          },
          "granularity": {
            "enum": [
              "HALF_HOUR",
              "DAY",
              "MONTH",
              "DAILY",
              "MONTHLY"
            ],
            "type": "string"
          },
          "group_ids": {
            "items": {
              "maxLength": 128,
              "minLength": 1,
              "pattern": "^[A-Za-z0-9_-]+$",
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "metric_types": {
            "items": {
              "maxLength": 40,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "start": {
            "maximum": 253402300799,
            "minimum": 1,
            "type": "integer"
          },
          "template_group_ids": {
            "items": {
              "maxLength": 128,
              "minLength": 1,
              "pattern": "^[0-9]+$",
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "template_ids": {
            "items": {
              "maxLength": 128,
              "minLength": 1,
              "pattern": "^[0-9]+$",
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "field",
          "start",
          "end",
          "granularity"
        ],
        "title": "CloudManagement_analytics_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "data": {
            "$ref": "#/definitions/CloudManagementJSON"
          },
          "field": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "field",
          "data"
        ],
        "title": "CloudManagement_analytics_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Block up to 1000 phone-number users who contacted the business in the last 24h. Business accounts cannot be blocked. A bulk error may include partial success; reconcile with blocking::list before retrying. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::blocking::block",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "users": {
            "items": {
              "maxLength": 16,
              "minLength": 6,
              "pattern": "^\\+?[1-9][0-9]{5,14}$",
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "users"
        ],
        "title": "CloudManagement_blocking_block_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "block_users": {
            "additionalProperties": {
              "$ref": "#/definitions/CloudManagementJSON"
            },
            "maxProperties": 128,
            "type": "object"
          }
        },
        "required": [
          "block_users"
        ],
        "title": "CloudManagement_blocking_block_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List blocked Cloud users. This is separate from native linked-device blocklists. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::blocking::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "after": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string"
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "title": "CloudManagement_blocking_list_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "input": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "user_id": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "wa_id": {
                  "maxLength": 8192,
                  "type": "string"
                }
              },
              "required": [],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "items",
          "next_cursor"
        ],
        "title": "CloudManagement_blocking_list_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unblock up to 1000 phone-number users. A bulk error may include partial success; reconcile with blocking::list before retrying. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::blocking::unblock",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "users": {
            "items": {
              "maxLength": 16,
              "minLength": 6,
              "pattern": "^\\+?[1-9][0-9]{5,14}$",
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [
          "users"
        ],
        "title": "CloudManagement_blocking_unblock_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "block_users": {
            "additionalProperties": {
              "$ref": "#/definitions/CloudManagementJSON"
            },
            "maxProperties": 128,
            "type": "object"
          }
        },
        "required": [
          "block_users"
        ],
        "title": "CloudManagement_blocking_unblock_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Accept an incoming Cloud call; supply the externally generated SDP answer. Accept may omit session after pre-accept."
      },
      "name": "whatsapp::cloud::calls::accept",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "biz_opaque_callback_data": {
            "maxLength": 512,
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "session": {
            "additionalProperties": false,
            "properties": {
              "sdp": {
                "maxLength": 65536,
                "minLength": 5,
                "type": "string"
              },
              "sdp_type": {
                "enum": [
                  "answer"
                ],
                "type": "string"
              }
            },
            "required": [
              "sdp_type",
              "sdp"
            ],
            "type": "object"
          }
        },
        "required": [
          "call_id"
        ],
        "title": "CloudCallAcceptRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "status": {
            "enum": [
              "accepted"
            ],
            "type": "string"
          }
        },
        "required": [
          "call_id",
          "action",
          "status"
        ],
        "title": "CloudCallResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Initiate an official Cloud call with an externally generated SDP offer. User calling permission and Meta eligibility are required. No automatic retry."
      },
      "name": "whatsapp::cloud::calls::connect",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "biz_opaque_callback_data": {
            "maxLength": 512,
            "type": "string"
          },
          "chat_id": {
            "type": "string"
          },
          "session": {
            "additionalProperties": false,
            "properties": {
              "sdp": {
                "maxLength": 65536,
                "minLength": 5,
                "type": "string"
              },
              "sdp_type": {
                "enum": [
                  "offer"
                ],
                "type": "string"
              }
            },
            "required": [
              "sdp_type",
              "sdp"
            ],
            "type": "object"
          }
        },
        "required": [
          "chat_id",
          "session"
        ],
        "title": "CloudCallConnectRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "status": {
            "enum": [
              "accepted"
            ],
            "type": "string"
          }
        },
        "required": [
          "call_id",
          "action",
          "status"
        ],
        "title": "CloudCallResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read current calling permission and applicable limits for a phone recipient or BSUID."
      },
      "name": "whatsapp::cloud::calls::permissions::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id"
        ],
        "title": "CloudCallPermissionsGetRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta settings or permission data; SIP credentials are excluded.",
        "title": "CloudCallSettingsResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send an interactive calling-permission request during an open customer-service window. The user chooses whether to grant permission."
      },
      "name": "whatsapp::cloud::calls::permissions::request",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          }
        },
        "required": [
          "chat_id"
        ],
        "title": "CloudCallPermissionsRequestRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Pre Accept an incoming Cloud call; supply the externally generated SDP answer. Accept may omit session after pre-accept."
      },
      "name": "whatsapp::cloud::calls::pre_accept",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "biz_opaque_callback_data": {
            "maxLength": 512,
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "session": {
            "additionalProperties": false,
            "properties": {
              "sdp": {
                "maxLength": 65536,
                "minLength": 5,
                "type": "string"
              },
              "sdp_type": {
                "enum": [
                  "answer"
                ],
                "type": "string"
              }
            },
            "required": [
              "sdp_type",
              "sdp"
            ],
            "type": "object"
          }
        },
        "required": [
          "call_id",
          "session"
        ],
        "title": "CloudCallPre_AcceptRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "status": {
            "enum": [
              "accepted"
            ],
            "type": "string"
          }
        },
        "required": [
          "call_id",
          "action",
          "status"
        ],
        "title": "CloudCallResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Reject an official Cloud call. API acceptance does not confirm remote completion; observe call webhooks."
      },
      "name": "whatsapp::cloud::calls::reject",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          }
        },
        "required": [
          "call_id"
        ],
        "title": "CloudCallRejectRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "status": {
            "enum": [
              "accepted"
            ],
            "type": "string"
          }
        },
        "required": [
          "call_id",
          "action",
          "status"
        ],
        "title": "CloudCallResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read Calling API settings for the configured Cloud phone without retrieving SIP passwords."
      },
      "name": "whatsapp::cloud::calls::settings::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "title": "CloudCallSettingsGetRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta settings or permission data; SIP credentials are excluded.",
        "title": "CloudCallSettingsResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update Calling API settings for the configured phone, including hours, SIP routing, codecs and voicemail. Does not create a SIP/WebRTC media server."
      },
      "name": "whatsapp::cloud::calls::settings::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "calling": {
            "additionalProperties": false,
            "minProperties": 1,
            "properties": {
              "audio": {
                "additionalProperties": false,
                "properties": {
                  "additional_codecs": {
                    "items": {
                      "enum": [
                        "PCMA",
                        "PCMU"
                      ],
                      "type": "string"
                    },
                    "maxItems": 2,
                    "type": "array"
                  }
                },
                "required": [
                  "additional_codecs"
                ],
                "type": "object"
              },
              "call_hours": {
                "additionalProperties": false,
                "properties": {
                  "holiday_schedule": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "date": {
                          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
                          "type": "string"
                        },
                        "end_time": {
                          "pattern": "^(?:[01][0-9]|2[0-3])[0-5][0-9]$",
                          "type": "string"
                        },
                        "start_time": {
                          "pattern": "^(?:[01][0-9]|2[0-3])[0-5][0-9]$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "date",
                        "start_time",
                        "end_time"
                      ],
                      "type": "object"
                    },
                    "maxItems": 20,
                    "type": "array"
                  },
                  "status": {
                    "enum": [
                      "ENABLED",
                      "DISABLED"
                    ],
                    "type": "string"
                  },
                  "timezone_id": {
                    "type": "string"
                  },
                  "weekly_operating_hours": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "close_time": {
                          "pattern": "^(?:[01][0-9]|2[0-3])[0-5][0-9]$",
                          "type": "string"
                        },
                        "day_of_week": {
                          "enum": [
                            "MONDAY",
                            "TUESDAY",
                            "WEDNESDAY",
                            "THURSDAY",
                            "FRIDAY",
                            "SATURDAY",
                            "SUNDAY"
                          ],
                          "type": "string"
                        },
                        "open_time": {
                          "pattern": "^(?:[01][0-9]|2[0-3])[0-5][0-9]$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "day_of_week",
                        "open_time",
                        "close_time"
                      ],
                      "type": "object"
                    },
                    "maxItems": 14,
                    "type": "array"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              },
              "call_icon_visibility": {
                "enum": [
                  "DEFAULT",
                  "DISABLE_ALL"
                ],
                "type": "string"
              },
              "call_icons": {
                "additionalProperties": false,
                "properties": {
                  "restrict_to_user_countries": {
                    "items": {
                      "pattern": "^[A-Z]{2}$",
                      "type": "string"
                    },
                    "maxItems": 250,
                    "type": "array"
                  }
                },
                "required": [
                  "restrict_to_user_countries"
                ],
                "type": "object"
              },
              "callback_permission_status": {
                "enum": [
                  "ENABLED",
                  "DISABLED"
                ],
                "type": "string"
              },
              "sip": {
                "additionalProperties": false,
                "properties": {
                  "servers": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "hostname": {
                          "maxLength": 253,
                          "type": "string"
                        },
                        "port": {
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        },
                        "request_uri_user_params": {
                          "additionalProperties": {
                            "maxLength": 128,
                            "type": "string"
                          },
                          "maxProperties": 32,
                          "type": "object"
                        }
                      },
                      "required": [
                        "hostname"
                      ],
                      "type": "object"
                    },
                    "maxItems": 1,
                    "type": "array"
                  },
                  "status": {
                    "enum": [
                      "ENABLED",
                      "DISABLED"
                    ],
                    "type": "string"
                  }
                },
                "required": [],
                "type": "object"
              },
              "status": {
                "enum": [
                  "ENABLED",
                  "DISABLED"
                ],
                "type": "string"
              },
              "voicemail": {
                "additionalProperties": false,
                "properties": {
                  "audio": {
                    "additionalProperties": false,
                    "properties": {
                      "default": {
                        "additionalProperties": false,
                        "properties": {
                          "announcement_media_id": {
                            "description": "Numeric Meta media ID as a string to preserve precision; encoded as an integer in the Meta request.",
                            "pattern": "^[0-9]{1,128}$",
                            "type": "string"
                          },
                          "timeout_seconds": {
                            "maximum": 30,
                            "minimum": 0,
                            "type": "integer"
                          }
                        },
                        "required": [
                          "announcement_media_id"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "default"
                    ],
                    "type": "object"
                  },
                  "status": {
                    "enum": [
                      "ENABLED",
                      "DISABLED"
                    ],
                    "type": "string"
                  },
                  "triggers": {
                    "items": {
                      "enum": [
                        "REJECT",
                        "TIMEOUT"
                      ],
                      "type": "string"
                    },
                    "maxItems": 2,
                    "type": "array"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              }
            },
            "required": [],
            "type": "object"
          }
        },
        "required": [
          "calling"
        ],
        "title": "CloudCallSettingsUpdateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta settings or permission data; SIP credentials are excluded.",
        "title": "CloudCallSettingsResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Terminate an official Cloud call. API acceptance does not confirm remote completion; observe call webhooks."
      },
      "name": "whatsapp::cloud::calls::terminate",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          }
        },
        "required": [
          "call_id"
        ],
        "title": "CloudCallTerminateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "call_id": {
            "maxLength": 1024,
            "pattern": "^wacid\\.[A-Za-z0-9_+/=-]+$",
            "type": "string"
          },
          "status": {
            "enum": [
              "accepted"
            ],
            "type": "string"
          }
        },
        "required": [
          "call_id",
          "action",
          "status"
        ],
        "title": "CloudCallResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List retained Cloud API conversations without reading native sessions or sending read receipts"
      },
      "name": "whatsapp::cloud::chats::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "default": 100,
            "format": "uint",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "ChatsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ChatView": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "is_group": {
                "type": "boolean"
              },
              "last_message": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/MessageView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "message_count": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "title": {
                "type": "string"
              }
            },
            "required": [
              "chat_id",
              "is_group",
              "message_count",
              "title"
            ],
            "type": "object"
          },
          "Coverage": {
            "properties": {
              "capture_started_at_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_history_sync_at_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "last_history_sync_progress": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "message_limit": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "retention_truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "capture_started_at_ms",
              "message_limit",
              "retention_truncated"
            ],
            "type": "object"
          },
          "MessageView": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "kind": {
                "type": "string"
              },
              "message_id": {
                "type": "string"
              },
              "sender_id": {
                "type": "string"
              },
              "sender_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source": {
                "type": "string"
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "text": {
                "type": "string"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "kind",
              "message_id",
              "sender_id",
              "source",
              "text",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chats": {
            "items": {
              "$ref": "#/definitions/ChatView"
            },
            "type": "array"
          },
          "coverage": {
            "$ref": "#/definitions/Coverage"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "chats",
          "coverage"
        ],
        "title": "ChatPage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Check configured phone, business account membership and webhook subscriptions using read-only Meta requests"
      },
      "name": "whatsapp::cloud::check_connection",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "title": "Empty",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Phone": {
            "properties": {
              "code_verification_status": {
                "default": null,
                "type": [
                  "string",
                  "null"
                ]
              },
              "display_phone_number": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "quality_rating": {
                "default": null,
                "type": [
                  "string",
                  "null"
                ]
              },
              "verified_name": {
                "type": "string"
              }
            },
            "required": [
              "display_phone_number",
              "id",
              "verified_name"
            ],
            "type": "object"
          },
          "SubscribedApp": {
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          }
        },
        "properties": {
          "phone": {
            "$ref": "#/definitions/Phone"
          },
          "phone_in_business_account": {
            "type": "boolean"
          },
          "subscribed_apps": {
            "items": {
              "$ref": "#/definitions/SubscribedApp"
            },
            "type": "array"
          }
        },
        "required": [
          "phone",
          "phone_in_business_account",
          "subscribed_apps"
        ],
        "title": "ConnectionCheck",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read cart/catalog visibility on the configured phone. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::commerce::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {},
        "required": [],
        "title": "CloudManagement_commerce_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "settings": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[0-9]+$",
                "type": "string"
              },
              "is_cart_enabled": {
                "type": "boolean"
              },
              "is_catalog_visible": {
                "type": "boolean"
              }
            },
            "required": [],
            "type": "object"
          }
        },
        "required": [
          "settings"
        ],
        "title": "CloudManagement_commerce_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Enable/disable cart or catalog visibility on the configured phone. Supply at least one field. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::commerce::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "minProperties": 1,
        "properties": {
          "is_cart_enabled": {
            "type": "boolean"
          },
          "is_catalog_visible": {
            "type": "boolean"
          }
        },
        "required": [],
        "title": "CloudManagement_commerce_update_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_commerce_update_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read configured icebreakers and commands on the business phone. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::conversational_components::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {},
        "required": [],
        "title": "CloudManagement_conversational_components_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "settings": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "commands": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "command_description": {
                          "maxLength": 8192,
                          "type": "string"
                        },
                        "command_name": {
                          "maxLength": 8192,
                          "type": "string"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "maxItems": 1000,
                    "type": "array"
                  },
                  "prompts": {
                    "items": {
                      "maxLength": 8192,
                      "type": "string"
                    },
                    "maxItems": 1000,
                    "type": "array"
                  }
                },
                "required": [],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "settings"
        ],
        "title": "CloudManagement_conversational_components_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update supplied icebreakers/commands. Empty arrays clear that component. Up to four prompts (80 chars) and 30 commands (32-char name, 256-char hint); emojis are not supported. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::conversational_components::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "minProperties": 1,
        "properties": {
          "commands": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "command_description": {
                  "maxLength": 256,
                  "minLength": 1,
                  "type": "string"
                },
                "command_name": {
                  "maxLength": 32,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9_]+$",
                  "type": "string"
                }
              },
              "required": [
                "command_name",
                "command_description"
              ],
              "type": "object"
            },
            "maxItems": 30,
            "minItems": 0,
            "type": "array",
            "uniqueItems": true
          },
          "prompts": {
            "items": {
              "maxLength": 80,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 4,
            "minItems": 0,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [],
        "title": "CloudManagement_conversational_components_update_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_conversational_components_update_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Download the configured-account Flow JSON through a checked Meta origin; no redirects or retries."
      },
      "name": "whatsapp::cloud::flows::assets::download",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "asset_type": {
            "const": "FLOW_JSON"
          },
          "data_base64": {
            "type": "string"
          },
          "file_length": {
            "maximum": 10000000,
            "minimum": 1,
            "type": "integer"
          },
          "mimetype": {
            "const": "application/json"
          },
          "name": {
            "const": "flow.json"
          }
        },
        "required": [
          "name",
          "asset_type",
          "mimetype",
          "file_length",
          "data_base64"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List Flow asset names/types. Use assets::download to retrieve JSON bytes."
      },
      "name": "whatsapp::cloud::flows::assets::list",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Upload flow.json as application/json multipart. Bytes only; no host paths or caller URLs. Maximum min(max_media_bytes, 10000000) bytes."
      },
      "name": "whatsapp::cloud::flows::assets::upload",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "data_base64": {
            "maxLength": 13333336,
            "minLength": 1,
            "type": "string"
          },
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id",
          "data_base64"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create or clone a Flow in the configured WABA. Publishing requires an explicit publish=true. Flow JSON is bounded by max_media_bytes and 10 MB."
      },
      "name": "whatsapp::cloud::flows::create",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "categories": {
            "items": {
              "enum": [
                "SIGN_UP",
                "SIGN_IN",
                "APPOINTMENT_BOOKING",
                "LEAD_GENERATION",
                "CONTACT_US",
                "CUSTOMER_SUPPORT",
                "SURVEY",
                "OTHER"
              ]
            },
            "maxItems": 8,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "clone_flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "endpoint_uri": {
            "maxLength": 2048,
            "type": "string"
          },
          "flow_json": {
            "additionalProperties": true,
            "type": "object"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "publish": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "categories"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": true,
        "properties": {
          "categories": {
            "items": {
              "description": "Category",
              "maxLength": 128,
              "type": "string"
            },
            "type": "array"
          },
          "data_api_version": {
            "description": "Flow data API version",
            "maxLength": 128,
            "type": "string"
          },
          "endpoint_uri": {
            "description": "Data exchange endpoint URL",
            "maxLength": 2048,
            "type": "string"
          },
          "id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "json_version": {
            "description": "Flow JSON version",
            "maxLength": 128,
            "type": "string"
          },
          "name": {
            "description": "Flow name",
            "maxLength": 256,
            "type": "string"
          },
          "preview": {
            "additionalProperties": true,
            "type": "object"
          },
          "status": {
            "description": "Meta Flow lifecycle status",
            "maxLength": 128,
            "type": "string"
          },
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "whatsapp_business_account": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete a draft Flow; published Flows must be deprecated."
      },
      "name": "whatsapp::cloud::flows::delete",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Deprecate a published Flow. This cannot be undone."
      },
      "name": "whatsapp::cloud::flows::deprecate",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Get the configured phone public encryption key and Meta signature status."
      },
      "name": "whatsapp::cloud::flows::encryption::get",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "business_public_key": {
            "type": "string"
          },
          "business_public_key_signature_status": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set the configured phone RSA-2048 public key. Omit public_key to derive it from the configured private key. Private key is never returned."
      },
      "name": "whatsapp::cloud::flows::encryption::set",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "public_key": {
            "maxLength": 16384,
            "type": "string"
          }
        },
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::cloud::flows::endpoint",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "properties": {
              "headers": {
                "anyOf": [
                  {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "request_body": {
                "anyOf": [
                  {
                    "properties": {
                      "access_key": {
                        "type": "string"
                      },
                      "channel_id": {
                        "type": "string"
                      },
                      "direction": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": "object"
          },
          {
            "type": "null"
          }
        ]
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "body": {
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "status_code": {
            "type": "integer"
          }
        },
        "required": [
          "status_code",
          "headers",
          "body"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read local encrypted Flow endpoint readiness and callback path. Does not contact Meta."
      },
      "name": "whatsapp::cloud::flows::endpoint::status",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "configured": {
            "type": "boolean"
          },
          "handler_function": {
            "type": "string"
          },
          "handler_namespace": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "private_key_set": {
            "type": "boolean"
          }
        },
        "required": [
          "path",
          "configured",
          "private_key_set",
          "handler_function",
          "handler_namespace"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read Flow details after verifying configured WABA ownership."
      },
      "name": "whatsapp::cloud::flows::get",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": true,
        "properties": {
          "categories": {
            "items": {
              "description": "Category",
              "maxLength": 128,
              "type": "string"
            },
            "type": "array"
          },
          "data_api_version": {
            "description": "Flow data API version",
            "maxLength": 128,
            "type": "string"
          },
          "endpoint_uri": {
            "description": "Data exchange endpoint URL",
            "maxLength": 2048,
            "type": "string"
          },
          "id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "json_version": {
            "description": "Flow JSON version",
            "maxLength": 128,
            "type": "string"
          },
          "name": {
            "description": "Flow name",
            "maxLength": 256,
            "type": "string"
          },
          "preview": {
            "additionalProperties": true,
            "type": "object"
          },
          "status": {
            "description": "Meta Flow lifecycle status",
            "maxLength": 128,
            "type": "string"
          },
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "whatsapp_business_account": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List Flows in the configured WABA with safe cursor pagination."
      },
      "name": "whatsapp::cloud::flows::list",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "after": {
            "maxLength": 2048,
            "type": "string"
          },
          "limit": {
            "default": 50,
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Get the Flow preview URL without invalidating existing previews."
      },
      "name": "whatsapp::cloud::flows::preview",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "preview": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "preview"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Publish a valid Flow. Publishing is irreversible; verify the draft before invoking."
      },
      "name": "whatsapp::cloud::flows::publish",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "flow_id"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update draft Flow metadata. Published Flows cannot be edited."
      },
      "name": "whatsapp::cloud::flows::update",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "categories": {
            "items": {
              "enum": [
                "SIGN_UP",
                "SIGN_IN",
                "APPOINTMENT_BOOKING",
                "LEAD_GENERATION",
                "CONTACT_US",
                "CUSTOMER_SUPPORT",
                "SURVEY",
                "OTHER"
              ]
            },
            "maxItems": 8,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "endpoint_uri": {
            "maxLength": 2048,
            "type": "string"
          },
          "flow_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "flow_id",
          "name"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "description": "Meta operation result. False with validation_errors requires correcting the Flow JSON before publishing.",
            "type": "boolean"
          },
          "validation_errors": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create an invite-only Cloud group; completion and invite link arrive in group_lifecycle_update. Requires an Official Business Account."
      },
      "name": "whatsapp::cloud::groups::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "description": {
            "maxLength": 2048,
            "type": "string"
          },
          "join_approval_mode": {
            "enum": [
              "auto_approve",
              "approval_required"
            ],
            "type": "string"
          },
          "subject": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "subject"
        ],
        "title": "CloudGroupCreateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete an owned Cloud group and remove all participants; asynchronous completion is reported by webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::groups::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          }
        },
        "required": [
          "group_id"
        ],
        "title": "CloudGroupDeleteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read group metadata after confirming ownership under the configured phone."
      },
      "name": "whatsapp::cloud::groups::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "fields": {
            "items": {
              "enum": [
                "join_approval_mode",
                "subject",
                "description",
                "suspended",
                "creation_timestamp",
                "participants",
                "total_participant_count"
              ],
              "type": "string"
            },
            "maxItems": 7,
            "type": "array"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          }
        },
        "required": [
          "group_id"
        ],
        "title": "CloudGroupGetRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Get the current invite link for an owned Cloud group."
      },
      "name": "whatsapp::cloud::groups::invite_link::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          }
        },
        "required": [
          "group_id"
        ],
        "title": "CloudGroupInvite_LinkGetRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Reset an owned Cloud group invite link; previous invite links become invalid."
      },
      "name": "whatsapp::cloud::groups::invite_link::reset",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          }
        },
        "required": [
          "group_id"
        ],
        "title": "CloudGroupInvite_LinkResetRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Approve pending join requests for an owned Cloud group. Check per-request failures in the response."
      },
      "name": "whatsapp::cloud::groups::join_requests::approve",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "join_request_ids": {
            "items": {
              "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "group_id",
          "join_request_ids"
        ],
        "title": "CloudGroupJoin_RequestsApproveRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List pending join requests for an owned Cloud group; use the returned cursor for pagination."
      },
      "name": "whatsapp::cloud::groups::join_requests::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "string"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "group_id"
        ],
        "title": "CloudGroupJoin_RequestsListRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Reject pending join requests for an owned Cloud group. Check per-request failures in the response."
      },
      "name": "whatsapp::cloud::groups::join_requests::reject",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "join_request_ids": {
            "items": {
              "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "group_id",
          "join_request_ids"
        ],
        "title": "CloudGroupJoin_RequestsRejectRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List active groups owned by the configured Cloud phone. Requires Meta Groups API eligibility."
      },
      "name": "whatsapp::cloud::groups::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "string"
          },
          "limit": {
            "maximum": 1024,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "title": "CloudGroupListRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Pin one message in an owned official Cloud group for 1..30 days. Meta permits at most 3 simultaneous pins."
      },
      "name": "whatsapp::cloud::groups::messages::pin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "expiration_days": {
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "message_id",
          "expiration_days"
        ],
        "title": "CloudGroupMessagesPinRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send an uploaded image/audio/video/sticker/document to an owned official Cloud group. Captions only for image/video/document; file_name only for document."
      },
      "name": "whatsapp::cloud::groups::messages::send_media",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "caption": {
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "file_name": {
            "maxLength": 255,
            "type": "string"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "media_id": {
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "media_type": {
            "enum": [
              "image",
              "audio",
              "video",
              "sticker",
              "document"
            ],
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "media_type",
          "media_id"
        ],
        "title": "CloudGroupMessagesSend_MediaRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send an approved text/media template to an owned official Cloud group. Meta rejects unsupported authentication, commerce and interactive templates."
      },
      "name": "whatsapp::cloud::groups::messages::send_template",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "components": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "language": {
            "pattern": "^[A-Za-z0-9_]{1,32}$",
            "type": "string"
          },
          "name": {
            "pattern": "^[a-z0-9_]{1,512}$",
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "name",
          "language"
        ],
        "title": "CloudGroupMessagesSend_TemplateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send official Cloud group text, with optional quoted reply. API acceptance is distinct from webhook delivery."
      },
      "name": "whatsapp::cloud::groups::messages::send_text",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "preview_url": {
            "type": "boolean"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          },
          "text": {
            "maxLength": 4096,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "text"
        ],
        "title": "CloudGroupMessagesSend_TextRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unpin a message in an owned official Cloud group."
      },
      "name": "whatsapp::cloud::groups::messages::unpin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "message_id"
        ],
        "title": "CloudGroupMessagesUnpinRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove 1..8 participants from an owned Cloud group. Removed users cannot rejoin through its invite link."
      },
      "name": "whatsapp::cloud::groups::participants::remove",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "participant_ids": {
            "items": {
              "type": "string"
            },
            "maxItems": 8,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "group_id",
          "participant_ids"
        ],
        "title": "CloudGroupParticipantsRemoveRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Upload a square JPEG group photo from base64 bytes, at least 192x192 pixels, at most min(max_media_bytes, 5 MB). No host paths or URLs."
      },
      "name": "whatsapp::cloud::groups::photo::set",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "data_base64": {
            "minLength": 1,
            "type": "string"
          },
          "file_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "mimetype": {
            "enum": [
              "image/jpeg"
            ],
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "data_base64",
          "mimetype",
          "file_name"
        ],
        "title": "CloudGroupPhotoSetRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update subject or description of an owned Cloud group."
      },
      "name": "whatsapp::cloud::groups::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "description": {
            "maxLength": 2048,
            "type": "string"
          },
          "group_id": {
            "description": "Opaque official Cloud group ID, without group: prefix or native JID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "subject": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "group_id"
        ],
        "title": "CloudGroupUpdateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": true,
        "description": "Sanitized Meta acknowledgement or data. Group creation/deletion/settings completion is confirmed asynchronously via group webhooks. Paging exposes cursors without authenticated URLs.",
        "title": "CloudGroupResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read only identity-change settings from the phone settings endpoint; null means not returned by Meta. SIP and other unrelated credentials are never returned. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::identity::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {},
        "required": [],
        "title": "CloudManagement_identity_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "settings": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "enable_identity_key_check": {
                    "type": "boolean"
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "settings"
        ],
        "title": "CloudManagement_identity_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Enable/disable identity-key checks using user_identity_change.enable_identity_key_check. Sending with a recorded recipient_identity_key_hash is explicit; no automatic trust reset or resend. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::identity::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "enable_identity_key_check": {
            "type": "boolean"
          }
        },
        "required": [
          "enable_identity_key_check"
        ],
        "title": "CloudManagement_identity_update_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_identity_update_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete a phone-scoped Cloud API media asset by ID. No automatic retry is made."
      },
      "name": "whatsapp::cloud::media::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "media_id"
        ],
        "title": "CloudMediaIDRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "media_id",
          "deleted"
        ],
        "title": "CloudDeletedMedia",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Download phone-scoped Cloud API media by ID, validating trusted HTTPS Meta hosts, MIME, SHA-256 and max_media_bytes; returns base64 bytes and never follows redirects."
      },
      "name": "whatsapp::cloud::media::download",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "media_id"
        ],
        "title": "CloudMediaIDRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "data_base64": {
            "type": "string"
          },
          "file_length": {
            "minimum": 1,
            "type": "integer"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          },
          "sha256": {
            "description": "SHA-256 digest as lowercase hexadecimal.",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          }
        },
        "required": [
          "media_id",
          "mimetype",
          "file_length",
          "sha256",
          "data_base64"
        ],
        "title": "CloudDownloadedMedia",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read phone-scoped Cloud API media metadata without exposing the authenticated download URL."
      },
      "name": "whatsapp::cloud::media::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "media_id"
        ],
        "title": "CloudMediaIDRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "file_length": {
            "minimum": 1,
            "type": "integer"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          },
          "sha256": {
            "description": "SHA-256 digest as lowercase hexadecimal.",
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          }
        },
        "required": [
          "media_id",
          "mimetype",
          "file_length",
          "sha256"
        ],
        "title": "CloudMediaInfo",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Upload supported Cloud API media from base64 bytes and return a reusable media ID; validates MIME, content and byte limits without reading host paths or URLs."
      },
      "name": "whatsapp::cloud::media::upload",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "data_base64": {
            "minLength": 1,
            "type": "string"
          },
          "file_name": {
            "description": "A matching file extension, without paths or controls. Markdown is not supported.",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "media_type": {
            "enum": [
              "image",
              "audio",
              "video",
              "sticker",
              "document"
            ],
            "type": "string"
          },
          "mimetype": {
            "description": "Exact supported MIME; audio/ogg or audio/ogg; codecs=opus requires mono Opus.",
            "type": "string"
          }
        },
        "required": [
          "media_type",
          "data_base64",
          "mimetype",
          "file_name"
        ],
        "title": "CloudMediaUploadRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "file_length": {
            "minimum": 1,
            "type": "integer"
          },
          "file_name": {
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "media_type": {
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          }
        },
        "required": [
          "media_id",
          "media_type",
          "mimetype",
          "file_name",
          "file_length"
        ],
        "title": "CloudUploadedMedia",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Upload one officially supported document to Meta Cloud API from bounded base64; returns a reusable media_id. No linked session, host paths, URL fetches, conversion or automatic retries. Markdown is unsupported; explicitly choose TXT or PDF."
      },
      "name": "whatsapp::cloud::media::upload_document",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "data_base64": {
            "description": "Standard padded base64, no data URL. Decoded bytes must fit max_media_bytes (default 16 MiB; configurable to 64 MiB) and the conservative 100,000,000-byte Cloud ceiling. No automatic conversion.",
            "maxLength": 89478488,
            "minLength": 4,
            "type": "string"
          },
          "file_name": {
            "description": "Display filename with supported extension; maximum 255 UTF-8 bytes (worker policy), without paths or control characters. Markdown is not supported; choose TXT or PDF explicitly.",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "mimetype": {
            "description": "Official document MIME type: text/plain, application/pdf, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, or the corresponding Office Open XML MIME. Must match filename extension and content. text/markdown is rejected with an explicit alternative.",
            "examples": [
              "text/plain",
              "application/pdf",
              "application/vnd.ms-excel",
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
              "application/msword",
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
              "application/vnd.ms-powerpoint",
              "application/vnd.openxmlformats-officedocument.presentationml.presentation"
            ],
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "data_base64",
          "mimetype",
          "file_name"
        ],
        "title": "CloudDocumentUploadRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "file_length": {
            "description": "Number of decoded file bytes uploaded.",
            "maximum": 100000000,
            "minimum": 1,
            "type": "integer"
          },
          "file_name": {
            "description": "Display filename with supported extension; maximum 255 UTF-8 bytes (worker policy), without paths or control characters. Markdown is not supported; choose TXT or PDF explicitly.",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID from upload_document, valid for 30 days unless deleted. Reuse without uploading bytes again. Numeric IDs are strings; 128-character bound is worker policy.",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          }
        },
        "required": [
          "media_id",
          "mimetype",
          "file_name",
          "file_length"
        ],
        "title": "CloudUploadedDocument",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Upload a mono Opus voicemail announcement shorter than 60 seconds with the required Meta use_case. This media is exempt from standard messaging TTL and cannot be sent as an ordinary message."
      },
      "name": "whatsapp::cloud::media::upload_voicemail_announcement",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "data_base64": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 1024,
            "type": "string"
          },
          "file_name": {
            "description": "A matching file extension, without paths or controls. Markdown is not supported.",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "mimetype": {
            "enum": [
              "audio/ogg",
              "audio/ogg; codecs=opus"
            ],
            "type": "string"
          }
        },
        "required": [
          "data_base64",
          "mimetype",
          "file_name"
        ],
        "title": "CloudVoicemailUploadRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "file_length": {
            "minimum": 1,
            "type": "integer"
          },
          "file_name": {
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "media_type": {
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          },
          "use_case": {
            "enum": [
              "call_voicemail_announcement"
            ],
            "type": "string"
          }
        },
        "required": [
          "media_id",
          "media_type",
          "mimetype",
          "file_name",
          "file_length",
          "use_case"
        ],
        "title": "CloudUploadedVoicemail",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read retained Cloud API messages; no historical Meta webhook fetch or automatic read receipt"
      },
      "name": "whatsapp::cloud::messages::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "default": 50,
            "format": "uint",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "chat_id"
        ],
        "title": "MessagesRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Coverage": {
            "properties": {
              "capture_started_at_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_history_sync_at_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "last_history_sync_progress": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "message_limit": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "retention_truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "capture_started_at_ms",
              "message_limit",
              "retention_truncated"
            ],
            "type": "object"
          },
          "MessageView": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "kind": {
                "type": "string"
              },
              "message_id": {
                "type": "string"
              },
              "sender_id": {
                "type": "string"
              },
              "sender_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source": {
                "type": "string"
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "text": {
                "type": "string"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "kind",
              "message_id",
              "sender_id",
              "source",
              "text",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "coverage": {
            "$ref": "#/definitions/Coverage"
          },
          "messages": {
            "description": "Newest first. A cursor loads older locally retained messages.",
            "items": {
              "$ref": "#/definitions/MessageView"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "coverage",
          "messages"
        ],
        "title": "MessagePage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Mark a received Cloud API message as read. Uses the original message_id from the messages webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::mark_read",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "message_id": {
            "description": "Original incoming Meta message ID, without whitespace or control characters.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message_id"
        ],
        "title": "CloudActionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudActionResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Request an address from an Indian phone recipient. Available only to businesses based in India. country must be IN. Address data capped at 8192 JSON bytes per object; at most 10 saved addresses (worker bounds). Replies arrive via messages webhook. API acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::request_address",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "enum": [
              "IN"
            ],
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "saved_addresses": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "maxLength": 256,
                  "minLength": 1,
                  "type": "string"
                },
                "value": {
                  "additionalProperties": false,
                  "properties": {
                    "address": {
                      "type": "string"
                    },
                    "building_name": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "floor_number": {
                      "type": "string"
                    },
                    "house_number": {
                      "type": "string"
                    },
                    "in_pin_code": {
                      "type": "string"
                    },
                    "landmark_area": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "phone_number": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "tower_number": {
                      "type": "string"
                    }
                  },
                  "title": "CloudAddressValues",
                  "type": "object"
                }
              },
              "required": [
                "id",
                "value"
              ],
              "title": "CloudSavedAddress",
              "type": "object"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          },
          "validation_errors": {
            "additionalProperties": false,
            "properties": {
              "address": {
                "type": "string"
              },
              "building_name": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "floor_number": {
                "type": "string"
              },
              "house_number": {
                "type": "string"
              },
              "in_pin_code": {
                "type": "string"
              },
              "landmark_area": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "phone_number": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "tower_number": {
                "type": "string"
              }
            },
            "title": "CloudAddressValues",
            "type": "object"
          },
          "values": {
            "additionalProperties": false,
            "properties": {
              "address": {
                "type": "string"
              },
              "building_name": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "floor_number": {
                "type": "string"
              },
              "house_number": {
                "type": "string"
              },
              "in_pin_code": {
                "type": "string"
              },
              "landmark_area": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "phone_number": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "tower_number": {
                "type": "string"
              }
            },
            "title": "CloudAddressValues",
            "type": "object"
          }
        },
        "required": [
          "chat_id",
          "text",
          "country"
        ],
        "title": "CloudAddressRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Ask the recipient to share their location within the customer service window. The response arrives in the existing message.received webhook trigger. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::request_location",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text"
        ],
        "title": "CloudLocationRequestMessage",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a Cloud API audio by reusable media ID, with an optional quoted reply. Returns API acceptance; delivery is confirmed separately by webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_audio",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or business-scoped user ID; native JIDs are rejected.",
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity key hash.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "media_id"
        ],
        "title": "CloudAudioMessageRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send 1..3 interactive reply buttons with unique IDs and labels within the customer service window. Optional header supports text or an uploaded media ID. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_buttons",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "buttons": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "maxLength": 256,
                  "minLength": 1,
                  "type": "string"
                },
                "title": {
                  "maxLength": 20,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "id",
                "title"
              ],
              "title": "CloudReplyButton",
              "type": "object"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array"
          },
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "header": {
            "additionalProperties": false,
            "properties": {
              "media_id": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[0-9]+$",
                "type": "string"
              },
              "text": {
                "maxLength": 60,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "enum": [
                  "text",
                  "image",
                  "video",
                  "document"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "title": "CloudInteractiveHeader",
            "type": "object"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "buttons"
        ],
        "title": "CloudButtonsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send 2..10 media carousel cards within the service window. Each has an uploaded image/video header and either one URL button or 1..3 quick replies. Button kind/count must match across cards. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_carousel",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "cards": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "buttons": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "title": {
                        "maxLength": 20,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ],
                    "title": "CloudReplyButton",
                    "type": "object"
                  },
                  "maxItems": 3,
                  "minItems": 1,
                  "type": "array"
                },
                "display_text": {
                  "maxLength": 20,
                  "minLength": 1,
                  "type": "string"
                },
                "header": {
                  "additionalProperties": false,
                  "properties": {
                    "media_id": {
                      "maxLength": 128,
                      "minLength": 1,
                      "pattern": "^[0-9]+$",
                      "type": "string"
                    },
                    "type": {
                      "enum": [
                        "image",
                        "video"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "media_id"
                  ],
                  "title": "CloudInteractiveHeader",
                  "type": "object"
                },
                "text": {
                  "description": "Optional card text; at most two line breaks.",
                  "maxLength": 160,
                  "type": "string"
                },
                "url": {
                  "maxLength": 2048,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "header"
              ],
              "title": "CloudCarouselCard",
              "type": "object"
            },
            "maxItems": 10,
            "minItems": 2,
            "type": "array"
          },
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "cards"
        ],
        "title": "CloudCarouselRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send the WABA connected catalog in the customer service window. Optional thumbnail SKU selects a product image. Requires existing connected inventory. API acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_catalog",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          },
          "thumbnail_product_retailer_id": {
            "description": "Catalog SKU/content ID; 256-character worker limit.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text"
        ],
        "title": "CloudCatalogRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send 1..257 structured contacts within the customer service window. Contact JSON is capped at 65536 bytes by the worker. Metadata display depends on the recipient device. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_contacts",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "contacts": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "addresses": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "city": {
                        "type": "string"
                      },
                      "country": {
                        "type": "string"
                      },
                      "country_code": {
                        "maxLength": 2,
                        "minLength": 2,
                        "pattern": "^[A-Z]{2}$",
                        "type": "string"
                      },
                      "state": {
                        "type": "string"
                      },
                      "street": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "zip": {
                        "type": "string"
                      }
                    },
                    "title": "CloudContactAddress",
                    "type": "object"
                  },
                  "type": "array"
                },
                "birthday": {
                  "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
                  "type": "string"
                },
                "emails": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "email": {
                        "format": "email",
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "email"
                    ],
                    "title": "CloudContactEmail",
                    "type": "object"
                  },
                  "type": "array"
                },
                "name": {
                  "additionalProperties": false,
                  "properties": {
                    "first_name": {
                      "maxLength": 1024,
                      "type": "string"
                    },
                    "formatted_name": {
                      "maxLength": 1024,
                      "minLength": 1,
                      "type": "string"
                    },
                    "last_name": {
                      "maxLength": 1024,
                      "type": "string"
                    },
                    "middle_name": {
                      "maxLength": 1024,
                      "type": "string"
                    },
                    "prefix": {
                      "maxLength": 1024,
                      "type": "string"
                    },
                    "suffix": {
                      "maxLength": 1024,
                      "type": "string"
                    }
                  },
                  "required": [
                    "formatted_name"
                  ],
                  "title": "CloudContactName",
                  "type": "object"
                },
                "org": {
                  "additionalProperties": false,
                  "properties": {
                    "company": {
                      "type": "string"
                    },
                    "department": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    }
                  },
                  "title": "CloudContactOrg",
                  "type": "object"
                },
                "phones": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "phone": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "wa_id": {
                        "type": "string"
                      }
                    },
                    "title": "CloudContactPhone",
                    "type": "object"
                  },
                  "type": "array"
                },
                "urls": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "url": {
                        "description": "HTTP(S) display URL; never fetched by the worker.",
                        "maxLength": 2048,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "url"
                    ],
                    "title": "CloudContactURL",
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "name"
              ],
              "title": "CloudContact",
              "type": "object"
            },
            "maxItems": 257,
            "minItems": 1,
            "type": "array"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "contacts"
        ],
        "title": "CloudContactsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send an interactive URL button within the customer service window. URLs are display destinations, not media sources. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_cta_url",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "display_text": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "header": {
            "additionalProperties": false,
            "properties": {
              "media_id": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[0-9]+$",
                "type": "string"
              },
              "text": {
                "maxLength": 60,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "enum": [
                  "text",
                  "image",
                  "video",
                  "document"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "title": "CloudInteractiveHeader",
            "type": "object"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "url": {
            "description": "HTTP(S) destination opened by the recipient; never fetched by the worker.",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "display_text",
          "url"
        ],
        "title": "CloudCTARequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Direct Send beta: explicit utility/authentication/service category with text, 1..3 reply buttons or one URL button. Eligibility required; authentication cannot target BSUID. No URL previews. Worker never retries; Meta may retry its own template creation. Returns acceptance only; webhook may later reject generated templates."
      },
      "name": "whatsapp::cloud::messages::send_direct",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "buttons": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "maxLength": 256,
                  "minLength": 1,
                  "type": "string"
                },
                "title": {
                  "maxLength": 20,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "id",
                "title"
              ],
              "title": "CloudReplyButton",
              "type": "object"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array"
          },
          "category": {
            "enum": [
              "utility",
              "authentication",
              "service"
            ],
            "type": "string"
          },
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "display_text": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "header": {
            "additionalProperties": false,
            "properties": {
              "media_id": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[0-9]+$",
                "type": "string"
              },
              "text": {
                "maxLength": 60,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "enum": [
                  "text",
                  "image",
                  "video",
                  "document"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "title": "CloudInteractiveHeader",
            "type": "object"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "template_name": {
            "description": "Restricted utility-only business-named template feature.",
            "maxLength": 512,
            "minLength": 1,
            "pattern": "^[a-z0-9_]+$",
            "type": "string"
          },
          "text": {
            "description": "Text body limit 4096; interactive body limit 1024.",
            "maxLength": 4096,
            "minLength": 1,
            "type": "string"
          },
          "ttl_seconds": {
            "description": "Utility30..43200; authentication30..900; forbidden for service.",
            "maximum": 43200,
            "minimum": 30,
            "type": "integer"
          },
          "type": {
            "enum": [
              "text",
              "buttons",
              "cta_url"
            ],
            "type": "string"
          },
          "url": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "category",
          "type"
        ],
        "title": "CloudDirectSendRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Submit one Cloud API document using an existing Meta media_id; requires an open customer service window. Returns API acceptance only; delivery comes by webhook. Never retries or switches to templates or native transport automatically."
      },
      "name": "whatsapp::cloud::messages::send_document",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "caption": {
            "description": "Optional caption of at most 1024 Unicode characters.",
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native/group JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "file_name": {
            "description": "Display filename with supported extension; maximum 255 UTF-8 bytes (worker policy), without paths or control characters. Markdown is not supported; choose TXT or PDF explicitly.",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID from upload_document, valid for 30 days unless deleted. Reuse without uploading bytes again. Numeric IDs are strings; 128-character bound is worker policy.",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity hash for Meta identity-change checks.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional Meta message ID to quote as a contextual reply.",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "media_id",
          "file_name"
        ],
        "title": "CloudDocumentRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Launch an existing Flow inside the customer service window. Exactly one flow_id or flow_name; version 3. Defaults published/navigate; navigate requires screen. data_exchange uses the existing Flow endpoint. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_flow",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "data": {
            "additionalProperties": true,
            "description": "Optional non-empty input data for the first navigate screen, at most 16384 JSON bytes. Not accepted with data_exchange.",
            "minProperties": 1,
            "type": "object"
          },
          "flow_action": {
            "enum": [
              "navigate",
              "data_exchange"
            ],
            "type": "string"
          },
          "flow_cta": {
            "description": "CTA label; worker follows Meta recommendation of at most 30 characters.",
            "maxLength": 30,
            "minLength": 1,
            "type": "string"
          },
          "flow_id": {
            "maxLength": 32,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "flow_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "flow_token": {
            "description": "Optional business correlation token; 4096-character worker limit.",
            "maxLength": 4096,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "header": {
            "additionalProperties": false,
            "properties": {
              "media_id": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[0-9]+$",
                "type": "string"
              },
              "text": {
                "maxLength": 60,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "enum": [
                  "text"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "title": "CloudInteractiveHeader",
            "type": "object"
          },
          "mode": {
            "enum": [
              "published",
              "draft"
            ],
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "screen": {
            "description": "Required for navigate; forbidden for data_exchange. Worker limit 256 characters.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "flow_cta"
        ],
        "title": "CloudFlowRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a Cloud API image by reusable media ID, with an optional quoted reply. Returns API acceptance; delivery is confirmed separately by webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_image",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "caption": {
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "chat_id": {
            "description": "International phone number or business-scoped user ID; native JIDs are rejected.",
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity key hash.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "media_id"
        ],
        "title": "CloudImageMessageRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send an interactive list in the customer service window: 1..10 sections, 1..10 total rows, unique row IDs. Body allows 4096 characters under current Meta docs. Returns acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "button": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "header": {
            "additionalProperties": false,
            "properties": {
              "media_id": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[0-9]+$",
                "type": "string"
              },
              "text": {
                "maxLength": 60,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "enum": [
                  "text"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "title": "CloudInteractiveHeader",
            "type": "object"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "sections": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "rows": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "description": {
                        "maxLength": 72,
                        "type": "string"
                      },
                      "id": {
                        "maxLength": 200,
                        "minLength": 1,
                        "type": "string"
                      },
                      "title": {
                        "maxLength": 24,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ],
                    "title": "CloudListRow",
                    "type": "object"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                },
                "title": {
                  "maxLength": 24,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "title",
                "rows"
              ],
              "title": "CloudListSection",
              "type": "object"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          },
          "text": {
            "maxLength": 4096,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "button",
          "sections"
        ],
        "title": "CloudListRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a Cloud API location within the customer service window. Coordinates are required, including zero. Returns acceptance only; delivery comes by webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_location",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Optional address; 1024-character worker limit.",
            "maxLength": 1024,
            "type": "string"
          },
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "type": "number"
          },
          "name": {
            "description": "Optional place name; 1024-character worker limit.",
            "maxLength": 1024,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional original Meta message ID to quote; no automatic retries.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "latitude",
          "longitude"
        ],
        "title": "CloudLocationRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send an approved marketing template via the dedicated marketing_messages endpoint. Defaults to STRICT routing; fallback requires explicit CLOUD_API_FALLBACK. Meta enforces template category and account onboarding. No worker retries; delivery via webhook."
      },
      "name": "whatsapp::cloud::messages::send_marketing_template",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "components": {
            "default": [],
            "items": true,
            "type": "array"
          },
          "language": {
            "type": "string"
          },
          "message_activity_sharing": {
            "description": "Optional explicit per-message activity-sharing choice; omission preserves the WABA setting.",
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "product_policy": {
            "description": "Defaults to STRICT. CLOUD_API_FALLBACK explicitly permits Meta routing to standard Cloud API when marketing onboarding is incomplete.",
            "enum": [
              "STRICT",
              "CLOUD_API_FALLBACK"
            ],
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity hash for Meta identity-change checks.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional Meta message ID to quote as a contextual reply.",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "name",
          "language"
        ],
        "title": "CloudMarketingTemplateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a Brazil/BRL order-details message with Pix, payment link, boleto or offsite-card instructions. Amounts use integer cents/offset100; totals must match item sums and adjustments. Caller supplies unique reference_id and existing PSP data. This communicates a payment request; it does not settle a payment. Eligibility/window required. No retries."
      },
      "name": "whatsapp::cloud::messages::send_order_details",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "goods_type": {
            "enum": [
              "digital-goods",
              "physical-goods"
            ],
            "type": "string"
          },
          "order": {
            "additionalProperties": false,
            "properties": {
              "catalog_id": {
                "description": "Meta catalog ID; 128-character worker limit.",
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              "discount": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "maxLength": 60,
                    "type": "string"
                  },
                  "discount_program_name": {
                    "maxLength": 60,
                    "type": "string"
                  },
                  "offset": {
                    "enum": [
                      100
                    ],
                    "type": "integer"
                  },
                  "value": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "value",
                  "offset"
                ],
                "title": "CloudBRDiscount",
                "type": "object"
              },
              "expiration": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "maxLength": 120,
                    "minLength": 1,
                    "type": "string"
                  },
                  "timestamp": {
                    "description": "Epoch-seconds string at least 300 seconds in the future.",
                    "maxLength": 19,
                    "minLength": 1,
                    "pattern": "^[0-9]+$",
                    "type": "string"
                  }
                },
                "required": [
                  "timestamp",
                  "description"
                ],
                "title": "CloudBRExpiration",
                "type": "object"
              },
              "items": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "amount": {
                      "additionalProperties": false,
                      "properties": {
                        "offset": {
                          "enum": [
                            100
                          ],
                          "type": "integer"
                        },
                        "value": {
                          "maximum": 9007199254740991,
                          "minimum": 0,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "value",
                        "offset"
                      ],
                      "title": "CloudBRAmount",
                      "type": "object"
                    },
                    "name": {
                      "maxLength": 60,
                      "minLength": 1,
                      "type": "string"
                    },
                    "quantity": {
                      "maximum": 9007199254740991,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "retailer_id": {
                      "description": "Catalog SKU/content ID; 256-character worker limit.",
                      "maxLength": 256,
                      "minLength": 1,
                      "type": "string"
                    },
                    "sale_amount": {
                      "additionalProperties": false,
                      "properties": {
                        "offset": {
                          "enum": [
                            100
                          ],
                          "type": "integer"
                        },
                        "value": {
                          "maximum": 9007199254740991,
                          "minimum": 0,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "value",
                        "offset"
                      ],
                      "title": "CloudBRAmount",
                      "type": "object"
                    }
                  },
                  "required": [
                    "retailer_id",
                    "name",
                    "amount",
                    "quantity"
                  ],
                  "title": "CloudBRItem",
                  "type": "object"
                },
                "maxItems": 100,
                "minItems": 1,
                "type": "array"
              },
              "shipping": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "maxLength": 60,
                    "type": "string"
                  },
                  "offset": {
                    "enum": [
                      100
                    ],
                    "type": "integer"
                  },
                  "value": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "value",
                  "offset"
                ],
                "title": "CloudBRDescribedAmount",
                "type": "object"
              },
              "status": {
                "enum": [
                  "pending"
                ],
                "type": "string"
              },
              "subtotal": {
                "additionalProperties": false,
                "properties": {
                  "offset": {
                    "enum": [
                      100
                    ],
                    "type": "integer"
                  },
                  "value": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "value",
                  "offset"
                ],
                "title": "CloudBRAmount",
                "type": "object"
              },
              "tax": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "maxLength": 60,
                    "type": "string"
                  },
                  "offset": {
                    "enum": [
                      100
                    ],
                    "type": "integer"
                  },
                  "value": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "value",
                  "offset"
                ],
                "title": "CloudBRDescribedAmount",
                "type": "object"
              }
            },
            "required": [
              "items",
              "subtotal",
              "tax"
            ],
            "title": "CloudBROrder",
            "type": "object"
          },
          "payment_settings": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "boleto": {
                  "additionalProperties": false,
                  "properties": {
                    "digitable_line": {
                      "maxLength": 128,
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "digitable_line"
                  ],
                  "title": "CloudBRBoleto",
                  "type": "object"
                },
                "offsite_card_pay": {
                  "additionalProperties": false,
                  "properties": {
                    "credential_id": {
                      "description": "Opaque PSP credential reference, never a full card number or security code.",
                      "maxLength": 256,
                      "minLength": 1,
                      "type": "string"
                    },
                    "last_four_digits": {
                      "maxLength": 4,
                      "minLength": 4,
                      "pattern": "^[0-9]{4}$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "last_four_digits",
                    "credential_id"
                  ],
                  "title": "CloudBRCard",
                  "type": "object"
                },
                "payment_link": {
                  "additionalProperties": false,
                  "properties": {
                    "uri": {
                      "description": "HTTP(S) payment destination; never fetched by the worker.",
                      "maxLength": 2048,
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "uri"
                  ],
                  "title": "CloudBRPaymentLink",
                  "type": "object"
                },
                "pix_dynamic_code": {
                  "additionalProperties": false,
                  "properties": {
                    "code": {
                      "maxLength": 4096,
                      "minLength": 1,
                      "type": "string"
                    },
                    "key": {
                      "maxLength": 255,
                      "minLength": 1,
                      "type": "string"
                    },
                    "key_type": {
                      "enum": [
                        "CPF",
                        "CNPJ",
                        "EMAIL",
                        "PHONE",
                        "EVP"
                      ],
                      "type": "string"
                    },
                    "merchant_name": {
                      "maxLength": 255,
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "merchant_name",
                    "key",
                    "key_type"
                  ],
                  "title": "CloudBRPix",
                  "type": "object"
                },
                "type": {
                  "enum": [
                    "pix_dynamic_code",
                    "payment_link",
                    "boleto",
                    "offsite_card_pay"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "title": "CloudBRPaymentSetting",
              "type": "object"
            },
            "maxItems": 4,
            "minItems": 0,
            "type": "array"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reference_id": {
            "maxLength": 60,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9_.-]+$",
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          },
          "total_amount": {
            "additionalProperties": false,
            "properties": {
              "offset": {
                "enum": [
                  100
                ],
                "type": "integer"
              },
              "value": {
                "maximum": 9007199254740991,
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "value",
              "offset"
            ],
            "title": "CloudBRAmount",
            "type": "object"
          }
        },
        "required": [
          "chat_id",
          "text",
          "reference_id",
          "goods_type",
          "total_amount"
        ],
        "title": "CloudBROrderDetailsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Report a BR order/payment status for an existing reference_id. At least one order/payment object required. A captured status is caller-provided confirmation from its PSP, never inferred by this worker. Meta enforces status transitions. API acceptance only; no retries."
      },
      "name": "whatsapp::cloud::messages::send_order_status",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "order": {
            "additionalProperties": false,
            "properties": {
              "description": {
                "maxLength": 120,
                "type": "string"
              },
              "status": {
                "enum": [
                  "pending",
                  "processing",
                  "partially_shipped",
                  "shipped",
                  "completed",
                  "canceled"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "title": "CloudBROrderStatus",
            "type": "object"
          },
          "payment": {
            "additionalProperties": false,
            "properties": {
              "status": {
                "enum": [
                  "pending",
                  "captured",
                  "failed"
                ],
                "type": "string"
              },
              "timestamp": {
                "maximum": 9007199254740991,
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "status"
            ],
            "title": "CloudBRPaymentStatus",
            "type": "object"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reference_id": {
            "maxLength": 60,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9_.-]+$",
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "reference_id"
        ],
        "title": "CloudBROrderStatusRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send one connected-catalog product in the customer service window, with optional body/footer. API acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_product",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "catalog_id": {
            "description": "Meta catalog ID; 128-character worker limit.",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "product_retailer_id": {
            "description": "Catalog SKU/content ID; 256-character worker limit.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "catalog_id",
          "product_retailer_id"
        ],
        "title": "CloudProductRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send 2..10 product carousel cards from one connected catalog inside the customer service window. Card indices follow input order. API acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_product_carousel",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "catalog_id": {
            "description": "Meta catalog ID; 128-character worker limit.",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "product_retailer_ids": {
            "items": {
              "description": "Catalog SKU/content ID; 256-character worker limit.",
              "maxLength": 256,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 2,
            "type": "array"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "text": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "catalog_id",
          "product_retailer_ids"
        ],
        "title": "CloudProductCarouselRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a multi-product message: 1..10 sections, up to 30 products total, required text header. Requires customer service window and connected catalog. API acceptance only; no automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_products",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "catalog_id": {
            "description": "Meta catalog ID; 128-character worker limit.",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "chat_id": {
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "footer": {
            "maxLength": 60,
            "type": "string"
          },
          "header_text": {
            "maxLength": 60,
            "minLength": 1,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "sections": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "product_retailer_ids": {
                  "items": {
                    "description": "Catalog SKU/content ID; 256-character worker limit.",
                    "maxLength": 256,
                    "minLength": 1,
                    "type": "string"
                  },
                  "maxItems": 30,
                  "minItems": 1,
                  "type": "array"
                },
                "title": {
                  "maxLength": 24,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "title",
                "product_retailer_ids"
              ],
              "title": "CloudProductSection",
              "type": "object"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          },
          "text": {
            "maxLength": 1024,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text",
          "header_text",
          "catalog_id",
          "sections"
        ],
        "title": "CloudProductsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Apply or remove an emoji reaction to a received Cloud message. Meta rejects targets older than 30 days, deleted targets and reaction targets. Returns acceptance only; reactions emit sent status, not delivered/read. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_reaction",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or supported business-scoped user ID; native JIDs are not accepted.",
            "maxLength": 136,
            "minLength": 1,
            "type": "string"
          },
          "emoji": {
            "description": "One Unicode emoji sequence; empty string removes the reaction. Worker caps 128 UTF-8 bytes. Meta validates the exact emoji sequence.",
            "maxLength": 128,
            "type": "string"
          },
          "message_id": {
            "description": "Original incoming Meta message ID, without whitespace or control characters.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional recipient identity key hash for identity-change protection.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "emoji"
        ],
        "title": "CloudReactionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a Cloud API sticker by reusable media ID, with an optional quoted reply. Returns API acceptance; delivery is confirmed separately by webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_sticker",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "description": "International phone number or business-scoped user ID; native JIDs are rejected.",
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity key hash.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "media_id"
        ],
        "title": "CloudStickerMessageRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Submit one existing approved Cloud API template; delivery is reported by webhook and sends are never retried automatically"
      },
      "name": "whatsapp::cloud::messages::send_template",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "components": {
            "default": [],
            "items": true,
            "type": "array"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity hash for Meta identity-change checks.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional Meta message ID to quote as a contextual reply.",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "language",
          "name"
        ],
        "title": "TemplateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Submit one Cloud API text message; requires an open customer service window and never retries automatically"
      },
      "name": "whatsapp::cloud::messages::send_text",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "preview_url": {
            "default": false,
            "type": "boolean"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity hash for Meta identity-change checks.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "description": "Optional Meta message ID to quote as a contextual reply.",
            "maxLength": 512,
            "type": "string"
          },
          "text": {
            "maxLength": 4096,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "text"
        ],
        "title": "TextRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a Cloud API video by reusable media ID, with an optional quoted reply. Returns API acceptance; delivery is confirmed separately by webhook. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::send_video",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "caption": {
            "maxLength": 1024,
            "type": [
              "string",
              "null"
            ]
          },
          "chat_id": {
            "description": "International phone number or business-scoped user ID; native JIDs are rejected.",
            "type": "string"
          },
          "media_id": {
            "description": "Meta media ID. Never a URL, native media key or host file path.",
            "pattern": "^[0-9]{1,128}$",
            "type": "string"
          },
          "recipient_identity_key_hash": {
            "description": "Optional expected recipient identity key hash.",
            "maxLength": 512,
            "type": "string"
          },
          "reply_to_message_id": {
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "media_id"
        ],
        "title": "CloudVideoMessageRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Graph accepted the request; delivery is reported separately by webhook.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "status"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Mark the received message as read and display a text typing indicator. Meta dismisses it after a reply or 25 seconds. No automatic retry."
      },
      "name": "whatsapp::cloud::messages::typing",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "message_id": {
            "description": "Original incoming Meta message ID, without whitespace or control characters.",
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message_id"
        ],
        "title": "CloudActionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudActionResult",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Deregister the configured number: stops its Cloud API use and disables local storage. Coexistence numbers are not eligible. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::deregister",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {},
        "required": [],
        "title": "CloudManagement_phone_numbers_deregister_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_phone_numbers_deregister_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read configured phone fields. Default fields are id, display_phone_number, verified_name, quality_rating and code_verification_status; optional fields may require eligibility. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "fields": {
            "items": {
              "enum": [
                "id",
                "display_phone_number",
                "verified_name",
                "quality_rating",
                "code_verification_status",
                "name_status",
                "new_display_name",
                "new_name_status",
                "throughput",
                "platform_type",
                "status",
                "is_official_business_account"
              ],
              "type": "string"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [],
        "title": "CloudManagement_phone_numbers_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code_verification_status": {
            "maxLength": 8192,
            "type": "string"
          },
          "display_phone_number": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "is_official_business_account": {
            "type": "boolean"
          },
          "name_status": {
            "maxLength": 8192,
            "type": "string"
          },
          "new_display_name": {
            "maxLength": 8192,
            "type": "string"
          },
          "new_name_status": {
            "maxLength": 8192,
            "type": "string"
          },
          "platform_type": {
            "maxLength": 8192,
            "type": "string"
          },
          "quality_rating": {
            "maxLength": 8192,
            "type": "string"
          },
          "status": {
            "maxLength": 8192,
            "type": "string"
          },
          "throughput": {
            "additionalProperties": {
              "$ref": "#/definitions/CloudManagementJSON"
            },
            "maxProperties": 128,
            "type": "object"
          },
          "verified_name": {
            "maxLength": 8192,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "CloudManagement_phone_numbers_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List phones in the configured WABA with a bounded page and opaque next_cursor. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "after": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string"
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "title": "CloudManagement_phone_numbers_list_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "code_verification_status": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "display_phone_number": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "id": {
                  "maxLength": 128,
                  "minLength": 1,
                  "pattern": "^[0-9]+$",
                  "type": "string"
                },
                "is_official_business_account": {
                  "type": "boolean"
                },
                "name_status": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "new_display_name": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "new_name_status": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "platform_type": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "quality_rating": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "status": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "throughput": {
                  "additionalProperties": {
                    "$ref": "#/definitions/CloudManagementJSON"
                  },
                  "maxProperties": 128,
                  "type": "object"
                },
                "verified_name": {
                  "maxLength": 8192,
                  "type": "string"
                }
              },
              "required": [],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "items",
          "next_cursor"
        ],
        "title": "CloudManagement_phone_numbers_list_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Register the configured phone with a six-digit PIN. Optional region explicitly enables local storage and can require later deregistration to change. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::register",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "data_localization_region": {
            "enum": [
              "AU",
              "ID",
              "IN",
              "JP",
              "SG",
              "KR",
              "DE",
              "CH",
              "GB",
              "BR",
              "BH",
              "ZA",
              "AE",
              "CA"
            ],
            "type": "string"
          },
          "pin": {
            "format": "password",
            "maxLength": 6,
            "minLength": 6,
            "pattern": "^[0-9]{6}$",
            "type": "string",
            "writeOnly": true
          }
        },
        "required": [
          "pin"
        ],
        "title": "CloudManagement_phone_numbers_register_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_phone_numbers_register_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Request SMS/voice OTP for the configured number. This can send an actual verification call or SMS. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::request_code",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code_method": {
            "enum": [
              "SMS",
              "VOICE"
            ],
            "type": "string"
          },
          "language": {
            "maxLength": 12,
            "minLength": 2,
            "pattern": "^[a-z]{2,3}(_[A-Za-z0-9]{2,8})?$",
            "type": "string"
          }
        },
        "required": [
          "code_method",
          "language"
        ],
        "title": "CloudManagement_phone_numbers_request_code_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_phone_numbers_request_code_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Submit a new display name for review. After approval an explicit re-registration is required; never performed automatically. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::set_display_name",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "new_display_name": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "new_display_name"
        ],
        "title": "CloudManagement_phone_numbers_set_display_name_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_phone_numbers_set_display_name_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set the configured phone six-digit two-step verification PIN. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::set_pin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "pin": {
            "format": "password",
            "maxLength": 6,
            "minLength": 6,
            "pattern": "^[0-9]{6}$",
            "type": "string",
            "writeOnly": true
          }
        },
        "required": [
          "pin"
        ],
        "title": "CloudManagement_phone_numbers_set_pin_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_phone_numbers_set_pin_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Verify a received OTP for the configured number. The code is sent in the HTTPS body. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::phone_numbers::verify_code",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code": {
            "format": "password",
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string",
            "writeOnly": true
          }
        },
        "required": [
          "code"
        ],
        "title": "CloudManagement_phone_numbers_verify_code_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_phone_numbers_verify_code_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read the configured business phone profile. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::profile::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {},
        "required": [],
        "title": "CloudManagement_profile_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "profile": {
            "additionalProperties": false,
            "properties": {
              "about": {
                "maxLength": 8192,
                "type": "string"
              },
              "address": {
                "maxLength": 8192,
                "type": "string"
              },
              "description": {
                "maxLength": 8192,
                "type": "string"
              },
              "email": {
                "maxLength": 8192,
                "type": "string"
              },
              "messaging_product": {
                "maxLength": 8192,
                "type": "string"
              },
              "profile_picture_url": {
                "maxLength": 8192,
                "type": "string"
              },
              "vertical": {
                "maxLength": 8192,
                "type": "string"
              },
              "websites": {
                "items": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "maxItems": 1000,
                "type": "array"
              }
            },
            "required": [],
            "type": "object"
          }
        },
        "required": [
          "profile"
        ],
        "title": "CloudManagement_profile_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update only supplied business profile fields; empty strings/lists explicitly clear eligible fields. profile_picture_handle comes from Meta resumable upload, not a media ID. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::profile::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "minProperties": 1,
        "properties": {
          "about": {
            "maxLength": 139,
            "minLength": 0,
            "type": "string"
          },
          "address": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string"
          },
          "description": {
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "email": {
            "maxLength": 128,
            "minLength": 0,
            "type": "string"
          },
          "profile_picture_handle": {
            "maxLength": 8192,
            "minLength": 0,
            "type": "string"
          },
          "vertical": {
            "enum": [
              "OTHER",
              "AUTO",
              "BEAUTY",
              "APPAREL",
              "EDU",
              "ENTERTAIN",
              "EVENT_PLAN",
              "FINANCE",
              "GROCERY",
              "GOVT",
              "HOTEL",
              "HEALTH",
              "NONPROFIT",
              "PROF_SERVICES",
              "RETAIL",
              "TRAVEL",
              "RESTAURANT",
              "ALCOHOL",
              "ONLINE_GAMBLING",
              "PHYSICAL_GAMBLING",
              "OTC_DRUGS"
            ],
            "type": "string"
          },
          "websites": {
            "items": {
              "description": "Public HTTP(S) URL without embedded credentials; the worker does not fetch it.",
              "maxLength": 256,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 0,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": [],
        "title": "CloudManagement_profile_update_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_profile_update_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a public business QR/short link. prefilled_message is at most 140 characters. This is not a linked-device login QR. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::qr_codes::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "generate_qr_image": {
            "enum": [
              "PNG",
              "SVG"
            ],
            "type": "string"
          },
          "prefilled_message": {
            "maxLength": 140,
            "minLength": 0,
            "type": "string"
          }
        },
        "required": [
          "prefilled_message"
        ],
        "title": "CloudManagement_qr_codes_create_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code": {
            "maxLength": 8192,
            "type": "string"
          },
          "deep_link_url": {
            "maxLength": 8192,
            "type": "string"
          },
          "prefilled_message": {
            "maxLength": 8192,
            "type": "string"
          },
          "qr_image_url": {
            "maxLength": 8192,
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "title": "CloudManagement_qr_codes_create_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Permanently retire the specified QR/short link on the configured phone. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::qr_codes::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9]+$",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "title": "CloudManagement_qr_codes_delete_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_qr_codes_delete_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read a business QR/short link by code; items is empty when not found. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::qr_codes::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9]+$",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "title": "CloudManagement_qr_codes_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "code": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "deep_link_url": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "prefilled_message": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "qr_image_url": {
                  "maxLength": 8192,
                  "type": "string"
                }
              },
              "required": [],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "items",
          "next_cursor"
        ],
        "title": "CloudManagement_qr_codes_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List business QR/short links. Meta allows at most 25 results per page. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::qr_codes::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "after": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string"
          },
          "limit": {
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "title": "CloudManagement_qr_codes_list_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "code": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "deep_link_url": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "prefilled_message": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "qr_image_url": {
                  "maxLength": 8192,
                  "type": "string"
                }
              },
              "required": [],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "items",
          "next_cursor"
        ],
        "title": "CloudManagement_qr_codes_list_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update an existing QR/short link prefilled message. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::qr_codes::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9]+$",
            "type": "string"
          },
          "generate_qr_image": {
            "enum": [
              "PNG",
              "SVG"
            ],
            "type": "string"
          },
          "prefilled_message": {
            "maxLength": 140,
            "minLength": 0,
            "type": "string"
          }
        },
        "required": [
          "code",
          "prefilled_message"
        ],
        "title": "CloudManagement_qr_codes_update_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "code": {
            "maxLength": 8192,
            "type": "string"
          },
          "deep_link_url": {
            "maxLength": 8192,
            "type": "string"
          },
          "prefilled_message": {
            "maxLength": 8192,
            "type": "string"
          },
          "qr_image_url": {
            "maxLength": 8192,
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "title": "CloudManagement_qr_codes_update_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read local Cloud API readiness without contacting Meta or returning credentials"
      },
      "name": "whatsapp::cloud::status",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "title": "Empty",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "access_token_set": {
            "type": "boolean"
          },
          "api_version": {
            "type": "string"
          },
          "app_secret_set": {
            "type": "boolean"
          },
          "business_account_id": {
            "type": "string"
          },
          "configured": {
            "description": "Local readiness only. Does not imply remote authentication or delivery.",
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "missing_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "phone_number_id": {
            "type": "string"
          },
          "verify_token_set": {
            "type": "boolean"
          },
          "webhook_path": {
            "type": "string"
          },
          "webhook_ready": {
            "type": "boolean"
          }
        },
        "required": [
          "access_token_set",
          "api_version",
          "app_secret_set",
          "business_account_id",
          "configured",
          "enabled",
          "missing_fields",
          "phone_number_id",
          "verify_token_set",
          "webhook_path",
          "webhook_ready"
        ],
        "title": "CloudStatus",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List apps subscribed to this WABA; returns cursor only, never Graph paging URLs. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::subscriptions::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "after": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string"
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "title": "CloudManagement_subscriptions_list_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "override_callback_uri": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "whatsapp_business_api_data": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "maxLength": 128,
                      "minLength": 1,
                      "pattern": "^[0-9]+$",
                      "type": "string"
                    },
                    "link": {
                      "maxLength": 8192,
                      "type": "string"
                    },
                    "name": {
                      "maxLength": 8192,
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ],
                  "type": "object"
                }
              },
              "required": [],
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "next_cursor": {
            "maxLength": 2048,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "items",
          "next_cursor"
        ],
        "title": "CloudManagement_subscriptions_list_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Subscribe the app associated with the configured token to the WABA. Optional HTTPS callback override uses configured cloud.verify_token. Does not configure app-token webhook fields. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::subscriptions::subscribe",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "override_callback_uri": {
            "description": "Public HTTPS callback override. Uses configured cloud.verify_token, never a token argument. Omit to use app default callback.",
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [],
        "title": "CloudManagement_subscriptions_subscribe_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_subscriptions_subscribe_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unsubscribe the app associated with the configured token from this WABA. Incoming webhooks for this subscription stop. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::subscriptions::unsubscribe",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {},
        "required": [],
        "title": "CloudManagement_subscriptions_unsubscribe_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_subscriptions_unsubscribe_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a template for Meta review. Components are bounded documented template JSON; examples/media handles and eligibility remain Meta-validated. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::templates::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "allow_category_change": {
            "type": "boolean"
          },
          "category": {
            "enum": [
              "UTILITY",
              "MARKETING",
              "AUTHENTICATION"
            ],
            "type": "string"
          },
          "components": {
            "items": {
              "additionalProperties": {
                "$ref": "#/definitions/CloudManagementJSON"
              },
              "maxProperties": 32,
              "properties": {
                "type": {
                  "maxLength": 40,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "cta_url_link_tracking_opted_out": {
            "type": "boolean"
          },
          "language": {
            "maxLength": 12,
            "minLength": 2,
            "pattern": "^[a-z]{2,3}(_[A-Za-z0-9]{2,8})?$",
            "type": "string"
          },
          "message_send_ttl_seconds": {
            "maximum": 2592000,
            "minimum": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 512,
            "minLength": 1,
            "pattern": "^[a-z0-9_]+$",
            "type": "string"
          },
          "parameter_format": {
            "enum": [
              "NAMED",
              "POSITIONAL"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "language",
          "category",
          "components"
        ],
        "title": "CloudManagement_templates_create_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "category": {
            "maxLength": 8192,
            "type": "string"
          },
          "components": {
            "items": {
              "additionalProperties": {
                "$ref": "#/definitions/CloudManagementJSON"
              },
              "maxProperties": 128,
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "language": {
            "maxLength": 8192,
            "type": "string"
          },
          "message_send_ttl_seconds": {
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "maxLength": 8192,
            "type": "string"
          },
          "parameter_format": {
            "maxLength": 8192,
            "type": "string"
          },
          "quality_score": {
            "additionalProperties": {
              "$ref": "#/definitions/CloudManagementJSON"
            },
            "maxProperties": 128,
            "type": "object"
          },
          "rejected_reason": {
            "maxLength": 8192,
            "type": "string"
          },
          "status": {
            "maxLength": 8192,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "CloudManagement_templates_create_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete by name; omitting template_id deletes all languages of that name. Name plus ID targets one translation. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::templates::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "name": {
            "maxLength": 512,
            "minLength": 1,
            "pattern": "^[a-z0-9_]+$",
            "type": "string"
          },
          "template_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "CloudManagement_templates_delete_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_templates_delete_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read one template, including status and quality. Verifies its membership in the configured WABA. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::templates::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "template_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          }
        },
        "required": [
          "template_id"
        ],
        "title": "CloudManagement_templates_get_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "category": {
            "maxLength": 8192,
            "type": "string"
          },
          "components": {
            "items": {
              "additionalProperties": {
                "$ref": "#/definitions/CloudManagementJSON"
              },
              "maxProperties": 128,
              "type": "object"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "language": {
            "maxLength": 8192,
            "type": "string"
          },
          "message_send_ttl_seconds": {
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "maxLength": 8192,
            "type": "string"
          },
          "parameter_format": {
            "maxLength": 8192,
            "type": "string"
          },
          "quality_score": {
            "additionalProperties": {
              "$ref": "#/definitions/CloudManagementJSON"
            },
            "maxProperties": 128,
            "type": "object"
          },
          "rejected_reason": {
            "maxLength": 8192,
            "type": "string"
          },
          "status": {
            "maxLength": 8192,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "CloudManagement_templates_get_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List existing Meta templates without creating or changing them"
      },
      "name": "whatsapp::cloud::templates::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "default": 50,
            "format": "uint",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "title": "TemplatesRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Template": {
            "properties": {
              "category": {
                "type": "string"
              },
              "components": {
                "default": [],
                "items": true,
                "type": "array"
              },
              "id": {
                "type": "string"
              },
              "language": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "parameter_format": {
                "default": null,
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              }
            },
            "required": [
              "category",
              "id",
              "language",
              "name",
              "status"
            ],
            "type": "object"
          }
        },
        "properties": {
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "templates": {
            "items": {
              "$ref": "#/definitions/Template"
            },
            "type": "array"
          }
        },
        "required": [
          "templates"
        ],
        "title": "TemplatePage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Request manual unpause of an eligible paused template in the configured WABA; this does not pause templates. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::templates::unpause",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "template_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          }
        },
        "required": [
          "template_id"
        ],
        "title": "CloudManagement_templates_unpause_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_templates_unpause_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Edit a template belonging to the configured WABA. At least one editable field is required; editing may require reapproval. Uses configured Cloud credentials and account only. No automatic retries; mutation timeout has an unknown outcome."
      },
      "name": "whatsapp::cloud::templates::update",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "minProperties": 2,
        "properties": {
          "allow_category_change": {
            "type": "boolean"
          },
          "category": {
            "enum": [
              "UTILITY",
              "MARKETING",
              "AUTHENTICATION"
            ],
            "type": "string"
          },
          "components": {
            "items": {
              "additionalProperties": {
                "$ref": "#/definitions/CloudManagementJSON"
              },
              "maxProperties": 32,
              "properties": {
                "type": {
                  "maxLength": 40,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "cta_url_link_tracking_opted_out": {
            "type": "boolean"
          },
          "message_send_ttl_seconds": {
            "maximum": 2592000,
            "minimum": 1,
            "type": "integer"
          },
          "parameter_format": {
            "enum": [
              "NAMED",
              "POSITIONAL"
            ],
            "type": "string"
          },
          "template_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[0-9]+$",
            "type": "string"
          }
        },
        "required": [
          "template_id"
        ],
        "title": "CloudManagement_templates_update_Request",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "CloudManagementJSON": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              },
              {
                "type": "number"
              },
              {
                "maxLength": 131072,
                "minLength": 0,
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxItems": 10000,
                "type": "array"
              },
              {
                "additionalProperties": {
                  "$ref": "#/definitions/CloudManagementJSON"
                },
                "maxProperties": 256,
                "type": "object"
              }
            ]
          }
        },
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "CloudManagement_templates_update_Response",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::cloud::tunnel::changed",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "additionalProperties": true,
            "type": "object"
          },
          {
            "items": true,
            "type": "array"
          },
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "description": "Payload is ignored; the callback reads authoritative state instead."
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "accepted": {
            "type": "boolean"
          }
        },
        "required": [
          "accepted"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Acquire or renew this worker’s development webhook tunnel lease"
      },
      "name": "whatsapp::cloud::tunnel::start",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "public_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "stopped",
              "starting",
              "ready",
              "reconnecting",
              "failed",
              "unavailable"
            ],
            "type": "string"
          },
          "tunnel_id": {
            "const": "webhooks",
            "type": "string"
          },
          "webhook_path": {
            "type": "string"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "enabled",
          "status",
          "tunnel_id",
          "public_url",
          "webhook_url",
          "webhook_path",
          "error"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read the development webhook tunnel state and current verified callback URL"
      },
      "name": "whatsapp::cloud::tunnel::status",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "public_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "stopped",
              "starting",
              "ready",
              "reconnecting",
              "failed",
              "unavailable"
            ],
            "type": "string"
          },
          "tunnel_id": {
            "const": "webhooks",
            "type": "string"
          },
          "webhook_path": {
            "type": "string"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "enabled",
          "status",
          "tunnel_id",
          "public_url",
          "webhook_url",
          "webhook_path",
          "error"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Release this worker’s development webhook tunnel lease"
      },
      "name": "whatsapp::cloud::tunnel::stop",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "public_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "stopped",
              "starting",
              "ready",
              "reconnecting",
              "failed",
              "unavailable"
            ],
            "type": "string"
          },
          "tunnel_id": {
            "const": "webhooks",
            "type": "string"
          },
          "webhook_path": {
            "type": "string"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "enabled",
          "status",
          "tunnel_id",
          "public_url",
          "webhook_url",
          "webhook_path",
          "error"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::cloud::webhook::receive",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "properties": {
              "headers": {
                "anyOf": [
                  {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "request_body": {
                "anyOf": [
                  {
                    "properties": {
                      "access_key": {
                        "type": "string"
                      },
                      "channel_id": {
                        "type": "string"
                      },
                      "direction": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": "object"
          },
          {
            "type": "null"
          }
        ]
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "body": {
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "status_code": {
            "type": "integer"
          }
        },
        "required": [
          "status_code",
          "headers",
          "body"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::cloud::webhook::verify",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "properties": {
              "query_params": {
                "anyOf": [
                  {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": "object"
          },
          {
            "type": "null"
          }
        ]
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "body": {
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "status_code": {
            "type": "integer"
          }
        },
        "required": [
          "status_code",
          "headers",
          "body"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a community with optional general chat"
      },
      "name": "whatsapp::communities::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "allow_non_admin_sub_group_creation": {
            "default": false,
            "type": "boolean"
          },
          "closed": {
            "default": false,
            "type": "boolean"
          },
          "create_general_chat": {
            "default": true,
            "type": "boolean"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "session_id"
        ],
        "title": "CreateCommunityRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "properties": {
          "allow_admin_reports": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "announcement": {
            "type": "boolean"
          },
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "creator": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "description_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ephemeral_expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "group_history_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "is_announcement_subgroup": {
            "type": "boolean"
          },
          "is_community": {
            "type": "boolean"
          },
          "is_general_chat": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "limit_sharing_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "locked": {
            "type": "boolean"
          },
          "member_add_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_link_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_share_history_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "membership_approval": {
            "type": "boolean"
          },
          "no_frequently_forwarded": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "parent_group_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "participant_count": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "participants": {
            "items": {
              "$ref": "#/definitions/ParticipantView"
            },
            "type": "array"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_admin_reports",
          "announcement",
          "group_history_enabled",
          "id",
          "is_announcement_subgroup",
          "is_community",
          "is_general_chat",
          "limit_sharing_enabled",
          "locked",
          "membership_approval",
          "no_frequently_forwarded",
          "participants"
        ],
        "title": "GroupView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a group linked to a community"
      },
      "name": "whatsapp::communities::create_subgroup",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "community_id": {
            "type": "string"
          },
          "hidden": {
            "default": false,
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "participants": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "community_id",
          "name",
          "session_id"
        ],
        "title": "CreateSubgroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "properties": {
          "allow_admin_reports": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "announcement": {
            "type": "boolean"
          },
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "creator": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "description_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ephemeral_expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "group_history_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "is_announcement_subgroup": {
            "type": "boolean"
          },
          "is_community": {
            "type": "boolean"
          },
          "is_general_chat": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "limit_sharing_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "locked": {
            "type": "boolean"
          },
          "member_add_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_link_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_share_history_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "membership_approval": {
            "type": "boolean"
          },
          "no_frequently_forwarded": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "parent_group_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "participant_count": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "participants": {
            "items": {
              "$ref": "#/definitions/ParticipantView"
            },
            "type": "array"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_admin_reports",
          "announcement",
          "group_history_enabled",
          "id",
          "is_announcement_subgroup",
          "is_community",
          "is_general_chat",
          "limit_sharing_enabled",
          "locked",
          "membership_approval",
          "no_frequently_forwarded",
          "participants"
        ],
        "title": "GroupView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch metadata for a linked group"
      },
      "name": "whatsapp::communities::get_subgroup",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "community_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "subgroup_id": {
            "type": "string"
          }
        },
        "required": [
          "community_id",
          "session_id",
          "subgroup_id"
        ],
        "title": "SubgroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "properties": {
          "allow_admin_reports": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "announcement": {
            "type": "boolean"
          },
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "creator": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "description_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ephemeral_expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "group_history_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "is_announcement_subgroup": {
            "type": "boolean"
          },
          "is_community": {
            "type": "boolean"
          },
          "is_general_chat": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "limit_sharing_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "locked": {
            "type": "boolean"
          },
          "member_add_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_link_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_share_history_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "membership_approval": {
            "type": "boolean"
          },
          "no_frequently_forwarded": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "parent_group_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "participant_count": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "participants": {
            "items": {
              "$ref": "#/definitions/ParticipantView"
            },
            "type": "array"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_admin_reports",
          "announcement",
          "group_history_enabled",
          "id",
          "is_announcement_subgroup",
          "is_community",
          "is_general_chat",
          "limit_sharing_enabled",
          "locked",
          "membership_approval",
          "no_frequently_forwarded",
          "participants"
        ],
        "title": "GroupView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Link existing groups with explicit visibility"
      },
      "name": "whatsapp::communities::link_subgroups",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "LinkTarget": {
            "additionalProperties": false,
            "properties": {
              "group_id": {
                "type": "string"
              },
              "hidden": {
                "default": false,
                "type": "boolean"
              }
            },
            "required": [
              "group_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "community_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "subgroups": {
            "items": {
              "$ref": "#/definitions/LinkTarget"
            },
            "type": "array"
          }
        },
        "required": [
          "community_id",
          "session_id",
          "subgroups"
        ],
        "title": "LinkRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "FailedGroup": {
            "properties": {
              "code": {
                "format": "uint32",
                "minimum": 0,
                "type": "integer"
              },
              "group_id": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "group_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "failed": {
            "items": {
              "$ref": "#/definitions/FailedGroup"
            },
            "type": "array"
          },
          "succeeded": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "failed",
          "succeeded"
        ],
        "title": "LinkView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List participating communities"
      },
      "name": "whatsapp::communities::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "OverviewView": {
            "properties": {
              "id": {
                "type": "string"
              },
              "is_community": {
                "type": "boolean"
              },
              "parent_group_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_count": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "subject": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "id",
              "is_community"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/OverviewView"
        },
        "title": "Array_of_OverviewView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch linked group participants"
      },
      "name": "whatsapp::communities::participants",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "community_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "community_id",
          "session_id"
        ],
        "title": "CommunityRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantView"
        },
        "title": "Array_of_ParticipantView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch linked-group participant counts"
      },
      "name": "whatsapp::communities::subgroup_counts",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "community_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "community_id",
          "session_id"
        ],
        "title": "CommunityRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SubgroupCount": {
            "properties": {
              "group_id": {
                "type": "string"
              },
              "participant_count": {
                "description": "Null when the native client does not expose this value.",
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "required": [
              "group_id",
              "participant_count"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/SubgroupCount"
        },
        "title": "Array_of_SubgroupCount",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List a community's linked groups"
      },
      "name": "whatsapp::communities::subgroups",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "community_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "community_id",
          "session_id"
        ],
        "title": "CommunityRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SubgroupView": {
            "properties": {
              "creation_time": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "hidden": {
                "description": "Null when the native client does not expose this value.",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "id": {
                "type": "string"
              },
              "is_announcement_subgroup": {
                "type": "boolean"
              },
              "is_general_chat": {
                "description": "Null when the native client does not expose this value.",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "owner": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_count": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "subject": {
                "type": "string"
              }
            },
            "required": [
              "hidden",
              "id",
              "is_announcement_subgroup",
              "is_general_chat",
              "subject"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/SubgroupView"
        },
        "title": "Array_of_SubgroupView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unlink existing groups, optionally removing orphan members"
      },
      "name": "whatsapp::communities::unlink_subgroups",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "community_id": {
            "type": "string"
          },
          "group_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "remove_orphan_members": {
            "default": false,
            "type": "boolean"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "community_id",
          "group_ids",
          "session_id"
        ],
        "title": "UnlinkRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "FailedGroup": {
            "properties": {
              "code": {
                "format": "uint32",
                "minimum": 0,
                "type": "integer"
              },
              "group_id": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "group_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "failed": {
            "items": {
              "$ref": "#/definitions/FailedGroup"
            },
            "type": "array"
          },
          "succeeded": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "failed",
          "succeeded"
        ],
        "title": "LinkView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::config-status",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "additionalProperties": true,
            "type": "object"
          },
          {
            "items": true,
            "type": "array"
          },
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "description": "Payload is ignored; the callback reads authoritative state instead."
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "active": {
            "additionalProperties": false,
            "properties": {
              "cloud": {
                "additionalProperties": false,
                "properties": {
                  "access_token": {
                    "type": "string"
                  },
                  "api_version": {
                    "type": "string"
                  },
                  "app_secret": {
                    "type": "string"
                  },
                  "business_account_id": {
                    "type": "string"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "flow_handler_function": {
                    "type": "string"
                  },
                  "flow_handler_namespace": {
                    "type": "string"
                  },
                  "flow_private_key": {
                    "type": "string"
                  },
                  "phone_number_id": {
                    "type": "string"
                  },
                  "verify_token": {
                    "type": "string"
                  }
                },
                "required": [
                  "enabled",
                  "api_version",
                  "business_account_id",
                  "phone_number_id",
                  "access_token",
                  "app_secret",
                  "verify_token"
                ],
                "type": "object"
              },
              "data_dir": {
                "type": "string"
              },
              "database": {
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "namespace": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "namespace"
                ],
                "type": "object"
              },
              "max_events": {
                "type": "integer"
              },
              "max_inbox_messages": {
                "type": "integer"
              },
              "max_media_bytes": {
                "type": "integer"
              },
              "max_sessions": {
                "type": "integer"
              },
              "operation_timeout_secs": {
                "type": "integer"
              },
              "shutdown_timeout_secs": {
                "type": "integer"
              }
            },
            "required": [
              "database",
              "data_dir",
              "max_sessions",
              "max_media_bytes",
              "max_events",
              "max_inbox_messages",
              "operation_timeout_secs",
              "shutdown_timeout_secs",
              "cloud"
            ],
            "type": "object"
          },
          "environment_overrides": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "last_error": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_outcome": {
            "type": "string"
          },
          "rejected_reloads": {
            "type": "integer"
          },
          "restart_required_fields": {
            "oneOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ]
          },
          "source": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "source",
          "last_outcome",
          "last_error",
          "rejected_reloads",
          "restart_required_fields",
          "environment_overrides",
          "active"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::configuration-id",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "additionalProperties": true,
            "type": "object"
          },
          {
            "items": true,
            "type": "array"
          },
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "description": "Payload is ignored; the callback reads authoritative state instead."
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update a contact's block state"
      },
      "name": "whatsapp::contacts::block",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jid": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "ContactRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List blocked contacts"
      },
      "name": "whatsapp::contacts::blocked",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "BlockedView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "timestamp": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/BlockedView"
        },
        "title": "Array_of_BlockedView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Check WhatsApp registration and PN/LID mappings"
      },
      "name": "whatsapp::contacts::check",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jids",
          "session_id"
        ],
        "title": "ContactsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ContactCheck": {
            "properties": {
              "business_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "contact_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "is_business": {
                "description": "Null when the native client does not expose this value.",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "lid_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "registered": {
                "type": "boolean"
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "is_business",
              "jid",
              "registered"
            ],
            "type": "object"
          },
          "SubprotocolErrorView": {
            "properties": {
              "backoff": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "code": {
                "format": "uint16",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "text": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ContactCheck"
        },
        "title": "Array_of_ContactCheck",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch server contact metadata for supplied JIDs"
      },
      "name": "whatsapp::contacts::info",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jids",
          "session_id"
        ],
        "title": "ContactsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ContactInfo": {
            "properties": {
              "about": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "business_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "devices": {
                "items": {
                  "format": "uint16",
                  "minimum": 0,
                  "type": "integer"
                },
                "type": "array"
              },
              "devices_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "is_business": {
                "description": "Null when the native client does not expose this value.",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "lid_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "picture_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "picture_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username_error": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/SubprotocolErrorView"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "devices",
              "is_business",
              "jid"
            ],
            "type": "object"
          },
          "SubprotocolErrorView": {
            "properties": {
              "backoff": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "code": {
                "format": "uint16",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "text": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ContactInfo"
        },
        "title": "Array_of_ContactInfo",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Check whether a contact is blocked"
      },
      "name": "whatsapp::contacts::is_blocked",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jid": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "ContactRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "blocked": {
            "type": "boolean"
          }
        },
        "required": [
          "blocked"
        ],
        "title": "BlockedStatus",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Look up a profile photo with explicit privacy and rate-limit outcomes"
      },
      "name": "whatsapp::contacts::picture",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "existing_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "jid": {
            "type": "string"
          },
          "preview": {
            "default": false,
            "type": "boolean"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "PictureRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "properties": {
              "direct_path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hash": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "id": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "found"
                ],
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "status",
              "url"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "unchanged"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "not_found"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "not_authorized"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "rate_overlimit"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "unknown"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          }
        ],
        "title": "PictureView"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch up to 50 contact photos, retaining per-contact lookup errors"
      },
      "name": "whatsapp::contacts::pictures",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jids",
          "session_id"
        ],
        "title": "ContactsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ContactPicture": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "picture": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/PictureView"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          },
          "PictureView": {
            "oneOf": [
              {
                "properties": {
                  "direct_path": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "hash": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "id": {
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "found"
                    ],
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "status",
                  "url"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "status": {
                    "enum": [
                      "unchanged"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "status": {
                    "enum": [
                      "not_found"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "status": {
                    "enum": [
                      "not_authorized"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "status": {
                    "enum": [
                      "rate_overlimit"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "status": {
                    "enum": [
                      "unknown"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              }
            ]
          }
        },
        "items": {
          "$ref": "#/definitions/ContactPicture"
        },
        "title": "Array_of_ContactPicture",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Resolve a PN or LID contact to phone digits when a mapping is available"
      },
      "name": "whatsapp::contacts::resolve_phone",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jid": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "ContactRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "jid": {
            "type": "string"
          },
          "phone_number": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "jid"
        ],
        "title": "ResolvedPhone",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Save a contact through WhatsApp app-state sync"
      },
      "name": "whatsapp::contacts::save",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "jid": {
            "type": "string"
          },
          "save_on_primary_addressbook": {
            "default": false,
            "type": "boolean"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "SaveContactRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Update a contact's block state"
      },
      "name": "whatsapp::contacts::unblock",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jid": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "ContactRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Poll bounded session events after a sequence cursor, with retention-gap reporting"
      },
      "name": "whatsapp::events::poll",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "after_sequence": {
            "default": 0,
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "limit": {
            "default": 100,
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "EventsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Event": {
            "properties": {
              "data": true,
              "kind": {
                "type": "string"
              },
              "sequence": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "timestamp_ms": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "data",
              "kind",
              "sequence",
              "session_id",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "events": {
            "items": {
              "$ref": "#/definitions/Event"
            },
            "type": "array"
          },
          "next_sequence": {
            "description": "Pass this value as `after_sequence` in the next poll.",
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "truncated": {
            "description": "Earlier events have fallen outside the bounded queue or a process restarted.",
            "type": "boolean"
          }
        },
        "required": [
          "events",
          "next_sequence",
          "truncated"
        ],
        "title": "EventPage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Add participants; preserves individual failures"
      },
      "name": "whatsapp::groups::add_participants",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "participants": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "participants",
          "session_id"
        ],
        "title": "ParticipantsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantChange": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_expiration": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantChange"
        },
        "title": "Array_of_ParticipantChange",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Approve group membership requests"
      },
      "name": "whatsapp::groups::approve_requests",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "participants": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "participants",
          "session_id"
        ],
        "title": "ParticipantsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantChange": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_expiration": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantChange"
        },
        "title": "Array_of_ParticipantChange",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a WhatsApp group"
      },
      "name": "whatsapp::groups::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "participants": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "subject"
        ],
        "title": "CreateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "properties": {
          "allow_admin_reports": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "announcement": {
            "type": "boolean"
          },
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "creator": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "description_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ephemeral_expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "group_history_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "is_announcement_subgroup": {
            "type": "boolean"
          },
          "is_community": {
            "type": "boolean"
          },
          "is_general_chat": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "limit_sharing_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "locked": {
            "type": "boolean"
          },
          "member_add_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_link_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_share_history_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "membership_approval": {
            "type": "boolean"
          },
          "no_frequently_forwarded": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "parent_group_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "participant_count": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "participants": {
            "items": {
              "$ref": "#/definitions/ParticipantView"
            },
            "type": "array"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_admin_reports",
          "announcement",
          "group_history_enabled",
          "id",
          "is_announcement_subgroup",
          "is_community",
          "is_general_chat",
          "limit_sharing_enabled",
          "locked",
          "membership_approval",
          "no_frequently_forwarded",
          "participants"
        ],
        "title": "GroupView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Demote group admins"
      },
      "name": "whatsapp::groups::demote_participants",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "participants": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "participants",
          "session_id"
        ],
        "title": "ParticipantsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantChange": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_expiration": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantChange"
        },
        "title": "Array_of_ParticipantChange",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch group metadata and settings"
      },
      "name": "whatsapp::groups::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "GroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "properties": {
          "allow_admin_reports": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "announcement": {
            "type": "boolean"
          },
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "creator": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "description_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ephemeral_expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "group_history_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "is_announcement_subgroup": {
            "type": "boolean"
          },
          "is_community": {
            "type": "boolean"
          },
          "is_general_chat": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "limit_sharing_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "locked": {
            "type": "boolean"
          },
          "member_add_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_link_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_share_history_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "membership_approval": {
            "type": "boolean"
          },
          "no_frequently_forwarded": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "parent_group_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "participant_count": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "participants": {
            "items": {
              "$ref": "#/definitions/ParticipantView"
            },
            "type": "array"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_admin_reports",
          "announcement",
          "group_history_enabled",
          "id",
          "is_announcement_subgroup",
          "is_community",
          "is_general_chat",
          "limit_sharing_enabled",
          "locked",
          "membership_approval",
          "no_frequently_forwarded",
          "participants"
        ],
        "title": "GroupView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch group metadata for an invite code"
      },
      "name": "whatsapp::groups::invite_info",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "session_id"
        ],
        "title": "InviteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "lid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_type": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid",
              "participant_type"
            ],
            "type": "object"
          }
        },
        "properties": {
          "allow_admin_reports": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "announcement": {
            "type": "boolean"
          },
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "creator": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "description_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ephemeral_expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "group_history_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "is_announcement_subgroup": {
            "type": "boolean"
          },
          "is_community": {
            "type": "boolean"
          },
          "is_general_chat": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "limit_sharing_enabled": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "locked": {
            "type": "boolean"
          },
          "member_add_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_link_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_share_history_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "membership_approval": {
            "type": "boolean"
          },
          "no_frequently_forwarded": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "parent_group_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "participant_count": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "participants": {
            "items": {
              "$ref": "#/definitions/ParticipantView"
            },
            "type": "array"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "allow_admin_reports",
          "announcement",
          "group_history_enabled",
          "id",
          "is_announcement_subgroup",
          "is_community",
          "is_general_chat",
          "limit_sharing_enabled",
          "locked",
          "membership_approval",
          "no_frequently_forwarded",
          "participants"
        ],
        "title": "GroupView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Get or reset the group's invite link"
      },
      "name": "whatsapp::groups::invite_link",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "GroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "title": "InviteView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Join using an invite code; may require approval"
      },
      "name": "whatsapp::groups::join",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "session_id"
        ],
        "title": "InviteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "group_id": {
            "type": "string"
          },
          "pending_approval": {
            "description": "Null when the native client does not expose this value.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "group_id",
          "pending_approval"
        ],
        "title": "JoinView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Leave a group"
      },
      "name": "whatsapp::groups::leave",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "GroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List participating WhatsApp groups"
      },
      "name": "whatsapp::groups::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "OverviewView": {
            "properties": {
              "id": {
                "type": "string"
              },
              "is_community": {
                "type": "boolean"
              },
              "parent_group_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "participant_count": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "subject": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "id",
              "is_community"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/OverviewView"
        },
        "title": "Array_of_OverviewView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List pending group membership requests"
      },
      "name": "whatsapp::groups::membership_requests",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "GroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "MembershipView": {
            "properties": {
              "jid": {
                "type": "string"
              },
              "request_time": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/MembershipView"
        },
        "title": "Array_of_MembershipView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Look up a group profile picture and preserve privacy/rate-limit outcomes"
      },
      "name": "whatsapp::groups::picture",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "existing_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "jid": {
            "type": "string"
          },
          "preview": {
            "default": false,
            "type": "boolean"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jid",
          "session_id"
        ],
        "title": "PictureRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "oneOf": [
          {
            "properties": {
              "direct_path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hash": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "id": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "found"
                ],
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "status",
              "url"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "unchanged"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "not_found"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "not_authorized"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "rate_overlimit"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "properties": {
              "status": {
                "enum": [
                  "unknown"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          }
        ],
        "title": "PictureView"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Promote participants to admin"
      },
      "name": "whatsapp::groups::promote_participants",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "participants": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "participants",
          "session_id"
        ],
        "title": "ParticipantsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantChange": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_expiration": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantChange"
        },
        "title": "Array_of_ParticipantChange",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Reject group membership requests"
      },
      "name": "whatsapp::groups::reject_requests",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "participants": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "participants",
          "session_id"
        ],
        "title": "ParticipantsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantChange": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_expiration": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantChange"
        },
        "title": "Array_of_ParticipantChange",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove group participants"
      },
      "name": "whatsapp::groups::remove_participants",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "participants": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "participants",
          "session_id"
        ],
        "title": "ParticipantsRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "ParticipantChange": {
            "properties": {
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invite_expiration": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "jid": {
                "type": "string"
              },
              "phone_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "jid"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/ParticipantChange"
        },
        "title": "Array_of_ParticipantChange",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove a group's picture"
      },
      "name": "whatsapp::groups::remove_picture",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "GroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "PictureId",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Get or reset the group's invite link"
      },
      "name": "whatsapp::groups::revoke_invite",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "GroupRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "title": "InviteView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Restrict group messages to admins"
      },
      "name": "whatsapp::groups::set_announcement",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "group_id",
          "session_id"
        ],
        "title": "GroupBooleanRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set or remove a group description with version checking"
      },
      "name": "whatsapp::groups::set_description",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "group_id": {
            "type": "string"
          },
          "previous_description_id": {
            "description": "An existing description version; omit to fetch the current version.",
            "type": [
              "string",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id"
        ],
        "title": "DescriptionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set group disappearing-message duration in seconds"
      },
      "name": "whatsapp::groups::set_ephemeral",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "expiration_seconds",
          "group_id",
          "session_id"
        ],
        "title": "GroupDurationRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Restrict group info editing to admins"
      },
      "name": "whatsapp::groups::set_locked",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "group_id",
          "session_id"
        ],
        "title": "GroupBooleanRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Choose whether all members may add people"
      },
      "name": "whatsapp::groups::set_member_add_mode",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "all_members": {
            "description": "False permits admins only; true permits all members.",
            "type": "boolean"
          },
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "all_members",
          "group_id",
          "session_id"
        ],
        "title": "GroupMemberModeRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Require approval for new members"
      },
      "name": "whatsapp::groups::set_membership_approval",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "group_id",
          "session_id"
        ],
        "title": "GroupBooleanRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set a group picture from prepared JPEG bytes"
      },
      "name": "whatsapp::groups::set_picture",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "jpeg_base64": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "jpeg_base64",
          "session_id"
        ],
        "title": "GroupPictureRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "PictureId",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set a group's subject"
      },
      "name": "whatsapp::groups::set_subject",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "group_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "group_id",
          "session_id",
          "subject"
        ],
        "title": "SubjectRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Associate a label with a chat."
      },
      "name": "whatsapp::labels::add_chat",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "label_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "label_id",
          "session_id"
        ],
        "title": "ChatLabelRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Associate a label with a message using the native legacy app-state mutation."
      },
      "name": "whatsapp::labels::add_message",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "label_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "label_id",
          "message_id",
          "session_id"
        ],
        "title": "MessageLabelRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete a label by id."
      },
      "name": "whatsapp::labels::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "label_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "label_id",
          "session_id"
        ],
        "title": "LabelRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove a label from a chat."
      },
      "name": "whatsapp::labels::remove_chat",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "label_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "label_id",
          "session_id"
        ],
        "title": "ChatLabelRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove a message label using the native legacy app-state mutation."
      },
      "name": "whatsapp::labels::remove_message",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "label_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "label_id",
          "message_id",
          "session_id"
        ],
        "title": "MessageLabelRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create or update a label by its stable id."
      },
      "name": "whatsapp::labels::set",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "color": {
            "format": "int32",
            "type": "integer"
          },
          "label_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "color",
          "label_id",
          "name",
          "session_id"
        ],
        "title": "SetLabelRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Download bounded media through native CDN routing and verify its supplied hashes."
      },
      "name": "whatsapp::media::download",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MediaKind": {
            "enum": [
              "image",
              "video",
              "audio",
              "document",
              "sticker"
            ],
            "type": "string"
          }
        },
        "properties": {
          "direct_path": {
            "type": "string"
          },
          "file_enc_sha256_base64": {
            "type": [
              "string",
              "null"
            ]
          },
          "file_length": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "file_sha256_base64": {
            "type": "string"
          },
          "media_key_base64": {
            "description": "Omit both encryption fields only for plaintext channel media.",
            "type": [
              "string",
              "null"
            ]
          },
          "media_type": {
            "$ref": "#/definitions/MediaKind"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "direct_path",
          "file_length",
          "file_sha256_base64",
          "media_type",
          "session_id"
        ],
        "title": "DownloadRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "data_base64": {
            "type": "string"
          },
          "file_length": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "data_base64",
          "file_length"
        ],
        "title": "DownloadedMedia",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Upload and send encoded image/video/audio/document/WebP media; no URL fetching or codec processes."
      },
      "name": "whatsapp::media::send",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MediaContent": {
            "additionalProperties": false,
            "properties": {
              "caption": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "data_base64": {
                "type": "string"
              },
              "duration_seconds": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "file_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "gif_playback": {
                "default": false,
                "type": "boolean"
              },
              "media_type": {
                "$ref": "#/definitions/MediaKind"
              },
              "mimetype": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "thumbnail_base64": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "voice_note": {
                "default": false,
                "description": "Audio is already encoded; the worker never invokes codecs.",
                "type": "boolean"
              }
            },
            "required": [
              "data_base64",
              "media_type"
            ],
            "type": "object"
          },
          "MediaKind": {
            "enum": [
              "image",
              "video",
              "audio",
              "document",
              "sticker"
            ],
            "type": "string"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "media": {
            "$ref": "#/definitions/MediaContent"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "media",
          "session_id"
        ],
        "title": "SendMediaRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Encrypt and upload bounded base64 media to WhatsApp's CDN."
      },
      "name": "whatsapp::media::upload",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MediaKind": {
            "enum": [
              "image",
              "video",
              "audio",
              "document",
              "sticker"
            ],
            "type": "string"
          }
        },
        "properties": {
          "data_base64": {
            "type": "string"
          },
          "media_type": {
            "$ref": "#/definitions/MediaKind"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "data_base64",
          "media_type",
          "session_id"
        ],
        "title": "UploadRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "MediaKind": {
            "enum": [
              "image",
              "video",
              "audio",
              "document",
              "sticker"
            ],
            "type": "string"
          }
        },
        "properties": {
          "direct_path": {
            "type": "string"
          },
          "file_enc_sha256_base64": {
            "type": "string"
          },
          "file_length": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "file_sha256_base64": {
            "type": "string"
          },
          "media_key_base64": {
            "type": "string"
          },
          "media_key_timestamp": {
            "format": "int64",
            "type": "integer"
          },
          "media_type": {
            "$ref": "#/definitions/MediaKind"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "direct_path",
          "file_enc_sha256_base64",
          "file_length",
          "file_sha256_base64",
          "media_key_base64",
          "media_key_timestamp",
          "media_type",
          "url"
        ],
        "title": "UploadedMedia",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Revoke a message for everyone; group admins may specify its original sender."
      },
      "name": "whatsapp::messages::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "original_sender_id": {
            "description": "Set only when revoking another member's message as a group admin.",
            "type": [
              "string",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "session_id"
        ],
        "title": "DeleteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Delete a message only on this account's linked devices."
      },
      "name": "whatsapp::messages::delete_for_me",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "delete_media": {
            "type": "boolean"
          },
          "message_timestamp_ms": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "delete_media",
          "session_id",
          "target"
        ],
        "title": "DeleteLocalRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Edit this account's text message in a direct or group chat."
      },
      "name": "whatsapp::messages::edit",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "session_id",
          "text"
        ],
        "title": "EditRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Keep or unkeep a disappearing message for all participants."
      },
      "name": "whatsapp::messages::keep",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "keep": {
            "type": "boolean"
          },
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "keep",
          "session_id",
          "target"
        ],
        "title": "KeepRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read retained messages newest first, without sending read receipts"
      },
      "name": "whatsapp::messages::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "default": 50,
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "MessagesRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Coverage": {
            "properties": {
              "capture_started_at_ms": {
                "format": "int64",
                "type": "integer"
              },
              "last_history_sync_at_ms": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "last_history_sync_progress": {
                "format": "uint32",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "message_limit": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "retention_truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "capture_started_at_ms",
              "message_limit",
              "retention_truncated"
            ],
            "type": "object"
          },
          "MessageView": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "kind": {
                "type": "string"
              },
              "message_id": {
                "type": "string"
              },
              "sender_id": {
                "type": "string"
              },
              "sender_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source": {
                "type": "string"
              },
              "status": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "text": {
                "type": "string"
              },
              "timestamp_ms": {
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "kind",
              "message_id",
              "sender_id",
              "source",
              "text",
              "timestamp_ms"
            ],
            "type": "object"
          }
        },
        "properties": {
          "coverage": {
            "$ref": "#/definitions/Coverage"
          },
          "messages": {
            "description": "Newest first. A cursor loads older locally retained messages.",
            "items": {
              "$ref": "#/definitions/MessageView"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "coverage",
          "messages"
        ],
        "title": "MessagePage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send played receipts for specific voice or video messages."
      },
      "name": "whatsapp::messages::mark_played",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sender_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_ids",
          "session_id"
        ],
        "title": "ReceiptRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send read receipts for specific messages, respecting native privacy settings."
      },
      "name": "whatsapp::messages::mark_read",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sender_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_ids",
          "session_id"
        ],
        "title": "ReceiptRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Pin a message for all participants for 24 hours, 7 days or 30 days."
      },
      "name": "whatsapp::messages::pin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          },
          "PinTime": {
            "enum": [
              "hours24",
              "days7",
              "days30"
            ],
            "type": "string"
          }
        },
        "properties": {
          "duration": {
            "$ref": "#/definitions/PinTime"
          },
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "duration",
          "session_id",
          "target"
        ],
        "title": "PinMessageRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set or remove a reaction using the original message key."
      },
      "name": "whatsapp::messages::react",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "emoji": {
            "description": "Empty removes this account's reaction.",
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "emoji",
          "session_id",
          "target"
        ],
        "title": "ReactionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Reply quoting a text message with its original sender and stanza id."
      },
      "name": "whatsapp::messages::reply",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "quoted_text": {
            "type": "string"
          },
          "sender_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "message_id",
          "quoted_text",
          "sender_id",
          "session_id",
          "text"
        ],
        "title": "ReplyRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Ask the primary phone for older messages before the oldest locally known message; response arrives asynchronously"
      },
      "name": "whatsapp::messages::request_history",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "count": {
            "default": 50,
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id"
        ],
        "title": "HistoryRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "request_id": {
            "type": "string"
          },
          "requested_count": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "request_id",
          "requested_count"
        ],
        "title": "HistoryRequested",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a contact as a supplied vCard."
      },
      "name": "whatsapp::messages::send_contact",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "vcard": {
            "description": "A complete vCard, supplied by the caller.",
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "display_name",
          "session_id",
          "vcard"
        ],
        "title": "ContactRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a static geographic location."
      },
      "name": "whatsapp::messages::send_location",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "chat_id": {
            "type": "string"
          },
          "latitude": {
            "format": "double",
            "type": "number"
          },
          "longitude": {
            "format": "double",
            "type": "number"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "latitude",
          "longitude",
          "session_id"
        ],
        "title": "LocationRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a poll and return the secret needed to process votes."
      },
      "name": "whatsapp::messages::send_poll",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "options": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "selectable_count": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "name",
          "options",
          "selectable_count",
          "session_id"
        ],
        "title": "PollRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          },
          "SentMessage": {
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "message_id": {
                "type": "string"
              },
              "recipient_fanout": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/Fanout"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "chat_id",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "message": {
            "$ref": "#/definitions/SentMessage"
          },
          "message_secret_base64": {
            "type": "string"
          }
        },
        "required": [
          "message",
          "message_secret_base64"
        ],
        "title": "PollSent",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Send a text message; returns submission metadata, not delivery confirmation."
      },
      "name": "whatsapp::messages::send_text",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "session_id",
          "text"
        ],
        "title": "TextRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Star a message on this account's linked devices."
      },
      "name": "whatsapp::messages::star",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "session_id",
          "target"
        ],
        "title": "MessageActionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unpin a message for all participants."
      },
      "name": "whatsapp::messages::unpin",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "session_id",
          "target"
        ],
        "title": "MessageActionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove a message's star on linked devices."
      },
      "name": "whatsapp::messages::unstar",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "definitions": {
          "MessageKeyInput": {
            "additionalProperties": false,
            "description": "Keeps an original sender's namespace, including LID, for message operations.",
            "properties": {
              "chat_id": {
                "type": "string"
              },
              "from_me": {
                "type": "boolean"
              },
              "message_id": {
                "type": "string"
              },
              "participant_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "chat_id",
              "from_me",
              "message_id"
            ],
            "type": "object"
          }
        },
        "properties": {
          "session_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/definitions/MessageKeyInput"
          }
        },
        "required": [
          "session_id",
          "target"
        ],
        "title": "MessageActionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Submit or clear a poll selection using the poll's original secret."
      },
      "name": "whatsapp::messages::vote_poll",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "creator_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "message_secret_base64": {
            "type": "string"
          },
          "option_names": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "chat_id",
          "creator_id",
          "message_id",
          "message_secret_base64",
          "option_names",
          "session_id"
        ],
        "title": "PollVoteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Fanout": {
            "properties": {
              "addressed": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "encrypted": {
                "format": "uint",
                "minimum": 0,
                "type": "integer"
              },
              "had_unregistered_device": {
                "type": "boolean"
              },
              "skipped_primary": {
                "type": "boolean"
              }
            },
            "required": [
              "addressed",
              "encrypted",
              "had_unregistered_device",
              "skipped_primary"
            ],
            "type": "object"
          }
        },
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "recipient_fanout": {
            "anyOf": [
              {
                "$ref": "#/definitions/Fanout"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chat_id",
          "message_id"
        ],
        "title": "SentMessage",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create a channel with a name and optional description."
      },
      "name": "whatsapp::newsletters::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "session_id"
        ],
        "title": "CreateRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "follower_activity_muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "invite_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "picture_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "preview_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "subscriber_count": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "newsletter_id",
          "state",
          "subscriber_count",
          "verification"
        ],
        "title": "Metadata",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Edit a channel text message using its stanza message id, not server id."
      },
      "name": "whatsapp::newsletters::edit",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "message_id": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "message_id",
          "newsletter_id",
          "session_id",
          "text"
        ],
        "title": "EditRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch channel metadata."
      },
      "name": "whatsapp::newsletters::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "newsletter_id",
          "session_id"
        ],
        "title": "NewsletterRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "follower_activity_muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "invite_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "picture_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "preview_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "subscriber_count": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "newsletter_id",
          "state",
          "subscriber_count",
          "verification"
        ],
        "title": "Metadata",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Look up channel metadata using its invite code."
      },
      "name": "whatsapp::newsletters::get_by_invite",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "invite_code": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "invite_code",
          "session_id"
        ],
        "title": "InviteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "follower_activity_muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "invite_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "picture_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "preview_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "subscriber_count": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "newsletter_id",
          "state",
          "subscriber_count",
          "verification"
        ],
        "title": "Metadata",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Subscribe to a channel."
      },
      "name": "whatsapp::newsletters::join",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "newsletter_id",
          "session_id"
        ],
        "title": "NewsletterRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "creation_time": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "follower_activity_muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "invite_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "muted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "picture_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "preview_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "subscriber_count": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "newsletter_id",
          "state",
          "subscriber_count",
          "verification"
        ],
        "title": "Metadata",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Unsubscribe from a channel."
      },
      "name": "whatsapp::newsletters::leave",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "newsletter_id",
          "session_id"
        ],
        "title": "NewsletterRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List subscribed channels."
      },
      "name": "whatsapp::newsletters::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "Metadata": {
            "properties": {
              "creation_time": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "follower_activity_muted": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "invite_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "muted": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "name": {
                "type": "string"
              },
              "newsletter_id": {
                "type": "string"
              },
              "picture_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "preview_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "role": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "state": {
                "type": "string"
              },
              "subscriber_count": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              },
              "verification": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "newsletter_id",
              "state",
              "subscriber_count",
              "verification"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/Metadata"
        },
        "title": "Array_of_Metadata",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch a bounded page of channel messages with typed envelope metadata and protobuf JSON content."
      },
      "name": "whatsapp::newsletters::messages",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "before_server_id": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "count": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "count",
          "newsletter_id",
          "session_id"
        ],
        "title": "HistoryRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "AdminProfile": {
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": "string"
              },
              "picture_direct_path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "picture_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "name"
            ],
            "type": "object"
          },
          "HistoryMessage": {
            "properties": {
              "admin_profile": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AdminProfile"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "content": {
                "description": "Native protobuf JSON content; absent on revoked messages."
              },
              "forwards_count": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "is_sender": {
                "description": "Null when the native client does not expose this value.",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "last_edit_timestamp_ms": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "media_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "message_id": {
                "type": "string"
              },
              "message_type": {
                "type": "string"
              },
              "original_timestamp": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "poll_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "reactions": {
                "description": "Null when the native client does not expose this value.",
                "items": {
                  "$ref": "#/definitions/ReactionCount"
                },
                "type": [
                  "array",
                  "null"
                ]
              },
              "responses_count": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "server_id": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              },
              "timestamp": {
                "description": "Null when the native client does not expose this value.",
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "views_count": {
                "format": "uint64",
                "minimum": 0,
                "type": [
                  "integer",
                  "null"
                ]
              },
              "votes": {
                "description": "Null when the native client does not expose this value.",
                "items": {
                  "$ref": "#/definitions/VoteCount"
                },
                "type": [
                  "array",
                  "null"
                ]
              }
            },
            "required": [
              "is_sender",
              "message_id",
              "message_type",
              "reactions",
              "server_id",
              "timestamp",
              "votes"
            ],
            "type": "object"
          },
          "ReactionCount": {
            "properties": {
              "count": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              },
              "emoji": {
                "type": "string"
              }
            },
            "required": [
              "count",
              "emoji"
            ],
            "type": "object"
          },
          "VoteCount": {
            "properties": {
              "count": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              },
              "option_hash_base64": {
                "type": "string"
              }
            },
            "required": [
              "count",
              "option_hash_base64"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/HistoryMessage"
        },
        "title": "Array_of_HistoryMessage",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Mute or unmute channel updates for this account."
      },
      "name": "whatsapp::newsletters::mute_updates",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "muted": {
            "type": "boolean"
          },
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "muted",
          "newsletter_id",
          "session_id"
        ],
        "title": "MuteRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set or remove a channel reaction using its server-assigned message id."
      },
      "name": "whatsapp::newsletters::react",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "emoji": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "server_id": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "emoji",
          "newsletter_id",
          "server_id",
          "session_id"
        ],
        "title": "ReactionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "stanza_id": {
            "type": "string"
          }
        },
        "required": [
          "stanza_id"
        ],
        "title": "Stanza",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Revoke a channel message using its stanza message id, not server id."
      },
      "name": "whatsapp::newsletters::revoke",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "message_id": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "message_id",
          "newsletter_id",
          "session_id"
        ],
        "title": "RevokeRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Acknowledges only completion of the native API call.",
        "properties": {
          "applied": {
            "type": "boolean"
          }
        },
        "required": [
          "applied"
        ],
        "title": "Applied",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Subscribe to channel counters and return the server's renewal interval."
      },
      "name": "whatsapp::newsletters::subscribe_updates",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "newsletter_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "newsletter_id",
          "session_id"
        ],
        "title": "NewsletterRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "duration_seconds": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "duration_seconds"
        ],
        "title": "Subscription",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true,
        "trace_hidden": true
      },
      "name": "whatsapp::on-config-change",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "additionalProperties": true,
            "type": "object"
          },
          {
            "items": true,
            "type": "array"
          },
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "description": "Payload is ignored; the callback reads authoritative state instead."
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "ok": {
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Fetch current account privacy settings"
      },
      "name": "whatsapp::privacy::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "PrivacyView": {
            "properties": {
              "category": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "category",
              "value"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/PrivacyView"
        },
        "title": "Array_of_PrivacyView",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set a validated account privacy category"
      },
      "name": "whatsapp::privacy::set",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "category": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "session_id",
          "value"
        ],
        "title": "PrivacyRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "dhash": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "PrivacyUpdateView",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set the default disappearing-message duration in seconds"
      },
      "name": "whatsapp::privacy::set_disappearing_default",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "expiration_seconds": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "expiration_seconds",
          "session_id"
        ],
        "title": "DefaultDurationRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Remove the account's profile photo"
      },
      "name": "whatsapp::profile::remove_picture",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "PictureId",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set profile About text, not a story/status post"
      },
      "name": "whatsapp::profile::set_about",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "text"
        ],
        "title": "ProfileTextRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set the account's display name"
      },
      "name": "whatsapp::profile::set_name",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "text"
        ],
        "title": "ProfileTextRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Null",
        "type": "null"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Set the account photo from prepared JPEG bytes"
      },
      "name": "whatsapp::profile::set_picture",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jpeg_base64": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "jpeg_base64",
          "session_id"
        ],
        "title": "ProfilePictureRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "PictureId",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Create persistent session metadata without connecting to WhatsApp"
      },
      "name": "whatsapp::sessions::create",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          }
        },
        "properties": {
          "created_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/SessionStatus"
          }
        },
        "required": [
          "created_at_ms",
          "session_id",
          "status"
        ],
        "title": "SessionSummary",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Stop and remove one session and its local credentials"
      },
      "name": "whatsapp::sessions::delete",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          }
        },
        "properties": {
          "created_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/SessionStatus"
          }
        },
        "required": [
          "created_at_ms",
          "session_id",
          "status"
        ],
        "title": "SessionSummary",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Get a session summary without credentials or pairing secrets"
      },
      "name": "whatsapp::sessions::get",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          }
        },
        "properties": {
          "created_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/SessionStatus"
          }
        },
        "required": [
          "created_at_ms",
          "session_id",
          "status"
        ],
        "title": "SessionSummary",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "List persistent sessions without connecting"
      },
      "name": "whatsapp::sessions::list",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "title": "EmptyRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          },
          "SessionSummary": {
            "properties": {
              "created_at_ms": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "status": {
                "$ref": "#/definitions/SessionStatus"
              }
            },
            "required": [
              "created_at_ms",
              "session_id",
              "status"
            ],
            "type": "object"
          }
        },
        "items": {
          "$ref": "#/definitions/SessionSummary"
        },
        "title": "Array_of_SessionSummary",
        "type": "array"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Request native best-effort device unlink, stop, and clear local credentials"
      },
      "name": "whatsapp::sessions::logout",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          }
        },
        "properties": {
          "created_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/SessionStatus"
          }
        },
        "required": [
          "created_at_ms",
          "session_id",
          "status"
        ],
        "title": "SessionSummary",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Request a native phone-number pairing code for a started session"
      },
      "name": "whatsapp::sessions::pair_code",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "phone_number": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "phone_number",
          "session_id"
        ],
        "title": "PairCodeRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "description": "Pairing material is returned only by the dedicated pairing functions.",
        "properties": {
          "code": {
            "type": "string"
          },
          "expires_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "code",
          "expires_at_ms"
        ],
        "title": "PairingCode",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Read the current unexpired pairing QR payload; null when unavailable"
      },
      "name": "whatsapp::sessions::qr",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "anyOf": [
          {
            "$ref": "#/definitions/PairingCode"
          },
          {
            "type": "null"
          }
        ],
        "definitions": {
          "PairingCode": {
            "description": "Pairing material is returned only by the dedicated pairing functions.",
            "properties": {
              "code": {
                "type": "string"
              },
              "expires_at_ms": {
                "format": "uint64",
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "code",
              "expires_at_ms"
            ],
            "type": "object"
          }
        },
        "title": "Nullable_PairingCode"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Start a native session and return its current connection state"
      },
      "name": "whatsapp::sessions::start",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          }
        },
        "properties": {
          "created_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/SessionStatus"
          }
        },
        "required": [
          "created_at_ms",
          "session_id",
          "status"
        ],
        "title": "SessionSummary",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "description": "Stop a native session while preserving credentials"
      },
      "name": "whatsapp::sessions::stop",
      "request_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "title": "SessionRequest",
        "type": "object"
      },
      "response_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "definitions": {
          "SessionStatus": {
            "enum": [
              "stopped",
              "starting",
              "pairing",
              "connected",
              "disconnected",
              "stopping",
              "logged_out",
              "failed"
            ],
            "type": "string"
          }
        },
        "properties": {
          "created_at_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/SessionStatus"
          }
        },
        "required": [
          "created_at_ms",
          "session_id",
          "status"
        ],
        "title": "SessionSummary",
        "type": "object"
      }
    },
    {
      "description": "",
      "metadata": {
        "internal": true
      },
      "name": "whatsapp::ui-content",
      "request_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "response_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "content": {
            "type": "string"
          },
          "content_type": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "content_type"
        ],
        "type": "object"
      }
    }
  ],
  "triggers": [
    {
      "description": "Filtered WhatsApp Cloud API messages, delivery statuses, and optional account/group/calling webhook events. Publishes verified events after durable deduplication; messages are also saved to the local archive.\n\n## Register a subscription\n\n1. Register a callback function that accepts the event object below. Replace `automation::on-whatsapp-message` with that function's ID and the example `chat_ids` with the contacts you want to monitor.\n2. Call `engine::register_trigger` in the `default` namespace with the following JSON. Use an initialized caller connection in the callback function's namespace. `trigger_namespace` selects this WhatsApp provider, not the callback namespace. With the CLI, `III_NAMESPACE` sets the connection namespace; `--namespace default` routes the call to the engine function. For a newly connected Go SDK client, first wait until `engine::workers::list` shows that client in the intended namespace; `Connect` can return before its namespace is announced.\n\n```json\n{\n  \"trigger_type\": \"whatsapp::cloud::events\",\n  \"trigger_namespace\": \"default\",\n  \"function_id\": \"automation::on-whatsapp-message\",\n  \"config\": {\n    \"chat_ids\": [\"+15550000009\"],\n    \"message_types\": [\"text\"]\n  },\n  \"metadata\": {\"workflow\": \"customer-support\"}\n}\n```\n\n3. Save the returned `id`. Call `engine::registered-triggers::info` with `{\"id\":\"<returned-id>\"}` and check that `status` is `active` and `function` identifies the intended callback and namespace. Active confirms the provider binding; it does not guarantee the callback exists. Registration does not replay old messages.\n4. Remove the subscription with `engine::unregister_trigger` and `{\"id\":\"<returned-id>\"}`. Function-path registrations survive the calling connection closing; explicitly unregister them when finished. Callback metadata is separate from the event payload. Callback return values do not send replies to WhatsApp.\n\n## Filter configuration\n\nEvery field in `config` is optional. Always supply a JSON object; `{}` receives all incoming messages for the configured Cloud account. Unknown fields are rejected. Populated fields combine with AND; values within each list combine with OR.\n\n| Field | Values and behavior |\n| --- | --- |\n| `kinds` | List: `message.received`, `message.status`, `webhook.received`. Omitted, null or empty defaults to only `message.received`. |\n| `chat_ids` | Contact phone numbers such as `+15550000009`, business-scoped IDs such as `BR.ENT.Abc123`, or `group:<raw Cloud group ID>`. Use IDs from `whatsapp::cloud::chats::list`. Native JIDs are not supported. |\n| `sender_ids` | List of sender IDs in the same format. Applies to incoming messages. |\n| `message_types` | List of exact raw Meta types, such as `text`, `image`, `audio`, `interactive` or `button`. Names must start with a lowercase letter and contain 1–64 lowercase letters, digits or underscores. |\n| `statuses` | List: `sent`, `delivered`, `read`, `failed`. Also set `kinds` to include `message.status`. |\n| `fields` | Exact Meta webhook fields, such as `messages`, `message_template_status_update`, `calls`, or `group_lifecycle_update`. Administrative events require `kinds: [\"webhook.received\"]`. |\n| `events` | Exact administrative event names, such as `APPROVED`, `group_create`, or a calling event name. |\n| `group_ids` | Raw Cloud group IDs without the `group:` prefix. Matches group messages, receipts, and metadata events. |\n| `participant_ids` | Normalized participants identified by group delivery/read receipts. Also select `message.status`. |\n| `business_account_id` | Exact WABA ID, a numeric string of at most 32 digits. |\n| `phone_number_id` | Exact Phone Number ID, a numeric string of at most 32 digits. |\n\nEmpty lists impose no restriction except the received-only default for `kinds`. Empty account ID strings impose no restriction. Each list allows at most 128 values; the entire filter is limited to 64 KiB. Status events have no sender or message type, so populated `sender_ids` or `message_types` exclude them. To receive read and failed receipts for one contact, replace `config` above with:\n\n```json\n{\n  \"kinds\": [\"message.status\"],\n  \"chat_ids\": [\"+15550000009\"],\n  \"statuses\": [\"read\", \"failed\"]\n}\n```\n\n## Callback payload\n\n```json\n{\n  \"kind\": \"message.received\",\n  \"business_account_id\": \"123\",\n  \"phone_number_id\": \"456\",\n  \"message_id\": \"wamid.example\",\n  \"chat_id\": \"+15550000009\",\n  \"sender_id\": \"+15550000009\",\n  \"message_type\": \"text\",\n  \"text\": \"Hello\",\n  \"timestamp_ms\": 1700000000000,\n  \"data\": {\n    \"id\": \"wamid.example\",\n    \"from\": \"15550000009\",\n    \"timestamp\": \"1700000000\",\n    \"type\": \"text\",\n    \"text\": {\"body\": \"Hello\"}\n  }\n}\n```\n\n`message.status` uses the same account, message, chat and timestamp fields plus `status`; sender, message type and text may be absent. `timestamp_ms` is Meta's timestamp in milliseconds. `data` contains the single original message/status object, not the whole webhook. Events are capped at 64 KiB; oversized content uses `data: {\"content_omitted\":true}` with a clipped preview.\n\n## Delivery and setup\n\nConfigure Cloud API credentials and the Meta webhook first; `whatsapp::cloud::status` reports local setup. This trigger does not configure Meta or subscribe to linked-device events (`whatsapp::events`). Local sends do not emit `message.received`; Meta receipts can emit `message.status`.\n\nDuplicate messages and identical status updates are suppressed within retained deduplication history. Delivery is best effort, without callback retries or replay; queue overflow, shutdown or callback failures can lose notifications. Reconcile current retained message state with `whatsapp::cloud::chats::list` and `whatsapp::cloud::messages::list`. Reconcile administrative state with its corresponding management API; the message archive does not store account-event history.\n\n## Administrative and group subscriptions\n\nFor template status changes, register a callback with this filter:\n\n```json\n{\n  \"trigger_type\": \"whatsapp::cloud::events\",\n  \"trigger_namespace\": \"default\",\n  \"function_id\": \"automation::on-template-status\",\n  \"config\": {\n    \"kinds\": [\"webhook.received\"],\n    \"fields\": [\"message_template_status_update\"],\n    \"events\": [\"APPROVED\", \"REJECTED\"]\n  }\n}\n```\n\n`webhook.received` has `event_id` (a deterministic hash), `field`, optional\n`event`, and sanitized `data`. Its `message_id` and `chat_id` are empty.\n`phone_number_id` is empty for WABA-wide events without a phone identity;\na nonempty phone filter excludes those events. `timestamp_ms` is Meta's entry\nor nested event timestamp, or zero when Meta provides none. No receipt time is\nsubstituted. Duplicate detection hashes the canonical event and supplied time.\n\nGroup metadata and calling collections are split into individual events while\nretaining their nested `groups` or `calls` object inside `data`. Coexistence\nhistory/state/echo payloads can be subscribed to by field, but are not imported\nas ordinary inbox messages. This does not provision coexistence or initiate\nhistory synchronization.\n\nFor a Cloud group, use:\n\n```json\n{\n  \"kinds\": [\"message.received\", \"message.status\"],\n  \"group_ids\": [\"Y2FwaV9ncm91cDoxMjM=\"]\n}\n```\n\nGroup messages use `chat_id: \"group:<id>\"`, retain the participant as `sender_id`,\nand include raw `group_id`. Delivery/read receipts for an individual participant\ninclude `participant_id`; they are deduplicated per participant. They do not\nmark the entire group conversation as delivered/read. These subscriptions use\nthe official Cloud Groups API, not linked-device group JIDs. Meta account\neligibility and webhook field subscriptions are still required.\n\nSee [Meta webhook fields](https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/overview)\nand [group webhook contracts](https://developers.facebook.com/documentation/business-messaging/whatsapp/groups/webhooks).\n",
      "invocation_schema": {
        "$defs": {
          "identity": {
            "description": "The worker validates and normalizes this value. International phone numbers must contain 7 to 15 digits, beginning with a nonzero digit; an initial +, spaces, parentheses and hyphens are accepted. Business-scoped user IDs use a two-letter uppercase prefix, a dot, optional ENT., and 1 to 128 letters or digits. Surrounding whitespace is ignored. Conversation filters also support group:<raw Meta group ID>.",
            "type": "string"
          }
        },
        "$id": "https://whatsapp.invalid/cloud-events/config.schema.json",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "description": "Configuration for whatsapp::cloud::events. All fields are optional. Fields combine with AND; values within a list combine with OR. Empty or null lists apply no restriction, except kinds, which defaults to incoming messages. The worker also enforces a 64 KiB serialized configuration limit.",
        "examples": [
          {},
          {
            "chat_ids": [
              "+15551234567"
            ],
            "message_types": [
              "text",
              "interactive"
            ]
          },
          {
            "chat_ids": [
              "+15551234567"
            ],
            "kinds": [
              "message.status"
            ],
            "statuses": [
              "read",
              "failed"
            ]
          },
          {
            "events": [
              "APPROVED"
            ],
            "fields": [
              "message_template_status_update"
            ],
            "kinds": [
              "webhook.received"
            ]
          }
        ],
        "properties": {
          "business_account_id": {
            "description": "Exact Meta WhatsApp Business Account ID. Omitted, empty or null means no account restriction.",
            "examples": [
              "123456789"
            ],
            "pattern": "^[0-9]{0,32}$",
            "type": [
              "string",
              "null"
            ]
          },
          "chat_ids": {
            "description": "Individual conversation identities or group:<raw Meta group ID>. Native JIDs are not supported.",
            "examples": [
              [
                "+15551234567"
              ],
              [
                "BR.ENT.customer42"
              ]
            ],
            "items": {
              "$ref": "#/$defs/identity"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "events": {
            "description": "Exact value.event names, such as APPROVED. Combined with other filters using AND.",
            "items": {
              "maxLength": 128,
              "minLength": 1,
              "pattern": "^\\S(?:[\\s\\S]*\\S)?$",
              "type": "string"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "fields": {
            "description": "Exact raw Meta webhook field names. For administrative notifications explicitly select kinds: [webhook.received].",
            "items": {
              "pattern": "^[a-z][a-z0-9_]{0,63}$",
              "type": "string"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "group_ids": {
            "description": "Raw Cloud group IDs. Applies to group messages, statuses and group metadata events.",
            "items": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
              "type": "string"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "kinds": {
            "default": [
              "message.received"
            ],
            "description": "Event kinds to receive. Omitted, empty or null means message.received only. Select message.status explicitly for delivery receipts.",
            "items": {
              "enum": [
                "message.received",
                "message.status",
                "webhook.received"
              ]
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "message_types": {
            "description": "Exact raw Meta message types, such as text, image, interactive or contacts. Future type names are allowed. Status events have no message type and cannot match a nonempty message_types filter.",
            "examples": [
              [
                "text",
                "interactive"
              ]
            ],
            "items": {
              "pattern": "^[a-z][a-z0-9_]{0,63}$",
              "type": "string"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "participant_ids": {
            "description": "Group delivery/read receipt participants. Explicitly include message.status in kinds.",
            "items": {
              "$ref": "#/$defs/identity"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "phone_number_id": {
            "description": "Exact Meta Phone Number ID, not the displayed telephone number. Omitted, empty or null means no phone restriction.",
            "examples": [
              "987654321"
            ],
            "pattern": "^[0-9]{0,32}$",
            "type": [
              "string",
              "null"
            ]
          },
          "sender_ids": {
            "description": "Individual sender identities (phone numbers or BSUIDs), never group IDs. Status events have no sender and cannot match a nonempty sender_ids filter.",
            "items": {
              "$ref": "#/$defs/identity"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "statuses": {
            "description": "Delivery states. Set kinds to include message.status; a status filter does not change the default kind. Incoming messages have no status and cannot match a nonempty statuses filter.",
            "examples": [
              [
                "delivered",
                "read"
              ]
            ],
            "items": {
              "enum": [
                "sent",
                "delivered",
                "read",
                "failed"
              ]
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "WhatsApp Cloud event filters",
        "type": "object"
      },
      "metadata": {},
      "name": "whatsapp::cloud::events",
      "return_schema": {
        "$defs": {
          "conversation": {
            "pattern": "^(\\+[1-9][0-9]{6,14}|[A-Z]{2}\\.(ENT\\.)?[A-Za-z0-9]{1,128}|group:[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255})$",
            "type": "string"
          },
          "identity": {
            "pattern": "^(\\+[1-9][0-9]{6,14}|[A-Z]{2}\\.(ENT\\.)?[A-Za-z0-9]{1,128})$",
            "type": "string"
          }
        },
        "$id": "https://whatsapp.invalid/cloud-events/payload.schema.json",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": true,
        "description": "One verified message, delivery status, or explicitly subscribed administrative webhook event. Event delivery is best effort after durable deduplication.",
        "examples": [
          {
            "business_account_id": "123456789",
            "chat_id": "+15551234567",
            "data": {
              "from": "15551234567",
              "id": "wamid.example",
              "text": {
                "body": "Hello"
              },
              "timestamp": "1790870400",
              "type": "text"
            },
            "kind": "message.received",
            "message_id": "wamid.example",
            "message_type": "text",
            "phone_number_id": "987654321",
            "sender_id": "+15551234567",
            "text": "Hello",
            "timestamp_ms": 1790870400000
          },
          {
            "business_account_id": "123456789",
            "chat_id": "+15551234567",
            "data": {
              "id": "wamid.example",
              "recipient_id": "15551234567",
              "status": "read",
              "timestamp": "1790870460"
            },
            "kind": "message.status",
            "message_id": "wamid.example",
            "phone_number_id": "987654321",
            "status": "read",
            "timestamp_ms": 1790870460000
          },
          {
            "business_account_id": "123",
            "chat_id": "",
            "data": {
              "event": "APPROVED",
              "message_template_id": "999"
            },
            "event": "APPROVED",
            "event_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            "field": "message_template_status_update",
            "kind": "webhook.received",
            "message_id": "",
            "phone_number_id": "",
            "timestamp_ms": 0
          }
        ],
        "oneOf": [
          {
            "properties": {
              "chat_id": {
                "$ref": "#/$defs/conversation"
              },
              "kind": {
                "const": "message.received"
              },
              "message_id": {
                "minLength": 1
              },
              "phone_number_id": {
                "pattern": "^[0-9]{1,32}$"
              },
              "status": false
            },
            "required": [
              "sender_id",
              "message_type"
            ]
          },
          {
            "properties": {
              "chat_id": {
                "$ref": "#/$defs/conversation"
              },
              "kind": {
                "const": "message.status"
              },
              "message_id": {
                "minLength": 1
              },
              "message_type": false,
              "phone_number_id": {
                "pattern": "^[0-9]{1,32}$"
              },
              "sender_id": false,
              "text": false
            },
            "required": [
              "status"
            ]
          },
          {
            "properties": {
              "chat_id": {
                "const": ""
              },
              "kind": {
                "const": "webhook.received"
              },
              "message_id": {
                "const": ""
              },
              "message_type": false,
              "sender_id": false,
              "status": false
            },
            "required": [
              "event_id",
              "field"
            ]
          }
        ],
        "properties": {
          "business_account_id": {
            "description": "Meta WhatsApp Business Account ID that received the webhook.",
            "pattern": "^[0-9]{1,32}$",
            "type": "string"
          },
          "chat_id": {
            "description": "Normalized conversation identity; empty for administrative events.",
            "type": "string"
          },
          "data": {
            "additionalProperties": true,
            "description": "Individual Meta message/status object or sanitized administrative change value. Group/call batches are split to one item per event. If the serialized event would exceed 64 KiB, replaced with {\"content_omitted\":true}; text is also clipped to 8 KiB. This object is not the webhook envelope.",
            "type": "object"
          },
          "event": {
            "maxLength": 128,
            "type": "string"
          },
          "event_id": {
            "description": "Deterministic administrative event identifier for deduplication.",
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          },
          "field": {
            "pattern": "^[a-z][a-z0-9_]{0,63}$",
            "type": "string"
          },
          "group_id": {
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_+/=-]{0,255}$",
            "type": "string"
          },
          "kind": {
            "enum": [
              "message.received",
              "message.status",
              "webhook.received"
            ]
          },
          "message_id": {
            "description": "Meta message ID; empty for administrative events, which use event_id.",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "message_type": {
            "description": "Exact raw Meta message type; present only for message.received. May include future types that the archive preview cannot render.",
            "pattern": "^[a-z][a-z0-9_]{0,63}$",
            "type": "string"
          },
          "participant_id": {
            "$ref": "#/$defs/identity"
          },
          "phone_number_id": {
            "description": "Meta Phone Number ID; empty for account-wide administrative events without a phone ID.",
            "pattern": "^[0-9]{0,32}$",
            "type": "string"
          },
          "sender_id": {
            "$ref": "#/$defs/identity",
            "description": "Normalized sender; present only for message.received."
          },
          "status": {
            "description": "Delivery state; present only for message.status.",
            "enum": [
              "sent",
              "delivered",
              "read",
              "failed"
            ]
          },
          "text": {
            "description": "Optional message preview, limited to 16 KiB of UTF-8 text, or 8 KiB if data must be omitted to bound the event. Omitted when empty.",
            "maxLength": 16384,
            "type": "string"
          },
          "timestamp_ms": {
            "description": "Meta Unix seconds converted to milliseconds. Administrative events without an entry timestamp use 0; this never means local receipt time.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "kind",
          "business_account_id",
          "phone_number_id",
          "message_id",
          "chat_id",
          "timestamp_ms",
          "data"
        ],
        "title": "WhatsApp Cloud event",
        "type": "object"
      }
    },
    {
      "description": "Native WhatsApp session, message, receipt and group events",
      "invocation_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "description": "Optional filters for whatsapp::events. An omitted, empty or null session_id selects every session. Omitted, empty or null kinds selects every event kind. A null configuration applies no filters.",
        "properties": {
          "kinds": {
            "items": {
              "pattern": "^[A-Za-z0-9._]{1,128}$",
              "type": "string"
            },
            "maxItems": 128,
            "type": [
              "array",
              "null"
            ]
          },
          "session_id": {
            "pattern": "^[A-Za-z0-9_-]{0,64}$",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "Native WhatsApp event filters",
        "type": [
          "object",
          "null"
        ]
      },
      "metadata": {},
      "name": "whatsapp::events",
      "return_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": true,
        "description": "Native session, message, receipt or group event. Data varies by kind and may contain any JSON value. Transport metadata and future envelope fields are allowed.",
        "properties": {
          "data": true,
          "kind": {
            "type": "string"
          },
          "sequence": {
            "minimum": 0,
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "timestamp_ms": {
            "type": "integer"
          }
        },
        "required": [
          "session_id",
          "sequence",
          "kind",
          "timestamp_ms",
          "data"
        ],
        "title": "Native WhatsApp event",
        "type": "object"
      }
    }
  ]
}

Search the registry

Find workers, kits and executables, or jump to a page.