Skip to main content
Terminology: the action-plan block is the container (created via POST /api/v2/blocks with type: "action-plan"). The individual tasks inside it are called action items and are managed via the endpoints on this page.

Endpoints

MethodPathDescription
GET/api/v2/action-items?pageId={page_id}&blockId={block_id}List action items in a block
POST/api/v2/action-itemsCreate action items
PATCH/api/v2/action-items/{action_item_id}Update an action item
DELETE/api/v2/action-items/{action_item_id}Delete an action item
Both pageId and blockId are mandatory for listing and creating. The blockId must point to an existing action-plan block. See Blocks to create one.

Action item fields

FieldTypeNotes
titlestringRequired.
descriptionstring
statusenumtodo, in_progress, done, cancelled
startDatestringISO 8601
dueDatestringISO 8601
internalbooleanHidden from buyers when true. Default false.
assigneesstring[]Emails. Org members linked internally; others added as external contacts.

List action items

GET /api/v2/action-items?pageId={page_id}&blockId={block_id}
curl "https://api.flowla.com/api/v2/action-items?pageId=<page_id>&blockId=<block_id>" \
  -H "x-flowla-api-key: YOUR_API_KEY"

Create action items

POST /api/v2/action-items
pageId
string
required
The page containing the action-plan block.
blockId
string
required
The action-plan block to add action items to.
items
array
required
Array of action item objects.
Example
{
  "pageId": "<page_id>",
  "blockId": "<block_id>",
  "items": [
    {
      "title": "Review proposal",
      "description": "Check pricing and terms",
      "status": "in_progress",
      "startDate": "2026-05-28",
      "dueDate": "2026-06-01",
      "internal": false,
      "assignees": ["owner@example.com", "buyer@example.com"]
    },
    { "title": "Schedule kickoff call", "status": "todo" }
  ]
}
curl -X POST https://api.flowla.com/api/v2/action-items \
  -H "x-flowla-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pageId": "<page_id>",
    "blockId": "<block_id>",
    "items": [
      {
        "title": "Review proposal",
        "status": "in_progress",
        "dueDate": "2026-06-01",
        "assignees": ["buyer@example.com"]
      },
      { "title": "Confirm legal sign-off", "internal": true }
    ]
  }'

Update an action item

PATCH /api/v2/action-items/{action_item_id} All fields are optional. assignees replaces the full assignee list.
title
string
Updated title.
description
string
Updated description.
status
"todo" | "in_progress" | "done" | "cancelled"
New status.
startDate
string
ISO 8601 start date.
dueDate
string
ISO 8601 due date.
internal
boolean
Whether the action item is hidden from buyers.
assignees
string[]
Replaces the full assignee list. Pass an empty array to remove all assignees.
Example
{ "status": "done", "assignees": ["alex@ourcompany.com"] }
curl -X PATCH https://api.flowla.com/api/v2/action-items/<action_item_id> \
  -H "x-flowla-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "done"}'

Delete an action item

DELETE /api/v2/action-items/{action_item_id}
curl -X DELETE https://api.flowla.com/api/v2/action-items/<action_item_id> \
  -H "x-flowla-api-key: YOUR_API_KEY"