Plan
The plan resource.
Base/plan
GET
/planList plans
Retrieve a paginated list of plans. Filter, order, and select columns with PostgREST query parameters.
Query parameters
selectstringComma-separated columns to return. Defaults to all.
orderstringColumn to sort by, e.g. `createdAt.desc`.
limitintegerMaximum rows to return.
offsetintegerRows to skip, for pagination.
GET/plan
curl --request GET \
--url '<your-host>/plan?select=*&limit=10' \
--header 'Authorization: Bearer <api-key>'Response
[
{
"id": "abc123def456",
"name": "Example",
"tasksLimit": 0,
"aiTokensLimit": 0,
"public": true,
"createdAt": "2026-01-01T00:00:00Z",
"updatedAt": "2026-01-01T00:00:00Z"
}
]GET
/planRetrieve a plan
Fetch a single plan by filtering on `id`.
Query parameters
idstringMatch on the plan's `id`, e.g. `eq.{id}`.
GET/plan
curl --request GET \
--url '<your-host>/plan?id=eq.%7Bid%7D' \
--header 'Authorization: Bearer <api-key>'Response
{
"id": "abc123def456",
"name": "Example",
"tasksLimit": 0,
"aiTokensLimit": 0,
"public": true,
"createdAt": "2026-01-01T00:00:00Z",
"updatedAt": "2026-01-01T00:00:00Z"
}POST
/planCreate a plan
Create a new plan.
Body parameters
namestringrequiredtasksLimitnumberrequiredaiTokensLimitnumberrequiredpublicbooleanrequiredPOST/plan
curl --request POST \
--url <your-host>/plan \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--header 'Prefer: return=representation' \
--data '{"name":"Example","tasksLimit":0,"aiTokensLimit":0,"public":true}'Response
{
"id": "abc123def456",
"name": "Example",
"tasksLimit": 0,
"aiTokensLimit": 0,
"public": true,
"createdAt": "2026-01-01T00:00:00Z",
"updatedAt": "2026-01-01T00:00:00Z"
}PATCH
/planUpdate a plan
Update an existing plan, matched on `id`.
Body parameters
namestringrequiredtasksLimitnumberrequiredaiTokensLimitnumberrequiredpublicbooleanrequiredPATCH/plan
curl --request PATCH \
--url '<your-host>/plan?id=eq.%7Bid%7D' \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--header 'Prefer: return=representation' \
--data '{"name":"Example"}'Response
{
"id": "abc123def456",
"name": "Example",
"tasksLimit": 0,
"aiTokensLimit": 0,
"public": true,
"createdAt": "2026-01-01T00:00:00Z",
"updatedAt": "2026-01-01T00:00:00Z"
}DELETE
/planDelete a plan
Delete a plan, matched on `id`. Returns 204 No Content.
Query parameters
idstringThe `id` of the plan to delete, e.g. `eq.{id}`.
DELETE/plan
curl --request DELETE \
--url '<your-host>/plan?id=eq.%7Bid%7D' \
--header 'Authorization: Bearer <api-key>'204 No Content