API quick start

⏱ 10 min🧑‍💻 Developers🔌 REST API v2

Authenticate, list your boards and create a card with the FlowDesk REST API.

Figure. How an API request flows. Your app sends a request with a token, the API checks the scope and rate limit, updates the board and returns JSON.

API basics

Base URL
FormatJSON over HTTPS
AuthenticationBearer token in the Authorization header
Rate limit600 requests per minute per token

Step 1. Get an API token

  1. Click your avatar › Profile › API tokens.
  2. Click Create token, enter a name, and select the boards:write scope.
  3. Copy the token and store it in a secret manager.The token starts with fd_live_.
Keep tokens secret. Never commit a token to source control. If a token leaks, revoke it immediately on the API tokens page.

Step 2. List your boards

GET/boards

cURL
curl https://api.flowdesk.example/v2/boards \
  -H "Authorization: Bearer $FLOWDESK_TOKEN"
JavaScript
const res = await fetch("https://api.flowdesk.example/v2/boards", {
  headers: { Authorization: `Bearer ${process.env.FLOWDESK_TOKEN}` }
});
const boards = await res.json();
console.log(boards.data);
Python
import os, requests

r = requests.get(
    "https://api.flowdesk.example/v2/boards",
    headers={"Authorization": f"Bearer {os.environ['FLOWDESK_TOKEN']}"},
)
print(r.json()["data"])
Example response · 200 OK
{
  "data": [
    { "id": "brd_8Kx2", "name": "Website launch", "cards": 6 }
  ],
  "next_cursor": null
}

Step 3. Create a card

POST/boards/{board_id}/cards

ParameterTypeRequiredDescription
titlestringYesCard title, up to 200 characters.
columnstringNoColumn name. Default: the first column.
duedateNoISO 8601 date, for example 2026-11-01.
curl -X POST https://api.flowdesk.example/v2/boards/brd_8Kx2/cards \
  -H "Authorization: Bearer $FLOWDESK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Publish release notes", "due": "2026-11-01"}'

Error codes

401 Unauthorized

The token is missing, expired or revoked. Create a new token.

403 Forbidden

The token lacks the required scope. Add boards:write.

429 Too many requests

You exceeded the rate limit. Wait for the number of seconds in the Retry-After header.

← Previous Next →