Wahlu API

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/ideas

Returns ideas for a brand. Requires ideas:read.

Query parameters

ParameterTypeDescription
pageintegerPage number. Defaults to 1.
limitintegerItems per page. Defaults to 50, max 100.
sort_bystringField to sort by. One of: created_at, updated_at, last_used_at. Defaults to created_at.
sort_dirstring"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

ParameterTypeDescription
idstringUnique idea identifier.
namestring | nullIdea title.
descriptionstring | nullDetailed description.
typestring | nullContent type (e.g. post, reel, story).
statusstringIdea status (e.g. new, in_progress, used).
labelsstring[]Labels attached to this idea.
last_used_atstring | nullISO 8601 timestamp of last use.
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 last-updated timestamp.

Create an idea

POST/v1/brands/:brand_id/ideas

Saves a new content idea. Requires ideas:write. All fields are optional.

Request body

ParameterTypeDescription
namestringIdea title. Max 500 characters.
descriptionstringDetailed description. Max 10,000 characters.
typestringContent type (e.g. post, reel, story).
statusstringIdea status.
labelsstring[]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_id

Updates 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_id

Deletes an idea. Requires ideas:write.