Update bid
const url = 'https://app.buildworkpro.com/api/v1/bids/1';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"bidNumber":"example","name":"example","leadId":1,"contactId":1,"projectId":1,"dueDate":"example","validUntil":"example","sentAt":"example","acceptedAt":"example","acceptedBy":"example","rejectedAt":"example","cancelReason":"example","cancelledAt":"example","cancelledFromStatus":"example","taxRate":"example","discountType":"example","discount":"example","siteAddress":"example","siteCity":"example","siteState":"example","siteZipCode":"example","latitude":"example","longitude":"example","notes":"example","terms":"example","paymentTermsText":"example","paymentTermId":1,"createdBy":1,"marginPercent":"example","companyOhPercent":"example","commissionPercent":"example","showSublines":true,"roundSalesAmounts":true,"kanbanOrder":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://app.buildworkpro.com/api/v1/bids/1 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "bidNumber": "example", "name": "example", "leadId": 1, "contactId": 1, "projectId": 1, "dueDate": "example", "validUntil": "example", "sentAt": "example", "acceptedAt": "example", "acceptedBy": "example", "rejectedAt": "example", "cancelReason": "example", "cancelledAt": "example", "cancelledFromStatus": "example", "taxRate": "example", "discountType": "example", "discount": "example", "siteAddress": "example", "siteCity": "example", "siteState": "example", "siteZipCode": "example", "latitude": "example", "longitude": "example", "notes": "example", "terms": "example", "paymentTermsText": "example", "paymentTermId": 1, "createdBy": 1, "marginPercent": "example", "companyOhPercent": "example", "commissionPercent": "example", "showSublines": true, "roundSalesAmounts": true, "kanbanOrder": 1 }'Partially updates a bid. Accepted bids are locked.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Header Parameters
Section titled “ Header Parameters ”Idempotent retry key for mutating operations. The first request with a given key executes normally and BuildWorkPro caches the response. Replaying the same key with the same request body (method + path + JSON body, SHA-256 hashed) returns the cached response without re-executing the mutation. Replaying with a DIFFERENT body returns 409 idempotency_key_reused. The cache TTL is 24 hours; after expiry the key is treated as a new operation. Keys are tenant-scoped. Recommended: a fresh UUID v4 per logical operation.
Request Body
Section titled “ Request Body ”object
Example generated
{ "bidNumber": "example", "name": "example", "leadId": 1, "contactId": 1, "projectId": 1, "dueDate": "example", "validUntil": "example", "sentAt": "example", "acceptedAt": "example", "acceptedBy": "example", "rejectedAt": "example", "cancelReason": "example", "cancelledAt": "example", "cancelledFromStatus": "example", "taxRate": "example", "discountType": "example", "discount": "example", "siteAddress": "example", "siteCity": "example", "siteState": "example", "siteZipCode": "example", "latitude": "example", "longitude": "example", "notes": "example", "terms": "example", "paymentTermsText": "example", "paymentTermId": 1, "createdBy": 1, "marginPercent": "example", "companyOhPercent": "example", "commissionPercent": "example", "showSublines": true, "roundSalesAmounts": true, "kanbanOrder": 1}Responses
Section titled “ Responses ”Updated
object
object
object
Server-generated request identifier
object
Opaque cursor for the next page; null when no more results
Whether more pages are available after this one
Items in this page
Example generated
{ "data": { "id": 1, "bidNumber": "example", "contactId": 1, "leadId": 1, "projectId": 1, "status": "example", "subtotal": "example", "taxAmount": "example", "total": "example", "discountAmount": "example", "taxRate": "example", "discount": "example", "discountType": "example", "validUntil": "2026-04-15T12:00:00Z", "notes": "example", "terms": "example", "siteAddress": "example", "siteCity": "example", "siteState": "example", "siteZipCode": "example", "sentAt": "2026-04-15T12:00:00Z", "acceptedAt": "2026-04-15T12:00:00Z", "acceptedBy": "example", "createdAt": "2026-04-15T12:00:00Z", "updatedAt": "2026-04-15T12:00:00Z" }, "meta": { "request_id": "example", "pagination": { "cursor": "example", "has_more": true, "count": 1 } }}Error
object
URL identifying the problem type
Short human-readable summary
HTTP status code
Human-readable explanation
Server-generated request identifier
Validation error array (422 only)
object
Field path that failed validation
Validation error code
Human-readable validation message
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Error
object
URL identifying the problem type
Short human-readable summary
HTTP status code
Human-readable explanation
Server-generated request identifier
Validation error array (422 only)
object
Field path that failed validation
Validation error code
Human-readable validation message
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Error
object
URL identifying the problem type
Short human-readable summary
HTTP status code
Human-readable explanation
Server-generated request identifier
Validation error array (422 only)
object
Field path that failed validation
Validation error code
Human-readable validation message
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}