Projects API
List Projects
GET /v1/projects
Returns a paginated list of projects the authenticated user is assigned to.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
cursor | string | Pagination cursor |
limit | number | Results per page (default 50, max 200) |
Example Request
curl "https://api.keito.ai/v1/projects" \
-H "Authorization: Bearer keito_sk_abc123"
Example Response
{
"data": [
{
"id": "prj_abc",
"name": "Acme Website Redesign",
"client_id": "cli_xyz",
"billing_type": "time_and_materials",
"is_billable": true,
"budget_hours": 200,
"budget_amount": 30000,
"is_active": true,
"created_at": "2026-01-15T10:00:00Z"
}
],
"next_cursor": null,
"has_more": false
}
Get a Project
GET /v1/projects/:id
Returns a single project by ID.
Example Request
curl "https://api.keito.ai/v1/projects/prj_abc" \
-H "Authorization: Bearer keito_sk_abc123"
Project Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier |
name | string | Project name |
client_id | string | Associated client |
billing_type | string | time_and_materials, fixed_fee, non_billable |
is_billable | boolean | Whether time is billable by default |
budget_hours | number | Hour budget (if set) |
budget_amount | number | Monetary budget (if set) |
is_active | boolean | Whether the project is active |
created_at | string | ISO timestamp |