Documentation
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:

FieldTypeRequiredDescription
namestringYesDisplay name
slugstringNoURL-friendly identifier (stored as null if omitted)
descriptionstringNoProject 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:

FieldTypeRequiredDescription
namestringNoUpdated name
slugstringNoUpdated slug
descriptionstringNoUpdated 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

Docs last updated May 11, 2026