Upsert a product

Request

Creates or updates (upserts) a product with a specified ID.

Security
SecretApiKey or JWT
Path
idstring, <= 50 characters^[@~\-\.\w]+$required
ID of the resource.
Bodyapplication/jsonrequired
Product resource.
namestring, [ 3 .. 255 ] charactersrequired
Name of the product.
Example:"Premium membership"
unitLabelstring, [ 1 .. 50 ] characters

Unit label, such as per seat or per unit.

Default:"unit"
Example:"seat"
descriptionstring or null, <= 512 characters
Description of the product.
requiresShippingboolean

Specifies if the product requires shipping. If this value is true, shipping calculations are applied.

Default:false
Example:false
optionsArray of strings

Names of product options. A product option is a property that distinguishes the pricing plans of a product. The value of each product option is specified in the productOptions field of each pricing plan. For more information, see Plans.

Example:
[ "region", "size" ]
taxCategoryIdstring or null

Tax category of the product. For a complete list of supported tax categories, see TaxJar sales tax API reference. If none of the tax categories from the list are applicable for your product, use the general tax category 00000.

Example:"00000"
accountingCodestring or null
Accounting code of the product.
Example:"4010"
recognitionobject or null
customFieldsobject(ResourceCustomFields)

Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. For more information, see Custom fields.

Default:{}
Example:
{ "foo": "bar" }
curl -i -X PUT \
  'https://www.rebilly.com/_mock/catalog/all/products/{id}' \
  -H 'Content-Type: application/json' \
  -H 'REB-APIKEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Premium membership",
    "unitLabel": "seat",
    "description": "string",
    "requiresShipping": false,
    "options": [
      "region",
      "size"
    ],
    "taxCategoryId": "00000",
    "accountingCode": "4010",
    "recognition": {
      "debitAccountId": "string",
      "creditAccountId": "string"
    },
    "customFields": {
      "foo": "bar"
    }
  }'

Responses

Product updated.
Headers
Rate-Limit-Limitinteger

Maximum number of requests available at one time for this rate limit. For more information, see Rate limits.

Example:500
Rate-Limit-Remaininginteger

Number of requests still available for this rate limit. For more information, see Rate limits.

Example:499
Bodyapplication/json
idstring, <= 50 charactersread-only
ID of the product.
Example:"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"
namestring, [ 3 .. 255 ] charactersrequired
Name of the product.
Example:"Premium membership"
unitLabelstring, [ 1 .. 50 ] characters

Unit label, such as per seat or per unit.

Default:"unit"
Example:"seat"
descriptionstring or null, <= 512 characters
Description of the product.
requiresShippingboolean

Specifies if the product requires shipping. If this value is true, shipping calculations are applied.

Default:false
Example:false
optionsArray of strings

Names of product options. A product option is a property that distinguishes the pricing plans of a product. The value of each product option is specified in the productOptions field of each pricing plan. For more information, see Plans.

Example:
[ "region", "size" ]
taxCategoryIdstring or null

Tax category of the product. For a complete list of supported tax categories, see TaxJar sales tax API reference. If none of the tax categories from the list are applicable for your product, use the general tax category 00000.

Example:"00000"
accountingCodestring or null
Accounting code of the product.
Example:"4010"
recognitionobject or null
customFieldsobject(ResourceCustomFields)

Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. For more information, see Custom fields.

Default:{}
Example:
{ "foo": "bar" }
createdTimestring, (date-time)(CreatedTime)read-only
Date and time when the resource is created. This value is set automatically when the resource is created.
updatedTimestring, (date-time)(UpdatedTime)read-only
Date and time when the resource is updated. This value is set automatically when the resource is updated.
Response
{ "id": "prod_0YV7DES3WPC5J8JD8QTVNZBZNZ", "name": "Premium membership", "unitLabel": "seat", "description": "string", "requiresShipping": false, "options": [ "region", "size" ], "taxCategoryId": "00000", "accountingCode": "4010", "recognition": { "debitAccountId": "string", "creditAccountId": "string" }, "customFields": { "foo": "bar" }, "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z", "_links": [ { … } ] }