> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apifycloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# CTA URL

> Send a WhatsApp CTA URL message

## Request

Use `type` as `interactive` and set `interactive.type` to `cta_url`.

### Field types

* `to`: string (required)
* `type`: string = `interactive` (required)
* `interactive`: object (required)
* `interactive.type`: string = `cta_url` (required)
* `interactive.header`: object (optional)
* `interactive.header.type`: string (optional, `text` | `image` | `video` | `document`)
* `interactive.header.text`: string (optional, when header type is `text`)
* `interactive.header.image`: object (optional)
* `interactive.header.image.link`: string (optional)
* `interactive.header.video`: object (optional)
* `interactive.header.video.link`: string (optional)
* `interactive.header.document`: object (optional)
* `interactive.header.document.link`: string (optional)
* `interactive.body`: object (required)
* `interactive.body.text`: string (required)
* `interactive.footer`: object (optional)
* `interactive.footer.text`: string (optional)
* `interactive.action`: object (required)
* `interactive.action.name`: string (optional, defaults to `cta_url`)
* `interactive.action.parameters`: object (required)
* `interactive.action.parameters.display_text`: string (required)
* `interactive.action.parameters.url`: string (required)

### Field behavior and limits

* `interactive.body.text` is required, max 1024 characters.
* `interactive.action.parameters.display_text` is required, max 20 characters.
* `interactive.action.parameters.url` is required and must be a valid public URL.
* `interactive.footer.text` is optional, max 60 characters.
* `interactive.header.text` is required only when header type is `text`, max 60 characters.
* `interactive.header.image.link`, `interactive.header.video.link`, and `interactive.header.document.link` are required when using those header media types.
* In this API, media headers use public `link` URLs (uploaded media `id` is not supported in this endpoint).

```json theme={null}
{
  "to": "+573001112233",
  "type": "interactive",
  "interactive": {
    "type": "cta_url",
    "body": { "text": "Abre este enlace" },
    "action": {
      "name": "cta_url",
      "parameters": {
        "display_text": "Abrir",
        "url": "https://example.com"
      }
    }
  }
}
```
