Accept quotation
Accepts the quotation, marking it as the active quotation for billing purposes. This action automatically rejects all other Pending or Accepted quotations for the same task.
What happens when a quotation is accepted:
- The quotation status changes to Accepted
- All other Pending or Accepted quotations for the same task are automatically rejected
- The task is marked with
hasAcceptedQuotation = true - The task’s
acceptedQuotationSubTotalis set to this quotation’s subtotal - When the task is billed, the quotation amount is used instead of time-based billing
- Notifications are sent to task subscribers
Billing impact:
Once accepted, the task will use the quotation’s subtotal for invoicing instead of calculating billing from spentTime * hourRate. The task must still be in Closed or Resolved status and not already billed to be included in invoices.
Note: Only one quotation per task can be Accepted at a time. Accepting a new quotation will automatically reject the previously accepted one.
POST
/tasks/{identifier}/express-quotations/{quotationId}/acceptAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
identifierstringrequiredTask UUID or numeric shortNumber
quotationIdstringrequiredQuotation UUID
Responses
200Quotation accepted successfully
successbooleanrequiredOperation success flag
400Invalid task identifier or quotation ID
401Unauthorized - Invalid or missing authentication token
403No access to task project
404Task or quotation not found
Request
curl -X POST "https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123/express-quotations/550e8400-e29b-41d4-a716-446655440000/accept" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123/express-quotations/550e8400-e29b-41d4-a716-446655440000/accept", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.post(
"https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123/express-quotations/550e8400-e29b-41d4-a716-446655440000/accept",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
{
"success": true
}Invalid task identifier or quotation ID
Unauthorized - Invalid or missing authentication token
No access to task project
Task or quotation not found