API Reference
API: Projects
Flapjack REST API endpoints for organizing agents and runners into projects.
Projects are organizational containers for grouping agents and runners. They are aesthetic — they don't affect runtime behavior, knowledge scoping, or pipeline execution.
List Projects
GET /api/projects
Response 200:
[
{
"id": "proj-123",
"org_id": "org-789",
"name": "Customer Support",
"slug": "customer-support",
"description": "Support-related agents and pipelines",
"created_at": "2026-05-01T12:00:00Z",
"updated_at": "2026-05-01T12:00:00Z"
}
]
Create Project
POST /api/projects
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
slug | string | No | URL-friendly identifier (stored as null if omitted) |
description | string | No | Project description |
Response 201: The created project.
Get Project
GET /api/projects/{projectId}
Response 200: A single project object.
Update Project
PATCH /api/projects/{projectId}
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Updated name |
slug | string | No | Updated slug |
description | string | No | Updated description |
Response 200: The updated project.
Delete Project
DELETE /api/projects/{projectId}
Deletes the project. Agents and runners in the project are moved to ungrouped (their project_id is set to null).
Response 200:
{ "ok": true }
List Project Members
GET /api/projects/{projectId}/members
Returns agents and runners assigned to this project.
Assigning Agents to Projects
Use the agent update endpoint to assign or unassign an agent:
curl -X PATCH https://api.flapjack.dev/api/agents/{agentId} \
-H "Authorization: Bearer fj_live_..." \
-H "Content-Type: application/json" \
-d '{"projectId": "proj-123"}'
Set projectId to null to unassign.
Next Steps
- API: Agents — agent CRUD
- Runners — runner pipelines