saveItemProfile
Requires permission biddesk:assembly:manage.
Creates a product's item profile (expectedVersion null) or replaces it (the version you loaded). Sourcing needs the ASSEMBLED or PURCHASABLE role; attribute values are checked against the product's attribute set and every problem is returned together as ITEM_PROFILE_INVALID. Refused with VERSION_CONFLICT when someone saved first. Requires Bid Desk and permission to manage assemblies.
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 SaveItemProfile($input: SaveItemProfileInput!) {
saveItemProfile(input: $input) {
id
createdAt
attributes
productId
roles
serviceFlags
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation SaveItemProfile($input: SaveItemProfileInput!) {\n saveItemProfile(input: $input) {\n id\n createdAt\n attributes\n productId\n roles\n serviceFlags\n }\n}",
"variables": {
"input": {
"productId": "id"
}
}
}
EOF
Variables:
{
"input": {
"productId": "id"
}
}
Response:
{
"data": {
"saveItemProfile": {
"id": "id",
"createdAt": "2025-01-15T00:00:00Z",
"attributes": {},
"productId": "id",
"roles": [
"ASSEMBLED"
],
"serviceFlags": [
"CRITICAL"
]
}
}
}
saveItemProfile(
input: SaveItemProfileInput!
): ItemProfile!
Arguments
saveItemProfile.input ● SaveItemProfileInput! non-null input
The product's whole item profile.
Type
ItemProfile object
A product's Bid Desk item profile, kept beside the product: its roles, sourcing, service flags and technical attribute values.