Developer API
Build integrations and plugins on CrewKeel. The REST API covers jobs, estimates, invoices, and customers. When you are ready, submit your plugin to the marketplace.
Getting started
- Open Settings, then API and Integrations, and create a token. The full token is shown once, so copy it immediately.
- Send the token on every request as an Authorization header: Authorization: Bearer ck_live_...
- Base URL is /api/v1. All responses are JSON. Errors use the shape { error: { code, message } }.
Base URL: /api/v1
Auth
Send your token as a bearer header on every request. Tokens are created in Settings, then API and Integrations (a Pro plan or above).
curl https://crewkeel.com/api/v1/me \ -H "Authorization: Bearer ck_live_..."
Errors always use this shape:
{ "error": { "code": "forbidden_scope", "message": "This token is missing the required scope: jobs:write." } }Endpoint reference
Identity
/api/v1/meThe token's contractor and granted scopes.
/api/v1/scopesGranted scopes plus the full scope catalog.
Jobs
/api/v1/jobsList jobs, newest first.
jobs:read/api/v1/jobs/{ref}A single job by reference or id, with line items and documents.
jobs:read/api/v1/jobsCreate a job. Requires a title.
jobs:write/api/v1/jobs/{ref}Update a job's status.
jobs:writeEstimates
/api/v1/estimatesList estimates across your jobs.
documents:read/api/v1/estimates/{id}A single estimate.
documents:read/api/v1/estimatesCreate an estimate from a job's line items. Pass send: true (with documents:send) to issue a PDF.
documents:writeInvoices
/api/v1/invoicesList invoices across your jobs.
documents:read/api/v1/invoices/{id}A single invoice.
documents:read/api/v1/invoicesCreate an invoice from a job's line items. Pass send: true (with documents:send) to issue a PDF.
documents:writeCustomers
/api/v1/customersList customers seen across your jobs.
customers:read/api/v1/customersCreate a customer. Requires display_name.
customers:writeRate limits
Each token is limited to 100 requests per minute. Exceeding it returns 429 with code rate_limited.
Scopes
jobs:readList and read jobs.jobs:writeCreate jobs and update job status.documents:readList and read estimates and invoices.documents:writeCreate estimates and invoices.documents:sendIssue and send estimates and invoices as PDFs.customers:readList customers.customers:writeCreate customers.