Skip to main content

Delete Quote (Decline)

Quotes are never hard-deleted โ€” decided quotes stay on record. DELETE declines the quote on the customer's behalf: any held dates come free immediately and the supplier is notified. It behaves identically to Decline Quote.

DELETE /v1/quotes/{id}

Authenticationโ€‹

Requires a valid API key with quotes:write scope.

Path Parametersโ€‹

ParameterTypeDescription
idintegerQuote ID

Request Bodyโ€‹

FieldTypeRequiredDescription
reasonstringNoDecline reason (max 1000 chars)

Request Exampleโ€‹

curl -X DELETE "https://app.equipdash.com/api/v1/quotes/123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "reason": "Went with different dates" }'

Responseโ€‹

Returns 200 OK with the updated quote (not 204) โ€” state is declined, decided_at is stamped, and reserves_dates is false (any hold has been released).

{
"data": {
"id": 123,
"quote_number": "Q-123",
"state": "declined",
"reserves_dates": false,
"decided_at": "2026-02-05T14:00:00+00:00",
"decline_reason": "Went with different dates",
"...": "..."
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-05T14:00:00+00:00"
}
}

Error Responsesโ€‹

StatusCodeDescription
401authentication_requiredMissing or invalid API key
403insufficient_scopeAPI key lacks quotes:write scope
404not_foundQuote not found (or belongs to another account)
409conflictThe quote has already been decided
422validation_errorreason exceeds 1000 characters