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

Product options such as color, size, and so forth. Product option values are defined in plans. For more information, see Plans.

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": [
      "string"
    ],
    "taxCategoryId": "00000",
    "accountingCode": "4010",
    "recognition": {
      "debitAccountId": "string",
      "creditAccountId": "string"
    },
    "customFields": {
      "foo": "bar"
    }
  }'

Responses

Product updated.

Headers
X-RateLimit-Limitinteger

Total number of rate limit tokens for this request within a rate limit period. For more information, see Rate limits.

Example:3600
X-RateLimit-Remaininginteger

Remaining number of rate limit tokens for this request within the rate limit period. For example, in the sandbox environment, rate limits for non-GET endpoints are set at 3000 requests per 10 minutes.

Example:3600
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

Product options such as color, size, and so forth. Product option values are defined in plans. For more information, see Plans.

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": [ "string" ], "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": [ {} ] }