API Documentation
The bestdesq REST API lets you integrate with external tools, custom scripts, and automation platforms. All endpoints are versioned under /api/v1/.
Authentication
Authorization: Bearer bdq_pat_<your-token>
Create Personal Access Tokens in your bestdesq account under Settings → API Tokens.
API Reference
Organisations
Organisations and companies- GET
/api/v1/organisationsList organisations - POST
/api/v1/organisationsCreate organisation - GET
/api/v1/organisations/{id}Get organisation - PUT
/api/v1/organisations/{id}Update organisation - DEL
/api/v1/organisations/{id}Delete organisation
Persons
Contact persons- GET
/api/v1/personsList persons - POST
/api/v1/personsCreate person - GET
/api/v1/persons/{id}Get person - PUT
/api/v1/persons/{id}Update person - DEL
/api/v1/persons/{id}Delete person
Projects
Client projects- GET
/api/v1/projectsList projects - POST
/api/v1/projectsCreate project - GET
/api/v1/projects/{id}Get project - PUT
/api/v1/projects/{id}Update project
Leads
Sales leads- GET
/api/v1/leadsList leads - POST
/api/v1/leadsCreate lead - GET
/api/v1/leads/{id}Get lead - PUT
/api/v1/leads/{id}Update lead - DEL
/api/v1/leads/{id}Delete lead
Offers
Offers and offer positions- GET
/api/v1/offersList offers - POST
/api/v1/offersCreate offer - GET
/api/v1/offers/{id}Get offer - PUT
/api/v1/offers/{id}Update offer - DEL
/api/v1/offers/{id}Delete offer - GET
/api/v1/offers/{offerId}/positionsList positions for an offer - POST
/api/v1/offers/{offerId}/positionsCreate position in an offer - PUT
/api/v1/offers/{offerId}/positions/{id}Update offer position - DEL
/api/v1/offers/{offerId}/positions/{id}Delete offer position
Time Records
Time tracking entries- GET
/api/v1/time-recordsList time records - POST
/api/v1/time-recordsCreate time record - GET
/api/v1/time-records/{id}Get time record - PUT
/api/v1/time-records/{id}Update time record - DEL
/api/v1/time-records/{id}Delete time record
Tasks
Entity tasks (projects, leads, offers)- GET
/api/v1/leads/{leadId}/tasksList tasks for a lead - POST
/api/v1/leads/{leadId}/tasksCreate task in a lead - GET
/api/v1/offers/{offerId}/tasksList tasks for an offer - POST
/api/v1/offers/{offerId}/tasksCreate task in an offer - GET
/api/v1/projects/{projectId}/tasksList tasks for a project - POST
/api/v1/projects/{projectId}/tasksCreate task in a project - GET
/api/v1/tasks/{id}Get task - PUT
/api/v1/tasks/{id}Update task
Invoices
Outgoing invoices- GET
/api/v1/invoicesList invoices - POST
/api/v1/invoicesCreate invoice - GET
/api/v1/invoices/{id}Get invoice - PUT
/api/v1/invoices/{id}Update invoice - DEL
/api/v1/invoices/{id}Delete invoice
Scheduled Invoices
Planned future invoices (revenue pipeline)- GET
/api/v1/scheduled-invoicesList scheduled invoices - POST
/api/v1/scheduled-invoicesCreate scheduled invoice - GET
/api/v1/scheduled-invoices/{id}Get scheduled invoice - PUT
/api/v1/scheduled-invoices/{id}Update scheduled invoice - DEL
/api/v1/scheduled-invoices/{id}Delete scheduled invoice
Incoming Invoices
Supplier invoices (accounts payable)- GET
/api/v1/incoming-invoicesList incoming invoices - POST
/api/v1/incoming-invoicesCreate incoming invoice - GET
/api/v1/incoming-invoices/{id}Get incoming invoice - PUT
/api/v1/incoming-invoices/{id}Update incoming invoice - DEL
/api/v1/incoming-invoices/{id}Delete incoming invoice - POST
/api/v1/incoming-invoices/{id}/paidMark incoming invoice as paid
Interactive Console
To use Try-it-out: create a demo account at demo.bestdesq.app and generate a PAT under Settings → API Tokens.


