API keys
Every member can make their own keys under Your account, with a label and a role. A key starts af_ and is shown once. It acts as the person who made it, with the role you choose (never more than theirs). Revoke it from the same page.
Send it on every request as Authorization: Bearer af_... (or X-API-Key). You can also send X-Actor: a name; it is recorded in the activity log.
The REST API
The API lives under https://app.aperioflow.co.uk/api. Projects, phases, tasks and subtasks all follow the same pattern: GET, PATCH and DELETE on /api/projects/{id} and its siblings, and POST to add children. A whole plan can be created in one request, with phases, tasks and subtasks nested inside the project.
curl -X POST https://app.aperioflow.co.uk/api/projects \
-H "Authorization: Bearer $AF_KEY" -H "Content-Type: application/json" \
-d '{
"name": "Launch",
"phases": [
{ "name": "Build", "tasks": [ { "name": "Write the docs", "priority": "high" } ] }
]
}'# Tick something off
curl -X PATCH https://app.aperioflow.co.uk/api/tasks/123 \
-H "Authorization: Bearer $AF_KEY" -H "Content-Type: application/json" \
-d '{"status": "done"}'
The complete reference is the OpenAPI 3.1 file at app.aperioflow.co.uk/openapi.yaml. Import it into Postman, Insomnia or a client generator. The same reference is in the app under API in the main menu.
Connect an AI assistant
AperioFlow runs a connector for Claude and other assistants that speak MCP, at https://app.aperioflow.co.uk/mcp. Add it as a custom connector and sign in when asked: it uses OAuth, so you sign in with your own account and the assistant acts as you, in one organisation, with your role. Assistants that cannot sign in through OAuth can use an API key as a bearer token instead.
The tools cover projects, phases, tasks and subtasks, the waiting sections, errors and issues, and the activity log. Everything an assistant does is an ordinary API call by you and shows in the activity log as your name via Claude.