API Endpoint Index
This index is generated from the public OpenAPI specification. Follow the guide for permissions, financial state, request rules and examples. A full-access key still follows the current permissions of its bound identity; a listed operation is not a grant of access.
| Method | Endpoint | Operation | Details |
|---|---|---|---|
GET |
/api/v2/expenses/{id}/reimbursement |
Get an expense reimbursement classification | Guide |
PATCH |
/api/v2/expenses/{id}/reimbursement |
Classify an expense for reimbursement | Guide |
GET |
/api/v2/clickup/locations |
Discover locations through the authenticated user’s ClickUp grant | Guide |
GET |
/api/v2/clickup/mappings |
List mappings within the authenticated user’s permitted projects | Guide |
PUT |
/api/v2/clickup/mappings |
Idempotently create or replace a versioned mapping | Guide |
GET |
/api/v2/time_entries |
List time entries | Guide |
POST |
/api/v2/time_entries |
Create a time entry | Guide |
PATCH |
/api/v2/time_entries/{id} |
Update a time entry | Guide |
DELETE |
/api/v2/time_entries/{id} |
Delete a time entry | Guide |
PATCH |
/api/v2/time_entries/{id}/stop |
Stop a running timer | Guide |
PATCH |
/api/v2/time_entries/{id}/restart |
Restart a stopped timer | Guide |
PATCH |
/api/v2/time_entries/{id}/adjust_running_timer |
Remove a reviewed inactive period from a running timer | Guide |
DELETE |
/api/v2/time_entries/{id}/external_reference |
Remove a time entry external reference | Guide |
POST |
/api/v2/approvals/submit |
Submit your own time for approval | Guide |
POST |
/api/v2/approvals/approve |
Approve a person’s submitted time | Guide |
POST |
/api/v2/approvals/reject |
Reject a person’s submitted time | Guide |
GET |
/api/v2/external_references/summary |
Summarize time for an external object | Guide |
GET |
/api/v2/expenses |
List expenses | Guide |
POST |
/api/v2/expenses |
Create an expense | Guide |
GET |
/api/v2/expenses/{id} |
Get an expense | Guide |
PATCH |
/api/v2/expenses/{id} |
Update an expense | Guide |
DELETE |
/api/v2/expenses/{id} |
Delete an expense | Guide |
GET |
/api/v2/expenses/{id}/receipt |
Download an expense receipt | Guide |
POST |
/api/v2/expenses/{id}/receipt |
Upload or replace an expense receipt | Guide |
DELETE |
/api/v2/expenses/{id}/receipt |
Remove an expense receipt | Guide |
GET |
/api/v2/expense_categories |
List expense categories | Guide |
GET |
/api/v2/projects |
List projects | Guide |
POST |
/api/v2/projects |
Create a project | Guide |
GET |
/api/v2/project_templates |
List project templates | Guide |
GET |
/api/v2/projects/archive_review |
Review active projects that may be ready to archive | Guide |
POST |
/api/v2/projects/archive_review/preflight |
Recheck selected projects before archive | Guide |
POST |
/api/v2/projects/archive_review/archive |
Archive explicitly confirmed projects | Guide |
GET |
/api/v2/projects/{projectId} |
Get a visible project | Guide |
PATCH |
/api/v2/projects/{projectId} |
Update, archive, or restore a project | Guide |
DELETE |
/api/v2/projects/{projectId} |
Permanently delete an archived project | Guide |
GET |
/api/v2/projects/{projectId}/user_assignments |
List the people assigned to a project | Guide |
POST |
/api/v2/projects/{projectId}/user_assignments |
Add a person to a project | Guide |
GET |
/api/v2/projects/{projectId}/user_assignments/{id} |
Get one project user assignment | Guide |
PATCH |
/api/v2/projects/{projectId}/user_assignments/{id} |
Update or restore a project user assignment | Guide |
DELETE |
/api/v2/projects/{projectId}/user_assignments/{id} |
Remove a person from a project | Guide |
GET |
/api/v2/projects/{projectId}/task_assignments |
List a project’s task assignments | Guide |
POST |
/api/v2/projects/{projectId}/task_assignments |
Assign a workspace task to a project | Guide |
GET |
/api/v2/projects/{projectId}/task_assignments/{id} |
Get one project task assignment | Guide |
PATCH |
/api/v2/projects/{projectId}/task_assignments/{id} |
Update a task’s budget, rate, billability, or active state on a project | Guide |
DELETE |
/api/v2/projects/{projectId}/task_assignments/{id} |
Remove a task from a project | Guide |
GET |
/api/v2/clients |
List clients | Guide |
POST |
/api/v2/clients |
Create a client | Guide |
GET |
/api/v2/clients/{id} |
Get a client | Guide |
PATCH |
/api/v2/clients/{id} |
Update a client | Guide |
DELETE |
/api/v2/clients/{id} |
Permanently delete an archived client | Guide |
GET |
/api/v2/contacts |
List contacts | Guide |
POST |
/api/v2/contacts |
Create a contact | Guide |
GET |
/api/v2/tasks |
List tasks | Guide |
POST |
/api/v2/tasks |
Create a project-scoped task | Guide |
GET |
/api/v2/roles |
List custom reporting roles | Guide |
GET |
/api/v2/users |
List workspace users for administrator automation | Guide |
GET |
/api/v2/users/{id}/teammates |
List a manager’s assigned teammates | Guide |
GET |
/api/v2/users/me |
Get current user | Guide |
GET |
/api/v2/users/{id}/cost_rates |
List effective-dated cost rates | Guide |
POST |
/api/v2/users/{id}/cost_rates |
Create an effective-dated cost rate | Guide |
GET |
/api/v2/planning/me |
Read your own schedule | Guide |
GET |
/api/v2/assignments |
List planning assignments | Guide |
POST |
/api/v2/assignments |
Create a planning assignment | Guide |
GET |
/api/v2/assignments/{id} |
Get a planning assignment and strong ETag | Guide |
PATCH |
/api/v2/assignments/{id} |
Update a planning assignment | Guide |
DELETE |
/api/v2/assignments/{id} |
Delete a planning assignment | Guide |
GET |
/api/v2/placeholders |
List planning placeholders | Guide |
GET |
/api/v2/time-off |
List planning time off | Guide |
GET |
/api/v2/capacity |
List planning capacity | Guide |
GET |
/api/v2/webhooks |
List webhook endpoints | Guide |
POST |
/api/v2/webhooks |
Create a webhook endpoint | Guide |
DELETE |
/api/v2/webhooks/{id} |
Delete a webhook endpoint | Guide |
GET |
/api/v2/invoices |
List invoices | Guide |
POST |
/api/v2/invoices |
Create an invoice | Guide |
GET |
/api/v2/invoices/{id} |
Get an invoice | Guide |
PATCH |
/api/v2/invoices/{id} |
Update an invoice | Guide |
DELETE |
/api/v2/invoices/{id} |
Delete an invoice | Guide |
GET |
/api/v2/invoices/{id}/pdf |
Download an invoice PDF | Guide |
GET |
/api/v2/invoices/{id}/attachments |
List invoice attachments | Guide |
POST |
/api/v2/invoices/{id}/attachments |
Upload an invoice attachment | Guide |
DELETE |
/api/v2/invoices/{id}/attachments |
Delete an invoice attachment | Guide |
GET |
/api/v2/invoices/{id}/attachments/{attachmentId}/download |
Download an invoice attachment | Guide |
GET |
/api/v2/estimates |
List estimates | Guide |
POST |
/api/v2/estimates |
Create an estimate | Guide |
GET |
/api/v2/estimates/{id} |
Get an estimate | Guide |
PATCH |
/api/v2/estimates/{id} |
Update an estimate | Guide |
DELETE |
/api/v2/estimates/{id} |
Delete an estimate | Guide |
POST |
/api/v2/estimates/{id}/send |
Mark an estimate as sent | Guide |
POST |
/api/v2/estimates/{id}/accept |
Mark an estimate as accepted | Guide |
POST |
/api/v2/estimates/{id}/decline |
Mark an estimate as declined | Guide |
POST |
/api/v2/estimates/{id}/convert |
Convert an accepted estimate to a draft invoice | Guide |
POST |
/api/v2/estimates/{id}/duplicate |
Duplicate an estimate as a draft | Guide |
GET |
/api/v2/invoices/{id}/messages |
List invoice messages | Guide |
POST |
/api/v2/invoices/{id}/messages |
Send an invoice | Guide |
GET |
/api/v2/invoices/{id}/public-link |
Get the public invoice link to share from your own inbox | Guide |
POST |
/api/v2/invoices/{id}/external-deliveries |
Record that an invoice was delivered outside Keito | Guide |
GET |
/api/v2/invoices/{id}/payments |
List an invoice’s payments | Guide |
POST |
/api/v2/invoices/{id}/payments |
Record an invoice payment | Guide |
DELETE |
/api/v2/invoices/{id}/payments/{paymentId} |
Delete a manually recorded invoice payment | Guide |
GET |
/api/v2/projects/{projectId}/budget_summary |
Read-only monetary budget progress | Guide |
GET |
/api/v2/projects/{projectId}/billing_summary |
Project billing summary | Guide |
GET |
/api/v2/reports/project_budget |
Project budget report | Guide |
GET |
/api/v2/reports/uninvoiced |
Uninvoiced report | Guide |
GET |
/api/v2/reports/time/team |
Team time report | Guide |
GET |
/api/v2/reports/time/clients |
Time report by client | Guide |
GET |
/api/v2/reports/time/projects |
Time report by project | Guide |
GET |
/api/v2/reports/time/tasks |
Time report by task | Guide |
GET |
/api/v2/retainers |
List retainers with corrected ledger balances | Guide |
GET |
/api/v2/retainers/{retainerId} |
Get a retainer with its corrected ledger balance | Guide |
GET |
/api/v2/backup |
Get the workspace backup manifest | Guide |
GET |
/api/v2/backup/{resource} |
Download one page of a backup resource | Guide |
GET |
/api/v2/backup/files/invoice_expense_receipts/{id} |
Download an invoice’s immutable expense receipt copy | Guide |
First-party transports
Keito’s native apps also use offline-session reconciliation, timer event streams and iOS Live Activity registration. These transports are tied to the first-party app lifecycle and are not part of this general integration specification. Their presence under an API URL does not make them a supported replacement for the public time-entry and receipt contracts above.
The source index and specification are checked together in CI. For exact field schemas and response codes, download the specification; SDK coverage may be smaller than the REST surface.