saveBidCostModelDraft
Requires permission biddesk:settings:manage.
Creates the organization's cost model draft (from the published version when no body is sent) or replaces it (with expectedVersion). Refused with COST_MODEL_INVALID listing each bad field, and with VERSION_CONFLICT when someone saved first. Requires Bid Desk, permission to manage Bid Desk settings and permission to view costs.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
mutation SaveBidCostModelDraft($input: SaveBidCostModelDraftInput!) {
saveBidCostModelDraft(input: $input) {
id
status
body
currency
modelVersion
publishedAt
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation SaveBidCostModelDraft($input: SaveBidCostModelDraftInput!) {\n saveBidCostModelDraft(input: $input) {\n id\n status\n body\n currency\n modelVersion\n publishedAt\n }\n}",
"variables": {
"input": {}
}
}
EOF
Variables:
{
"input": {}
}
Response:
{
"data": {
"saveBidCostModelDraft": {
"id": "id",
"status": "DRAFT",
"body": {},
"currency": "string",
"modelVersion": 0,
"publishedAt": "2025-01-15T00:00:00Z"
}
}
}
saveBidCostModelDraft(
input: SaveBidCostModelDraftInput!
): BidCostModelVersion!
Arguments
saveBidCostModelDraft.input ● SaveBidCostModelDraftInput! non-null input
The draft's rates and the version it is based on.
Type
BidCostModelVersion object
One version of the organization's Bid Desk cost model: labour rates by skill, overhead, contingency by risk tag, freight, packing, installation, commissioning and travel day rates, warranty and financing. A published version never changes.