Ideas
Save and manage content ideas.
Ideas let you save content concepts for later. Use them as a backlog of posts to create when you're ready.
List ideas
GET
/v1/brands/:brand_id/ideasReturns ideas for a brand. Requires ideas:read.
Query parameters
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number. Defaults to 1. |
limit | integer | Items per page. Defaults to 50, max 100. |
sort_by | string | Field to sort by. One of: created_at, updated_at, last_used_at. Defaults to created_at. |
sort_dir | string | "asc" or "desc". Defaults to "desc". |
curl
curl https://api.wahlu.com/v1/brands/brand_abc123/ideas \
-H "Authorization: Bearer wahlu_live_your_api_key_here"Response
{
"success": true,
"data": [
{
"id": "idea_abc123",
"name": "Behind the scenes",
"description": "Share a behind-the-scenes look at our office setup",
"type": "post",
"status": "new",
"labels": ["content"],
"last_used_at": null,
"created_at": "2026-02-08T11:00:00Z",
"updated_at": "2026-02-08T11:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"has_more": false
}
}Response fields
| Parameter | Type | Description |
|---|---|---|
id | string | Unique idea identifier. |
name | string | null | Idea title. |
description | string | null | Detailed description. |
type | string | null | Content type (e.g. post, reel, story). |
status | string | Idea status (e.g. new, in_progress, used). |
labels | string[] | Labels attached to this idea. |
last_used_at | string | null | ISO 8601 timestamp of last use. |
created_at | string | ISO 8601 creation timestamp. |
updated_at | string | ISO 8601 last-updated timestamp. |
Create an idea
POST
/v1/brands/:brand_id/ideasSaves a new content idea. Requires ideas:write. All fields are optional.
Request body
| Parameter | Type | Description |
|---|---|---|
name | string | Idea title. Max 500 characters. |
description | string | Detailed description. Max 10,000 characters. |
type | string | Content type (e.g. post, reel, story). |
status | string | Idea status. |
labels | string[] | Labels to attach. Max 50 items. |
curl
curl -X POST https://api.wahlu.com/v1/brands/brand_abc123/ideas \
-H "Authorization: Bearer wahlu_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Behind the scenes",
"description": "Share a behind-the-scenes look at our office setup",
"type": "post"
}'Update an idea
PATCH
/v1/brands/:brand_id/ideas/:idea_idUpdates an idea. Only provided fields are changed. Requires ideas:write.
Request body
Same fields as create — all optional.
Delete an idea
DELETE
/v1/brands/:brand_id/ideas/:idea_idDeletes an idea. Requires ideas:write.