Skip to content

Update a product

PATCH
/products/{id}
curl --request PATCH \
--url https://api.de.teamgrid.app/v1/products/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "amount": 1, "annotation": "example", "costCenter": [ "example" ], "description": "example", "disabled": true, "financeAccount": "example", "name": "example", "priceGroupIds": [ "example" ], "productGroupId": "example", "productNumber": "example", "purchasePrice": 1, "retailPrice": 1, "taxRate": 1, "unit": "example" }'
id
required
string
>= 1 characters <= 128 characters
Media typeapplication/json
object
>= 1 properties
amount
number | null
<= 1000000000
annotation
string | null
<= 50000 characters
costCenter
Array<string> | null
<= 2 items unique items
description
string | null
<= 50000 characters
disabled
boolean | null
financeAccount
string | null
<= 1000 characters
name
string
>= 1 characters <= 500 characters
priceGroupIds
Array<string> | null
<= 100 items unique items
productGroupId
string | null
<= 128 characters
productNumber
string | null
<= 1000 characters
purchasePrice

Requires products:finance:write when supplied.

number | null
<= 1000000000000
retailPrice
number | null
<= 1000000000000
taxRate
number | null
<= 100
unit
string | null
<= 1000 characters
Examplegenerated
{
"amount": 1,
"annotation": "example",
"costCenter": [
"example"
],
"description": "example",
"disabled": true,
"financeAccount": "example",
"name": "example",
"priceGroupIds": [
"example"
],
"productGroupId": "example",
"productNumber": "example",
"purchasePrice": 1,
"retailPrice": 1,
"taxRate": 1,
"unit": "example"
}

The updated resource.

Media typeapplication/json
object
data
required

Product catalog entry. purchasePrice is finance-gated.

object
attributes
required
object
amount
required
number | null
<= 1000000000
annotation
required
string
<= 50000 characters
archived
required
boolean
costCenter
required
Array<string>
<= 2 items unique items
createdAt
required
string | null format: date-time
description
required
string
<= 50000 characters
disabled
required
boolean
financeAccount
required
string | null
<= 1000 characters
name
required
string
<= 500 characters
priceGroupIds
required
Array<string>
<= 100 items unique items
productGroupId
required
string | null
<= 128 characters
productNumber
required
string | null
<= 1000 characters
purchasePrice

Internal acquisition cost. Present only with products:finance:read.

number | null
<= 1000000000000
retailPrice
required
number | null
<= 1000000000000
taxRate
required
number | null
<= 100
unit
required
string | null
<= 1000 characters
updatedAt
required
string | null format: date-time
id
required
string
>= 1 characters <= 128 characters
type
required
string
Allowed value: product
meta
required
object
requestId
required
string
Example
{
"data": {
"type": "product"
}
}

The request is invalid.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The bearer credential is missing, invalid, expired, or revoked.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The credential has insufficient scope.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The tenant-scoped resource does not exist.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The request conflicts with the current resource state.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

The credential or source exceeded its rate limit.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}
Retry-After
integer
>= 1

Minimum delay in seconds before retrying.

X-RateLimit-Limit
integer

Maximum requests in the current window.

X-RateLimit-Remaining
integer

Requests remaining in the current window.

X-RateLimit-Reset
integer

Unix time in milliseconds when the current window resets.

X-Request-Id
string

Request correlation identifier.

The cell-local application returned an invalid response.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}

A required cell-local dependency is unavailable.

Media typeapplication/json
object
errors
required
Array<object>
object
code
required
string
detail
required
string
source
object
key
additional properties
string
status
required
string
/^[1-5][0-9]{2}$/
title
required
string
meta
required
object
requestId
required
string
Examplegenerated
{
"errors": [
{
"code": "example",
"detail": "example",
"source": {
"additionalProperty": "example"
},
"status": "example",
"title": "example"
}
],
"meta": {
"requestId": "example"
}
}