Leadtime Public API
Versioned public API.
Authentication:
- Personal Access Tokens (PAT): Create/manage in your Profile → API Tokens. Use the raw token once returned to you as Bearer:
Authorization: Bearer <pat>. - OAuth 2.0 (Authorization Code + PKCE): Workspace admin creates an OAuth client in Workspace Settings → API & Integrations, then obtain tokens via the standard OAuth flow. Use the access token as Bearer. Refresh tokens are supported at
/api/oauth/token.
Dynamic Client Registration (RFC 7591): The API supports RFC 7591 compliant dynamic client registration, allowing applications to register OAuth clients programmatically without requiring workspace admin setup.
Registration Endpoint: POST /api/oauth/register
Features:
- Automatically creates OAuth clients with generated
client_idand optionalclient_secret - Clients are auto-installed in workspaces when the API feature is enabled
- Supports multiple authentication methods:
none(public clients),client_secret_post,client_secret_basic - Idempotent registration: If a client with the same name and redirect URIs already exists, the existing client is updated instead of creating a duplicate
- Returns RFC 7591 compliant registration response with client credentials and metadata
Request Body:
redirect_uris(required): Array of redirect URIs for the clientclient_name(optional): Display name for the client (defaults to “Dynamically Registered Client”)client_uri(optional): Homepage URL of the client applicationlogo_uri(optional): Logo URL for the clienttoken_endpoint_auth_method(optional): Authentication method (none,client_secret_post, orclient_secret_basic, defaults tonone)
Response:
client_id: Unique client identifier (format:dcr_<uuid>)client_secret: Client secret (only returned for confidential clients, not fornoneauth method)client_name: Client display nameredirect_uris: Array of allowed redirect URIstoken_endpoint_auth_method: Authentication method usedgrant_types: Supported grant types (authorization_code,refresh_token)response_types: Supported response types (code)client_id_issued_at: Unix timestamp when client was createdclient_secret_expires_at: Expiration timestamp (0 means no expiration)registration_client_uri: URI for client registration management
Discovery:
The registration endpoint URL is available via OAuth 2.0 Authorization Server Metadata at /api/.well-known/oauth-authorization-server (see registration_endpoint field).
Imposter Mode (Testing/Debugging):
⚠️ Permission Required: PublicApi.allowImposterMode
Optional headers for testing and debugging (case-insensitive):
LT_IMPOSTER_USER_ID/lt_imposter_user_id: Override authenticated user with specified user ID. User must exist and belong to the same workspace. Original token permissions are preserved.LT_CUSTOM_NOW/lt_custom_now: Override current time with custom date (ISO 8601 format). Useful for testing time-sensitive operations.
Rate limiting:
- Ingress sheds extreme per-IP floods before they reach API pods (about 100 requests/second per ingress replica).
- Every HTTP request that reaches the API also counts against a 60-second Redis window: 3000 requests per client IP and 1200 requests per access token or session.
- Application responses include
X-RateLimit-LimitandX-RateLimit-Remaining. Excess application requests return HTTP 429 withRetry-After(seconds). - Signup, login, and automation webhook routes keep additional tighter limits.
Mutation response projection:
- Create/update endpoints may declare a compact default response, usually identifiers and the primary display field.
- Use
fieldsToReturn=id,name,...to request exact top-level response fields when the endpoint documentsx-lt-response-projection. - Use
responseShape=fullor headerLT-Response-Shape: fullto opt into the complete response object. - Validation and error responses are never projected.
OpenAPI specification downloads:
- JSON
- YAML
- Load either specification into Scalar, Postman, Insomnia, or another OpenAPI client for interactive requests.
Example:
curl -X GET "https://api.example.com/api/public/account/info" \
-H "Authorization: Bearer <token>" \
-H "LT_IMPOSTER_USER_ID: user-123" \
-H "LT_CUSTOM_NOW: 2024-01-15T10:00:00Z"
Base URL: https://leadtime.app/api/public
https://leadtime.app/api/publicaccount
- POSTUpdate email notification preferences
/account/email-notifications - GETGet employee bank account information
/account/employee/bank-data - POSTUpdate employee bank account information
/account/employee/bank-data - GETGet employee profile data
/account/employee/data - POSTUpdate employee profile data
/account/employee/data - GETGet sick days history
/account/employee/sick-days - POSTRequest sick days
/account/employee/sick-days/request - PUTUpdate sick days record
/account/employee/sick-days/{id} - DELETEDelete sick days record
/account/employee/sick-days/{id} - GETGet vacation compensation history
/account/employee/vacations/compensation - GETGet future vacation requests
/account/employee/vacations/future - GETGet vacation request history
/account/employee/vacations/history - POSTRequest vacation
/account/employee/vacations/request - GETGet vacation statistics
/account/employee/vacations/stats - PUTUpdate vacation request
/account/employee/vacations/{id} - DELETECancel vacation request
/account/employee/vacations/{id} - GETGet list of favorites
/account/favorites - POSTToggle favorite on/off
/account/favorites/toggle - GETGet current user information
/account/info - GETGet journal entries
/account/journal - PUTUpdate journal entry
/account/journal - POSTCreate journal entry
/account/journal - DELETEDelete journal entry
/account/journal/{id} - PATCHPartially update journal entry
/account/journal/{id} - POSTUpdate preferred language
/account/language - POSTUpdate navigation animation preference
/account/navigation-animations - GETGet user notifications
/account/notifications - POSTMark all notifications as read
/account/notifications/read-all - POSTMark notification as read
/account/notifications/{id}/read - GETGet organization member profile data
/account/org-member/data - POSTUpdate organization member profile data
/account/org-member/data - GETGet overtime compensation history
/account/overtime/compensation-history - GETGet overtime statistics
/account/overtime/stats - GETList all time trackers
/account/time-tracker - POSTCreate new time tracker
/account/time-tracker - GETGet single time tracker
/account/time-tracker/{id} - DELETEDelete time tracker
/account/time-tracker/{id} - PATCHUpdate existing time tracker
/account/time-tracker/{id} - POSTPause running time tracker
/account/time-tracker/{id}/pause - POSTResume paused time tracker
/account/time-tracker/{id}/resume - POSTUpdate workspace color preference
/account/workspace-color
administration
- GETGet workspace appearance settings
/administration/appearance-settings - PATCHUpdate workspace appearance settings
/administration/appearance-settings - GETGet workspace basic settings
/administration/basic-settings - PATCHUpdate workspace basic settings
/administration/basic-settings - GETGet company settings
/administration/company-settings - PATCHUpdate company settings
/administration/company-settings - GETList custom icons
/administration/custom-icons - POSTCreate custom icon
/administration/custom-icons - PUTUpdate custom icon
/administration/custom-icons/{id} - DELETEDelete custom icon
/administration/custom-icons/{id} - GETGet document settings
/administration/document-settings - PATCHUpdate document settings
/administration/document-settings - GETList document templates
/administration/document-templates - POSTCreate document template
/administration/document-templates - GETGet document template details
/administration/document-templates/{id} - PUTUpdate document template
/administration/document-templates/{id} - DELETEDelete document template
/administration/document-templates/{id} - PATCHPartially update document template
/administration/document-templates/{id} - GETList email accounts
/administration/email-accounts - POSTCreate IMAP email account
/administration/email-accounts - GETGet email account details
/administration/email-accounts/{id} - PUTUpdate IMAP email account
/administration/email-accounts/{id} - DELETEDelete email account
/administration/email-accounts/{id} - PATCHPartially update IMAP email account
/administration/email-accounts/{id} - POSTTest email receiving
/administration/email-accounts/{id}/test-receiving - POSTTest email sending
/administration/email-accounts/{id}/test-sending - GETList form categories
/administration/form-categories - POSTCreate form category
/administration/form-categories - POSTReorder form categories
/administration/form-categories/sort - PUTUpdate form category
/administration/form-categories/{id} - DELETEDelete form category
/administration/form-categories/{id} - GETList form templates
/administration/form-templates - POSTCreate form template
/administration/form-templates - GETList form categories and templates (read-only, for attaching forms to tasks)
/administration/form-templates-available - POSTReorder form templates
/administration/form-templates/sort - GETGet form template with fields
/administration/form-templates/{id} - PUTUpdate form template
/administration/form-templates/{id} - DELETEDelete form template
/administration/form-templates/{id} - GETList fields for a form template
/administration/form-templates/{templateId}/fields - POSTCreate form template field
/administration/form-templates/{templateId}/fields - POSTReorder fields on a form template
/administration/form-templates/{templateId}/fields/sort - PUTUpdate form template field
/administration/form-templates/{templateId}/fields/{fieldId} - DELETEDelete form template field
/administration/form-templates/{templateId}/fields/{fieldId} - GETList all object custom field definitions (admin)
/administration/object-custom-fields - POSTCreate object custom field (admin)
/administration/object-custom-fields - POSTReorder object custom fields for an object type (admin)
/administration/object-custom-fields/sort/{typeId} - PUTUpdate object custom field (admin)
/administration/object-custom-fields/{id} - DELETEDelete object custom field (admin)
/administration/object-custom-fields/{id} - GETList organization custom fields
/administration/organization-settings/custom-fields - POSTCreate organization custom field
/administration/organization-settings/custom-fields - POSTReorder organization custom fields
/administration/organization-settings/custom-fields/sort - PUTUpdate organization custom field
/administration/organization-settings/custom-fields/{id} - DELETEDelete organization custom field
/administration/organization-settings/custom-fields/{id} - GETLook up permission definitions for the authenticated caller
/administration/permission-definitions - GETList available permissions
/administration/permissions - GETList product catalog
/administration/product-catalog - POSTCreate product
/administration/product-catalog - GETGet product details
/administration/product-catalog/{id} - PUTUpdate product
/administration/product-catalog/{id} - DELETEDelete product
/administration/product-catalog/{id} - PATCHPartially update product
/administration/product-catalog/{id} - GETList product categories
/administration/product-categories - POSTCreate product category
/administration/product-categories - POSTRestore default product categories
/administration/product-categories/restore-defaults - POSTReorder product categories
/administration/product-categories/sort - GETGet product category details
/administration/product-categories/{id} - PUTUpdate product category
/administration/product-categories/{id} - DELETEDelete product category
/administration/product-categories/{id} - PATCHPartially update product category
/administration/product-categories/{id} - POSTCreate a new component library component
/administration/project-components/components - POSTDuplicate a component within the library
/administration/project-components/components/{id}/duplicate - POSTRecalculate all estimates for a library component
/administration/project-components/components/{id}/recalculate-estimates - GETGet component library component details
/administration/project-components/componentsDetails/{id} - DELETEDelete (soft delete) a component library component
/administration/project-components/componentsDetails/{id} - PATCHPartially update a component library component
/administration/project-components/componentsDetails/{id} - GETGet component library item details
/administration/project-components/item-details/{id} - POSTCreate or update a question for a library component item
/administration/project-components/item-details/{itemId}/questions - POSTReorder questions within a library component item
/administration/project-components/item-details/{itemId}/questions/sort - DELETEDelete a question from a library component item
/administration/project-components/item-details/{itemId}/questions/{questionId} - PATCHPartially update a question for a library component item
/administration/project-components/item-details/{itemId}/questions/{questionId} - POSTCreate a new test case (acceptance test step) for a library component item
/administration/project-components/item-details/{itemId}/testcases - POSTReorder testcases within an item
/administration/project-components/item-details/{itemId}/testcases/sort - DELETEDelete a testcase (soft delete)
/administration/project-components/item-details/{itemId}/testcases/{testCaseId} - PATCHUpdate an existing testcase
/administration/project-components/item-details/{itemId}/testcases/{testCaseId} - POSTCreate a new todo (checklist item) for a library component item
/administration/project-components/item-details/{itemId}/todos - POSTReorder todos within an item
/administration/project-components/item-details/{itemId}/todos/sort - DELETEDelete a todo (soft delete)
/administration/project-components/item-details/{itemId}/todos/{todoId} - PATCHUpdate an existing todo
/administration/project-components/item-details/{itemId}/todos/{todoId} - POSTCreate a new component item (Epic, Work Package, Todo List, or Test Suite)
/administration/project-components/items - DELETEDelete (soft delete) a component library item
/administration/project-components/items/{id} - PATCHPartially update a component library item
/administration/project-components/items/{id} - GETGet component library tree structure
/administration/project-components/library-tree - POSTMove/reorder items in component library tree
/administration/project-components/tree/sort - GETList project categories
/administration/project-settings/categories - POSTCreate project category
/administration/project-settings/categories - POSTReorder project categories
/administration/project-settings/categories/sort - GETGet project category details
/administration/project-settings/categories/{id} - PUTUpdate project category
/administration/project-settings/categories/{id} - DELETEDelete project category
/administration/project-settings/categories/{id} - PATCHPartially update project category
/administration/project-settings/categories/{id} - GETList project custom fields
/administration/project-settings/custom-fields - POSTCreate project custom field
/administration/project-settings/custom-fields - POSTReorder project custom fields
/administration/project-settings/custom-fields/sort - PUTUpdate project custom field
/administration/project-settings/custom-fields/{id} - DELETEDelete project custom field
/administration/project-settings/custom-fields/{id} - GETList project phases
/administration/project-settings/phases - POSTCreate project phase
/administration/project-settings/phases - POSTReorder project phases
/administration/project-settings/phases/sort - GETGet project phase details
/administration/project-settings/phases/{id} - PUTUpdate project phase
/administration/project-settings/phases/{id} - DELETEDelete project phase
/administration/project-settings/phases/{id} - PATCHPartially update project phase
/administration/project-settings/phases/{id} - POSTRestore default project settings
/administration/project-settings/restore-defaults - GETList project statuses
/administration/project-settings/statuses - POSTCreate project status
/administration/project-settings/statuses - POSTReorder project statuses
/administration/project-settings/statuses/sort - GETGet project status details
/administration/project-settings/statuses/{id} - PUTUpdate project status
/administration/project-settings/statuses/{id} - DELETEDelete project status
/administration/project-settings/statuses/{id} - PATCHPartially update project status
/administration/project-settings/statuses/{id} - POSTCreate support contingent
/administration/project-settings/support-contingents - PUTUpdate support contingent
/administration/project-settings/support-contingents/{id} - DELETEDelete support contingent
/administration/project-settings/support-contingents/{id} - PATCHPartially update support contingent
/administration/project-settings/support-contingents/{id} - GETList support contingents for a project
/administration/project-settings/support-contingents/{projectId} - GETList roles
/administration/roles - POSTCreate role
/administration/roles - GETGet role details
/administration/roles/{id} - PUTUpdate role
/administration/roles/{id} - DELETEDelete role
/administration/roles/{id} - PATCHPartially update role
/administration/roles/{id} - PUTReplace role permissions
/administration/roles/{id}/permissions - PATCHToggle single permission
/administration/roles/{id}/permissions/{permissionKey} - GETGet workspace subscription and billing status
/administration/subscription-status - GETGet task auto-generation settings
/administration/task-settings - PUTUpdate task auto-generation settings
/administration/task-settings - GETGet work activities
/administration/task-settings/activities - POSTCreate or update work activity
/administration/task-settings/activities - POSTReorder work activities
/administration/task-settings/activities/sort - PUTUpdate work activity
/administration/task-settings/activities/{id} - DELETEDelete work activity
/administration/task-settings/activities/{id} - GETGet task custom fields
/administration/task-settings/custom-fields - POSTCreate task custom field
/administration/task-settings/custom-fields - POSTReorder task custom fields
/administration/task-settings/custom-fields/sort - PUTUpdate task custom field
/administration/task-settings/custom-fields/{id} - DELETEDelete task custom field
/administration/task-settings/custom-fields/{id} - POSTRestore default task settings
/administration/task-settings/restore-defaults - GETGet task statuses
/administration/task-settings/statuses - POSTCreate or update task status
/administration/task-settings/statuses - POSTReorder task statuses
/administration/task-settings/statuses/sort - PUTUpdate task status
/administration/task-settings/statuses/{id} - DELETEDelete task status
/administration/task-settings/statuses/{id} - PATCHPartially update task status
/administration/task-settings/statuses/{id} - GETGet task types
/administration/task-settings/types - POSTCreate task type
/administration/task-settings/types - POSTReorder task types
/administration/task-settings/types/sort - PUTUpdate task type
/administration/task-settings/types/{id} - DELETEDelete task type
/administration/task-settings/types/{id} - PATCHPartially update task type
/administration/task-settings/types/{id} - GETList all VAT rates
/administration/vat-rates - POSTCreate VAT rate
/administration/vat-rates - PUTUpdate VAT rate
/administration/vat-rates/{id} - DELETEDelete VAT rate
/administration/vat-rates/{id}
agent-chats
- GETList agent chats
/agent-chats - GETGet agent chat details
/agent-chats/{chatId} - DELETEDelete an agent chat
/agent-chats/{chatId} - PATCHRename an agent chat
/agent-chats/{chatId} - PATCHPin or unpin an agent chat
/agent-chats/{chatId}/pin
agent-connectors
agent-sessions
- GETGet an agent session
/agent-sessions/{runId} - GETList agent session activities
/agent-sessions/{runId}/activities - POSTAppend activity to an agent session
/agent-sessions/{runId}/activities - GETGet agent session context for a self-hosted wrapper
/agent-sessions/{runId}/context - GETGet diagnostic details for an agent session
/agent-sessions/{runId}/diagnostics - PATCHUpdate agent session status
/agent-sessions/{runId}/status - GETGet sanitized agent session transcript
/agent-sessions/{runId}/transcript - GETList agent session webhook deliveries
/agent-sessions/{runId}/webhook-deliveries - GETList agent sessions for a task
/tasks/{identifier}/agent-sessions
agents
- GETList agents
/agents - POSTCreate an agent
/agents - GETList native Leadtime agent models
/agents/models - POSTSave project-level hosted-agent overrides
/agents/project-agent-provider-settings - POSTValidate resolved project-level hosted-agent settings
/agents/project-agent-provider-settings/validate - GETList project-level hosted-agent overrides
/agents/project-agent-provider-settings/{projectId} - GETList saved hosted-agent provider API keys
/agents/provider-api-keys - POSTCreate a saved hosted-agent provider API key
/agents/provider-api-keys - DELETEDelete a saved hosted-agent provider API key
/agents/provider-api-keys/{id} - GETList workspace custom agent skills
/agents/skills - POSTCreate a workspace custom agent skill
/agents/skills - DELETEArchive a workspace custom agent skill
/agents/skills/{skillId} - PATCHUpdate a workspace custom agent skill
/agents/skills/{skillId} - GETGet agent details
/agents/{id} - DELETEDelete an agent
/agents/{id} - PATCHUpdate an agent
/agents/{id} - GETGet selected agent settings
/agents/{id}/agent-settings - GETList app chats with an agent
/agents/{id}/chats - GETGet Claude Managed Agent settings for an agent
/agents/{id}/claude - POSTSave Claude Managed Agent settings for an agent
/agents/{id}/claude - POSTDisconnect GitHub from a Claude Managed agent
/agents/{id}/claude/github/disconnect - POSTCreate a GitHub App installation URL for Claude Managed GitHub access
/agents/{id}/claude/github/install-url - POSTRefresh GitHub repositories available to a Claude Managed agent
/agents/{id}/claude/github/repositories/refresh - POSTCreate an OAuth connect URL for a Claude Managed custom MCP server
/agents/{id}/claude/managed-mcp/oauth-connect-url - POSTRefresh Claude model choices for an agent
/agents/{id}/claude/models/refresh - POSTRefresh Claude agents, environments, vaults, and models for an agent
/agents/{id}/claude/resources/refresh - POSTList Anthropic and workspace agent skills for Claude configuration
/agents/{id}/claude/skills/catalog - POSTValidate Claude Managed Agent credentials
/agents/{id}/claude/validate - POSTSet agent connection provider
/agents/{id}/connection-provider - POSTCreate a one-time connector setup token for an agent
/agents/{id}/connector-setup-token - GETGet Cursor Cloud settings for an agent
/agents/{id}/cursor - POSTSave Cursor Cloud settings for an agent
/agents/{id}/cursor - POSTRefresh Cursor Cloud model choices for an agent
/agents/{id}/cursor/models/refresh - POSTRefresh Cursor Cloud repository choices for an agent
/agents/{id}/cursor/repositories/refresh - POSTValidate Cursor Cloud credentials
/agents/{id}/cursor/validate - GETGet Devin settings for an agent
/agents/{id}/devin - POSTSave Devin settings for an agent
/agents/{id}/devin - POSTRefresh Devin repository choices for an agent
/agents/{id}/devin/repositories/refresh - POSTValidate Devin credentials
/agents/{id}/devin/validate - GETGet native custom-agent settings for an agent
/agents/{id}/native - POSTSave native custom-agent settings for an agent
/agents/{id}/native - POSTCreate or update a native custom-agent MCP connection
/agents/{id}/native/mcp-connections - DELETEDelete a native custom-agent MCP connection
/agents/{id}/native/mcp-connections/{connectionId} - POSTDisconnect native custom-agent MCP credentials
/agents/{id}/native/mcp-connections/{connectionId}/disconnect - POSTCreate an OAuth connect URL for a native custom-agent MCP connection
/agents/{id}/native/mcp-connections/{connectionId}/oauth-connect-url - GETList personal access tokens for an agent
/agents/{id}/pat-tokens - POSTCreate a personal access token for an agent
/agents/{id}/pat-tokens - DELETERevoke a personal access token for an agent
/agents/{id}/pat-tokens/{tokenId} - GETList sessions for an agent
/agents/{id}/runs - GETGet self-hosted agent settings
/agents/{id}/self-hosted - POSTSave self-hosted agent settings
/agents/{id}/self-hosted - POSTEnable or disable the self-hosted agent connection
/agents/{id}/self-hosted/enabled - POSTRotate the self-hosted agent webhook secret
/agents/{id}/self-hosted/webhook-secret/rotate - PATCHEnable or disable an agent
/agents/{id}/status
attendance
automations
- GETList automations
/automations - POSTCreate automation
/automations - POSTTrigger automation via webhook
/automations/webhooks/{secret} - GETGet automation details
/automations/{id} - PUTUpdate automation
/automations/{id} - DELETEDelete automation
/automations/{id} - GETList automation runs
/automations/{id}/runs - GETGet automation run details
/automations/{id}/runs/{runId} - POSTCreate test run
/automations/{id}/test-run
billing
- POSTCreate a new invoice
/billing/invoices - GETGet canceled invoices grid
/billing/invoices/canceled - GETGet invoice contacts for a project
/billing/invoices/invoiceContacts/{projectId} - GETGet new invoices grid
/billing/invoices/new - GETGet overdue invoices grid
/billing/invoices/overdue - GETGet paid invoices grid
/billing/invoices/paid - POSTSend invoice via email
/billing/invoices/sendInvoice - POSTSet invoice contact ID
/billing/invoices/setInvoiceContactId - GETGet invoice details
/billing/invoices/{id} - DELETEDelete an invoice
/billing/invoices/{id} - GETGet default invoice texts
/billing/invoices/{id}/default-texts - GETGet invoice file URL
/billing/invoices/{id}/file-url - POSTMark invoice as paid
/billing/invoices/{id}/mark-as-paid - POSTMark invoice as sent
/billing/invoices/{id}/mark-as-sent - POSTMark invoice as unpaid
/billing/invoices/{id}/mark-as-unpaid - POSTMark first reminder as sent
/billing/invoices/{id}/mark-first-reminder-as-sent - POSTMark second reminder as sent
/billing/invoices/{id}/mark-second-reminder-as-sent - GETGet invoice settings
/billing/invoices/{id}/settings - PATCHUpdate invoice settings
/billing/invoices/{id}/settings - GETGet potential invoices
/billing/potential-invoices - GETGet potential invoice details
/billing/potential-invoices/{id} - PATCHUpdate potential invoice settings
/billing/potential-invoices/{id} - GETGet available contacts for potential invoice
/billing/potential-invoices/{id}/contacts - POSTAdd manual position to potential invoice
/billing/potential-invoices/{id}/manual-positions - POSTReorder manual positions in potential invoice
/billing/potential-invoices/{id}/manual-positions/sort - DELETEDelete manual position from potential invoice
/billing/potential-invoices/{id}/manual-positions/{positionId} - PATCHUpdate manual position in potential invoice
/billing/potential-invoices/{id}/manual-positions/{positionId} - POSTReset potential invoice
/billing/potential-invoices/{id}/reset - POSTReorder subscriptions in potential invoice
/billing/potential-invoices/{id}/subscriptions/sort - POSTChange subscription quantity in potential invoice
/billing/potential-invoices/{id}/subscriptions/{itemId}/quantity - POSTSet task billed time
/billing/potential-invoices/{id}/tasks/{taskId}/billed-time - POSTSet task billing details
/billing/potential-invoices/{id}/tasks/{taskId}/details - POSTSet task skip from billing flag
/billing/potential-invoices/{id}/tasks/{taskId}/skip-from-billing - POSTToggle task skipped status
/billing/potential-invoices/{id}/tasks/{taskId}/toggle-skipped
contacts
employees
- POSTCreate employee
/employees - GETGet employees grid
/employees/grid - GETList employee journal entries
/employees/journal - POSTCreate employee journal entry
/employees/journal - GETGet employee journal entry details
/employees/journal/{id} - DELETEDelete employee journal entry
/employees/journal/{id} - PATCHPartially update employee journal entry
/employees/journal/{id} - GETGet employee details
/employees/{id} - DELETEDelete employee
/employees/{id} - PATCHUpdate employee
/employees/{id} - GETGet employee calendar export (ICS subscription URL)
/employees/{id}/calendar-feed - POSTRegenerate employee calendar export URL
/employees/{id}/calendar-feed/regenerate - GETList employee external calendar imports
/employees/{id}/external-calendar-feeds - POSTAdd external calendar feed for employee
/employees/{id}/external-calendar-feeds - DELETERemove employee external calendar feed
/employees/{id}/external-calendar-feeds/{feedId} - PATCHUpdate employee external calendar feed
/employees/{id}/external-calendar-feeds/{feedId} - POSTSync employee external calendar feed now
/employees/{id}/external-calendar-feeds/{feedId}/sync - POSTCreate or update salary entry
/employees/{id}/salaries - DELETEDelete salary entry
/employees/{id}/salaries/{entryId} - POSTCreate or update vacation days entry
/employees/{id}/vacation-days - DELETEDelete vacation days entry
/employees/{id}/vacation-days/{entryId} - POSTCreate or update weekly working time entry
/employees/{id}/weekly-working-time - DELETEDelete weekly working time entry
/employees/{id}/weekly-working-time/{entryId}
help-center
- GETGet help center article content
/help-center/article - GETSearch help center articles
/help-center/search - GETGet the help center table of contents
/help-center/toc
helpdesk
- GETGet email accounts with helpdesk status
/helpdesk/email-accounts - DELETEDisable helpdesk for email account
/helpdesk/email-accounts/{accountId}/disable - POSTEnable helpdesk for email account
/helpdesk/email-accounts/{accountId}/enable - GETGet specific email account helpdesk settings
/helpdesk/email-accounts/{accountId}/settings - PUTUpdate email account helpdesk settings
/helpdesk/email-accounts/{accountId}/settings - GETGet organization helpdesk settings (deprecated)
/helpdesk/organization-settings - GETGet organization helpdesk settings
/helpdesk/organizations/{organizationId}/settings - PUTUpdate organization helpdesk settings
/helpdesk/organizations/{organizationId}/settings - GETGet workspace helpdesk settings
/helpdesk/settings - PUTUpdate workspace helpdesk settings
/helpdesk/settings
holidays
- GETGet available holiday countries
/holidays/countries - POSTAdd holiday day
/holidays/days - PUTUpdate holiday day
/holidays/days/{dayId} - DELETEDelete holiday day
/holidays/days/{dayId} - GETGet holiday settings
/holidays/settings - PUTUpdate holiday settings
/holidays/settings - GETGet holiday year
/holidays/years - POSTCreate custom holiday year
/holidays/years - PUTUpdate holiday year
/holidays/years/{yearId} - DELETEDelete custom holiday year
/holidays/years/{yearId}
imports-management
- GETGet imports grid
/imports-management/grid - POSTUpload CSV file and generate AI mappings
/imports-management/upload - GETGet import details
/imports-management/{importId} - POSTPreview import results without persisting data
/imports-management/{importId}/dry-run - POSTExecute import and persist data
/imports-management/{importId}/execute - PUTUpdate all import mappings in bulk
/imports-management/{importId}/mappings
insights
- GETGet goal insights data in structured JSON format
/insights/goal-chart - GETGet project insights data in structured JSON format
/insights/project-chart - GETGet staff insights data in structured JSON format
/insights/staff-chart - GETGet turnover insights data in structured JSON format
/insights/turnover-chart - GETGet workload insights data in structured JSON format
/insights/workload-chart
object-types
- GETList object types (admin)
/object-types - POSTCreate object type (admin)
/object-types - POSTReorder object types (admin)
/object-types/sort - GETGet object type with statuses and custom fields (admin)
/object-types/{id} - PUTUpdate object type (admin)
/object-types/{id} - DELETEDelete object type (admin, soft delete). Allowed even when object instances exist; instances keep objectTypeId pointing at the soft-deleted type.
/object-types/{id} - GETList statuses for an object type (admin)
/object-types/{typeId}/statuses - POSTCreate object status (admin)
/object-types/{typeId}/statuses - POSTReorder statuses for an object type (admin)
/object-types/{typeId}/statuses/sort - PUTUpdate object status (admin)
/object-types/{typeId}/statuses/{statusId} - DELETEDelete object status (admin, soft delete)
/object-types/{typeId}/statuses/{statusId}
objects
- GETList objects (visibility rules apply)
/objects - POSTCreate object
/objects - POSTAssign objects to an organization
/objects/assignments/assign-to-organization - POSTAssign objects to a project
/objects/assignments/assign-to-project - POSTUnassign an object from its organization
/objects/assignments/unassign-from-organization - POSTUnassign an object from its project
/objects/assignments/unassign-from-project - GETList object file categories (workspace-wide)
/objects/file-categories - POSTCreate or update an object file category
/objects/file-categories/save - DELETESoft-delete an object file category
/objects/file-categories/{categoryId} - POSTLink an object to a task
/objects/tasks/link - POSTLink multiple objects to one task
/objects/tasks/link-batch - POSTRemove the link between an object and a task
/objects/tasks/unlink - GETGet object by id
/objects/{id} - PUTUpdate object
/objects/{id} - DELETESoft-delete object
/objects/{id} - GETList files attached to an object
/objects/{id}/files - POSTAttach a file to an object
/objects/{id}/files - GETDownload a file attached to an object
/objects/{id}/files/{fileRowId}/download - DELETERemove an object file attachment
/objects/{id}/files/{objectFileId} - GETAudit history for an object (paginated, newest first)
/objects/{id}/history - GETList journal entries for an object (paginated grid)
/objects/{id}/journal - POSTCreate object journal entry
/objects/{id}/journal - GETGet one object journal entry
/objects/{id}/journal/{entryId} - PUTUpdate object journal entry
/objects/{id}/journal/{entryId} - DELETEDelete object journal entry (soft delete)
/objects/{id}/journal/{entryId} - GETList tasks linked to an object
/objects/{id}/tasks
organizations
- GETList organizations
/organizations - POSTCreate organization
/organizations - GETList organization letters
/organizations/letters - POSTCreate organization letter
/organizations/letters - GETGet organization letter details
/organizations/letters/{id} - DELETEDelete organization letter
/organizations/letters/{id} - PATCHPartially update organization letter
/organizations/letters/{id} - GETList organization members
/organizations/members - POSTCreate organization member
/organizations/members - GETList organization member journal entries
/organizations/members/journal - POSTCreate organization member journal entry
/organizations/members/journal - GETGet organization member journal entry details
/organizations/members/journal/{id} - DELETEDelete organization member journal entry
/organizations/members/journal/{id} - PATCHPartially update organization member journal entry
/organizations/members/journal/{id} - GETGet organization member details
/organizations/members/{id} - DELETEDelete organization member
/organizations/members/{id} - PATCHUpdate organization member
/organizations/members/{id} - GETGet organization details
/organizations/{id} - PUTUpdate organization
/organizations/{id} - DELETEDelete organization
/organizations/{id} - PATCHPartially update organization
/organizations/{id} - PATCHUpdate organization custom fields
/organizations/{id}/custom-fields - GETGet organization document settings
/organizations/{id}/document-settings - PATCHUpdate organization document settings
/organizations/{id}/document-settings - GETGet organization guest documentation default
/organizations/{id}/guest-access - PATCHUpdate organization guest documentation default
/organizations/{id}/guest-access - GETGet organization invoice settings
/organizations/{id}/invoice-settings - PATCHUpdate organization invoice settings
/organizations/{id}/invoice-settings - GETList objects for an organization
/organizations/{id}/objects
projects
- GETList projects
/projects - POSTCreate project
/projects - GETList all project categories
/projects/categories - GETList project documentation pages
/projects/documentation - POSTCreate a project documentation page or folder
/projects/documentation - POSTExport project documentation as PDF
/projects/documentation/pdf - GETSearch documentation in one project
/projects/documentation/search - GETGet a compact project documentation tree
/projects/documentation/tree - GETGet project documentation page details
/projects/documentation/{id} - DELETEDelete a project documentation node
/projects/documentation/{id} - PATCHPartially update a project documentation page or folder
/projects/documentation/{id} - POSTApply exact HTML edits to one documentation page
/projects/documentation/{id}/content-edits - GETPreview project documentation deletion
/projects/documentation/{id}/delete-preview - PATCHSet guest visibility for one documentation page
/projects/documentation/{id}/guest-visibility - POSTShow or hide a documentation folder and all contents
/projects/documentation/{id}/guest-visibility/subtree - POSTMove a project documentation node
/projects/documentation/{id}/move - GETRead complete blocks from one documentation page
/projects/documentation/{id}/partial - GETList documentation page checkpoints
/projects/documentation/{pageId}/checkpoints - GETPreview a documentation page checkpoint
/projects/documentation/{pageId}/checkpoints/{checkpointId} - POSTRestore a documentation page checkpoint
/projects/documentation/{pageId}/checkpoints/{checkpointId}/restore - GETList project journal entries
/projects/journal - POSTCreate project journal entry
/projects/journal - GETGet project journal entry details
/projects/journal/{id} - DELETEDelete project journal entry
/projects/journal/{id} - PATCHPartially update project journal entry
/projects/journal/{id} - GETList all project phases
/projects/phases - GETList all project statuses
/projects/statuses - GETList project uploads
/projects/uploads - POSTCreate project upload
/projects/uploads - GETGet project upload details
/projects/uploads/{id} - DELETEDelete project upload
/projects/uploads/{id} - PATCHPartially update project upload
/projects/uploads/{id} - GETGet project details
/projects/{id} - DELETEDelete project
/projects/{id} - PATCHPartially update project
/projects/{id} - GETGet active subscriptions for a project
/projects/{id}/active-subscriptions - GETGet project billing settings
/projects/{id}/billing-settings - PATCHUpdate project billing settings
/projects/{id}/billing-settings - GETGet project component overview
/projects/{id}/component-overview - GETGet current project configuration state
/projects/{id}/configuration-state - GETGet project document settings
/projects/{id}/document-settings - PATCHUpdate project document settings
/projects/{id}/document-settings - GETGet project guest access settings
/projects/{id}/guest-access - PATCHUpdate project guest access settings
/projects/{id}/guest-access - GETList objects assigned to a project
/projects/{id}/objects - GETList support contingents with details for a project
/projects/{id}/support-contingents - GETGet detailed period-by-period breakdown of support contingents
/projects/{id}/support-contingents-details - GETList all versions for a project
/projects/{id}/versions - POSTCreate a new project version
/projects/{id}/versions - GETGet version details
/projects/{id}/versions/{versionId} - POSTRestore project to a previous version
/projects/{id}/versions/{versionId}/restore - POSTCreate a new component in a project
/projects/{projectId}/components - GETGet project component details
/projects/{projectId}/components/component-details/{id} - POSTImport components from library into project
/projects/{projectId}/components/import-from-library - GETGet project component item details
/projects/{projectId}/components/item-details/{id} - POSTCreate a new test case (acceptance test step) for a component item
/projects/{projectId}/components/items/{itemId}/testcases - PATCHUpdate an existing todo
/projects/{projectId}/components/items/{itemId}/todos/{todoId} - GETGet component tree for a specific project
/projects/{projectId}/components/tree - POSTMove/reorder items in project component tree
/projects/{projectId}/components/tree/sort - DELETEDelete (soft delete) a component in a project
/projects/{projectId}/components/{id} - PATCHPartially update a project component
/projects/{projectId}/components/{id} - POSTDuplicate a component within the same project
/projects/{projectId}/components/{id}/duplicate - POSTExport a project component to the library
/projects/{projectId}/components/{id}/export - POSTRecalculate all estimates for a project component
/projects/{projectId}/components/{id}/recalculate-estimates - GETList documents for a project
/projects/{projectId}/documents - POSTCreate new document
/projects/{projectId}/documents - GETGet available contact persons for document creation
/projects/{projectId}/documents/contact-persons - GETGet preview formatted offer number for new document
/projects/{projectId}/documents/preview-offer-number/{snapshotId} - GETGet document details
/projects/{projectId}/documents/{id} - DELETEDelete document
/projects/{projectId}/documents/{id} - PATCHPartially update document
/projects/{projectId}/documents/{id} - GETList project interim payments
/projects/{projectId}/interim-payments - POSTCreate interim payment
/projects/{projectId}/interim-payments - POSTReorder interim payments
/projects/{projectId}/interim-payments/sort - DELETEDelete interim payment
/projects/{projectId}/interim-payments/{id} - PATCHPartially update interim payment
/projects/{projectId}/interim-payments/{id} - POSTCreate a new component item (Epic, Work Package, Todo List, or Test Suite)
/projects/{projectId}/items - DELETEDelete component item
/projects/{projectId}/items/{id} - PATCHPartially update a component item
/projects/{projectId}/items/{id} - POSTCreate a new question for a component item
/projects/{projectId}/items/{itemId}/questions - POSTReorder questions within a component item
/projects/{projectId}/items/{itemId}/questions/sort - PATCHPartially update an existing question
/projects/{projectId}/items/{itemId}/questions/{id} - POSTAnswer a question in a project component item
/projects/{projectId}/items/{itemId}/questions/{id}/answer - DELETEDelete a question from a project component item
/projects/{projectId}/items/{itemId}/questions/{questionId} - POSTConnect component item to task
/projects/{projectId}/items/{itemId}/tasks/connect - POSTDisconnect a component item from its associated task(s)
/projects/{projectId}/items/{itemId}/tasks/disconnect - POSTGenerate tasks from a component item
/projects/{projectId}/items/{itemId}/tasks/generate - POSTSort test cases within a component item
/projects/{projectId}/items/{itemId}/testcases/sort - DELETEDelete (soft delete) a test case
/projects/{projectId}/items/{itemId}/testcases/{id} - PATCHUpdate an existing test case
/projects/{projectId}/items/{itemId}/testcases/{id} - POSTEvaluate a test case
/projects/{projectId}/items/{itemId}/testcases/{id}/evaluate - POSTCreate a new todo (checklist item) for a component item
/projects/{projectId}/items/{itemId}/todos - POSTSort todos within an item
/projects/{projectId}/items/{itemId}/todos/sort - DELETEDelete (soft delete) a todo from a component item
/projects/{projectId}/items/{itemId}/todos/{id} - POSTAdd a comment to a todo in a project component item
/projects/{projectId}/items/{itemId}/todos/{id}/comment - POSTToggle todo completion status
/projects/{projectId}/items/{itemId}/todos/{id}/toggle - GETList all manual positions for a project
/projects/{projectId}/manual-positions - POSTCreate a new manual position
/projects/{projectId}/manual-positions - POSTReorder manual positions
/projects/{projectId}/manual-positions/sort - DELETEDelete a manual position
/projects/{projectId}/manual-positions/{id} - PATCHUpdate an existing manual position
/projects/{projectId}/manual-positions/{id} - GETList all products in a project
/projects/{projectId}/products - POSTImport product from catalog
/projects/{projectId}/products - POSTReorder products
/projects/{projectId}/products/sort - GETGet product details
/projects/{projectId}/products/{productId} - DELETEDelete product from project
/projects/{projectId}/products/{productId} - POSTDuplicate product
/projects/{projectId}/products/{productId}/duplicate - POSTUpdate product settings
/projects/{projectId}/products/{productId}/settings - GETList project subscription billings
/projects/{projectId}/subscription-billings - POSTCreate project subscription billing
/projects/{projectId}/subscription-billings - GETGet products from billing snapshot
/projects/{projectId}/subscription-billings/products-from-snapshot - DELETEDelete project subscription billing
/projects/{projectId}/subscription-billings/{id} - PATCHUpdate project subscription billing
/projects/{projectId}/subscription-billings/{id}
sales
support
- GETList my support tickets
/support/tickets - POSTOpen a support ticket
/support/tickets - GETGet my support ticket
/support/tickets/{ticketId} - POSTPost a support message
/support/tickets/{ticketId}/messages
tags
- POSTCreate a new tag
/tags/{type}/create - GETList all tags of specified type
/tags/{type}/list - POSTUpdate an existing tag
/tags/{type}/save - DELETESoft delete a tag
/tags/{type}/{id}
tasks
- POSTCreate a new task
/tasks - GETGet big picture data for a project
/tasks/bigPicture - POSTReorder task type groups (rows)
/tasks/bigPicture/group-order - POSTReorder tasks within a group (task type)
/tasks/bigPicture/order - GETList all task custom fields
/tasks/custom-fields - GETGet tasks grid
/tasks/grid - GETGet pipeline data for date range
/tasks/pipeline - POSTPlan a task (create pipeline item)
/tasks/pipeline/items - DELETERemove a planned task
/tasks/pipeline/items/{id} - PATCHEdit a planned task
/tasks/pipeline/items/{id} - POSTActivate/deactivate pipeline for a week
/tasks/pipeline/status - GETGet pool data for an accountable user
/tasks/pool - POSTUpdate group/type order within a project in a pool
/tasks/pool/group-order - POSTUpdate task order within a pool
/tasks/pool/order - POSTUpdate project order within a pool
/tasks/pool/project-order - GETGet stack data for a user
/tasks/stack - GETList all task statuses
/tasks/statuses - GETList all task types
/tasks/types - GETGet task details by UUID or shortNumber
/tasks/{identifier} - DELETEDelete task by UUID or shortNumber
/tasks/{identifier} - PATCHUpdate a task
/tasks/{identifier} - POSTAdd a blocker to a task
/tasks/{identifier}/blocked-by - DELETERemove a blocker from a task
/tasks/{identifier}/blocked-by/{taskId} - POSTAdd a task that this task blocks
/tasks/{identifier}/blocking - DELETEStop blocking a task
/tasks/{identifier}/blocking/{taskId} - POSTAdd comment to task
/tasks/{identifier}/comments - DELETEDelete task comment
/tasks/{identifier}/comments/{commentId} - PATCHUpdate task comment
/tasks/{identifier}/comments/{commentId} - POSTDuplicate a task
/tasks/{identifier}/duplicate - GETList express quotations
/tasks/{identifier}/express-quotations - POSTCreate express quotation
/tasks/{identifier}/express-quotations - GETGet single express quotation
/tasks/{identifier}/express-quotations/{quotationId} - DELETEDelete quotation
/tasks/{identifier}/express-quotations/{quotationId} - POSTAccept quotation
/tasks/{identifier}/express-quotations/{quotationId}/accept - POSTReject quotation
/tasks/{identifier}/express-quotations/{quotationId}/reject - POSTSend quotation email
/tasks/{identifier}/express-quotations/{quotationId}/send-email - GETList form instances on a task
/tasks/{identifier}/form-instances - POSTAttach a form template to a task
/tasks/{identifier}/form-instances - DELETERemove a form instance from a task
/tasks/{identifier}/form-instances/{formInstanceId} - PATCHUpdate stored values for a form instance
/tasks/{identifier}/form-instances/{formInstanceId} - POSTImport product from catalog to task
/tasks/{identifier}/products - DELETEDelete task product
/tasks/{identifier}/products/{productId} - PATCHPartially update task product
/tasks/{identifier}/products/{productId} - POSTUpdate task product settings
/tasks/{identifier}/products/{productId}/settings - POSTAdd a subtask to a task
/tasks/{identifier}/subtasks - DELETERemove a subtask from a task
/tasks/{identifier}/subtasks/{subtaskId}
teams
- GETList all teams
/teams - POSTCreate a new team
/teams - GETGet team details
/teams/{id} - DELETEDelete a team
/teams/{id} - PATCHPartially update a team
/teams/{id}
time
timebookings
- POSTCreate a new time booking
/timebookings - GETGet time bookings grid
/timebookings/timeGrid - DELETEDelete a time booking
/timebookings/{id} - PATCHUpdate an existing time booking
/timebookings/{id}
vacations
- GETGet vacation history grid
/vacations/history - GETGet pending vacation requests
/vacations/pending - GETGet upcoming approved vacations
/vacations/upcoming - POSTApprove a vacation request
/vacations/{id}/approve - POSTDecline or cancel a vacation request
/vacations/{id}/decline
workspace
- GETGet workspace details
/workspace/details - GETDownload a workspace file
/workspace/files/{fileId} - GETList all form templates
/workspace/form-templates - GETGet form template with fields
/workspace/form-templates/{id} - GETList all manual position categories
/workspace/manual-position-categories - POSTCreate or update manual position category
/workspace/manual-position-categories - DELETEDelete manual position category
/workspace/manual-position-categories/{id} - GETWorkspace object settings (read-only)
/workspace/object-settings - GETList all catalog products
/workspace/product-list - GETQuick search across workspace entities
/workspace/quick-search - POSTUpload file to workspace
/workspace/upload - GETList all workspace users
/workspace/users