Skip to content

Update bid line item

PATCH
/bids/{id}/line-items/{itemId}
curl --request PATCH \
--url https://app.buildworkpro.com/api/v1/bids/1/line-items/1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "productId": 1, "markName": "example", "description": "example", "quantity": "example", "width": "example", "height": "example", "depth": "example", "area": "example", "perimeterLf": "example", "volumeCf": "example", "buyTaxPercent": "example", "sellTaxPercent": "example", "kind": "item", "isOptional": true, "order": 1, "deletedAt": "example", "unitPrice": "example" }'
id
required
integer
itemId
required
integer
Idempotency-Key
string format: uuid
<= 255 characters

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.

Media type application/json
object
productId
integer | null
>= -2147483648 <= 2147483647
markName
string | null
<= 100 characters
description
string
quantity
string | null
width
string | null
height
string | null
depth
string | null
area
string | null
perimeterLf
string | null
volumeCf
string | null
buyTaxPercent
string | null
sellTaxPercent
string | null
kind

Item = priced line; section = header grouping the rows after it; note = customer-visible text.

string
Allowed values: item section note
isOptional

An optional (alternate) priced line, quoted outside the bid total.

boolean
order
integer | null
>= -2147483648 <= 2147483647
deletedAt
string | null
unitPrice
string

Updated

Media type application/json
object
data
required
object
id
required
integer
bidId
required
integer
kind
required

Item = priced line; section = header grouping the rows after it; note = customer-visible text.

string
Allowed values: item section note
isOptional
required

An optional (alternate) priced line, quoted outside the bid total.

boolean
markName
required

Human-friendly mark name, e.g. W-01. Null on section and note rows.

string | null
description
required
string | null
quantity
required
string | null
unitPrice
required
string | null
total
required
string | null
order
required

Sort position within the bid. A section covers every following row until the next section.

integer | null
meta
required
object
request_id

Server-generated request identifier

string
pagination
object
cursor
required

Opaque cursor for the next page; null when no more results

string | null
has_more
required

Whether more pages are available after this one

boolean
count
required

Items in this page

integer
Example
{
"data": {
"kind": "item"
}
}

Error

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Error

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Error

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}