Forms (flows)
Base: /v2/forms
Maps to Meta flows; list and detail come from Graph. Search uses the AvenPing database.
Auth + Premium/Enterprise + active plan required. See HTTP API v2 Overview.
GET /v2/forms
Query (optional): limit (default "25"), after (cursor).
Example request:
bash
curl -sS "https://api.avenping.com/v2/forms?limit=25" \
-H "Authorization: Bearer YOUR_TOKEN"Response 200:
json
{
"success": true,
"data": {
"items": [
{
"id": "flow-id-from-meta",
"name": "Lead capture",
"status": "PUBLISHED",
"categories": ["OTHER"]
}
],
"paging": {
"cursors": {
"after": "QVFIUz..."
}
}
}
}items are Meta flow objects from GET /{waba-id}/flows (fields vary).
GET /v2/forms/search
Query
| Name | Type | Default | Notes |
|---|---|---|---|
q | string | — | Optional filter on name (contains) or status (exact uppercased match) |
limit | integer | 20 | 1–50 |
Example request:
bash
curl -sS "https://api.avenping.com/v2/forms/search?q=lead&limit=10" \
-H "Authorization: Bearer YOUR_TOKEN"Response 200 — each item is a WhatsAppForm row (Prisma); shape is illustrative:
json
{
"success": true,
"data": {
"items": [
{
"id": "flow-id-from-meta",
"name": "Lead capture",
"status": "PUBLISHED",
"validation": [],
"accountId": "clu01exampleaccountid01",
"createdAt": "2025-02-10T12:00:00.000Z",
"updatedAt": "2025-02-11T09:15:00.000Z",
"_count": {
"recipients": 0
}
}
]
}
}Note: The server registers /search before /:flowId. Call GET /v2/forms/search?q=... so the path is not confused with GET /v2/forms/:flowId.
GET /v2/forms/:flowId
Example request:
bash
curl -sS "https://api.avenping.com/v2/forms/flow-id-from-meta" \
-H "Authorization: Bearer YOUR_TOKEN"Response 200 — data is the raw Graph object for GET /{flow-id} (Meta node). Shape varies; often includes id, name, status, and flow definition fields.
json
{
"success": true,
"data": {
"id": "flow-id-from-meta",
"name": "Lead capture",
"status": "PUBLISHED"
}
}Related
- Account (WABA context)
- HTTP API v2 Overview