---
title: "Send Direct Send utility message (no template)"
method: POST
path: "/v2/messages/direct-send"
tags: ["Messages"]
---

# Send Direct Send utility message (no template)

`POST /v2/messages/direct-send`

Send a free-form WhatsApp Official utility message via Direct Send, without a pre-approved template. Requires the owner to have the WHATSAPP_OFFICIAL_DIRECT_SEND feature flag enabled and the WhatsApp Business Account not to be restricted; otherwise returns 403. Supports an optional header/footer, up to one CTA URL button OR up to three quick-reply buttons, and an optional validity window (ttl_seconds, 30s–12h). Returns immediately with QUEUED status.

## Headers

- `api-token` string, required

## Request body

- object
  - `channel_account_id` string, uuid, required — UUID of the WhatsApp Official channel account
  - `contact_id` string, uuid, required — UUID of the contact to send the message to
  - `body` string, required — Utility message text (1–1024 characters)
  - `header` string — Optional text header (max 60 chars). Requires at least one button — returns 400 otherwise (Meta only delivers header/footer on interactive messages).
  - `footer` string — Optional footer (max 60 chars). Requires at least one button — returns 400 otherwise (Meta only delivers header/footer on interactive messages).
  - `buttons` object[] — Optional. Either exactly one URL button OR up to three QUICK_REPLY buttons — the two types cannot be mixed.
    - `type` 'URL' | 'QUICK_REPLY', required
    - `text` string, required — Button label (max 20 chars)
    - `url` string — Required for a URL button — must start with http:// or https://
  - `ttl_seconds` integer — Optional validity window in seconds (30s–12h). Omit to use Meta's default; the message is discarded if not delivered within this window.
  - `chat_id` string, uuid — Optional UUID of an existing chat. If not provided, the system will find or create a chat automatically.

## Response `201`

Message queued for sending

- object
  - `status` integer
  - `data` object
    - `success` boolean
    - `message_id` string, uuid
    - `chat_id` string, uuid
    - `status` 'QUEUED'

## Other responses

- `400` — Validation error
- `401` — Authentication error - invalid or missing api-token
- `403` — Direct Send not eligible for this owner (feature flag disabled) or WhatsApp Business Account restricted
- `404` — Resource not found

---

[API](https://skmtc.net/clint/apis/clint-api.md) · [All operations](https://skmtc.net/clint/apis/clint-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clint/clint-api/revisions/12b8f9eff943/schema)
