Skip to navigation

Create a product with plans and charges

View as Markdown

Create a product in the Product Catalog with one or more plans and charges. Charges can be usage (per-unit), recurring (flat fee), or other supported models.

Authentication

AuthorizationBearer

Use Bearer {{token}} in the Authorization header for authentication.

Headers

Idempotency-KeystringOptional<=255 characters
Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.
Accept-EncodingstringOptional

Include the Accept-Encoding: gzip header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response.

If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a Content-Encoding header with the compression algorithm so that your client can decompress it.

Content-EncodingstringOptional

Include the Content-Encoding: gzip header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.

Zuora-Entity-IdsstringOptional

An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header.

Zuora-Org-IdsstringOptional

Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header.

The IDs must be a sub-set of the user’s accessible orgs. If you specify an org that the user does not have access to, the operation fails. This header is important in Multi-Org (MO) setups because it defines the organization context under which the API should operate—mainly used for read access or data visibility filtering. If the header is not set, the operation is performed in scope of the user’s accessible orgs.

Zuora-Track-IdstringOptional<=64 characters

A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.

The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), and quote (').

Request

This endpoint expects an object.
namestringRequired
Product name.
start_datedateRequired

Product effective start date (UTC, YYYY-MM-DD).

end_datedateRequired

Product effective end date (UTC, YYYY-MM-DD).

categoryenumRequired
Product category.
Allowed values:
planslist of objectsRequired
Product rate plans to create under the product.
skustringOptional

The stock keeping unit (SKU) associated with the product or invoice item.

product_numberstringOptional
The product number that uniquely identifies the product in the product catalog.

Response headers

Content-EncodingstringOptional

Returned if Accept-Encoding: gzip is specified and the response exceeds 1000 bytes. Supported MIME types: application/json, application/xml, text/html, text/csv, text/plain.

RateLimit-LimitstringOptional
RateLimit-Remainingdouble
RateLimit-Resetdouble
Zuora-Request-IdstringOptional
Zuora-Track-IdstringOptional
A custom identifier for tracing the API call. If you specified a tracing identifier in the request headers, Zuora returns the same tracing identifier. Otherwise, Zuora does not set this header.
Concurrency-Limit-TypestringOptional

The type of the concurrency limit, which can be Default, High-volume transactions, or Object Query.

For more information, see Concurrent request limits.

Concurrency-Limit-Limitinteger

The total number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Concurrency-Limit-Remaininginteger

The remaining number of the permitted concurrent requests.

For more information, see Concurrent request limits.

Response

OK
idstring
Unique identifier of the product.
namestring
Product name.
categorystring

Product category, for example, base or add-on.

startDatedate

Product effective start date, for example, UTC, YYYY-MM-DD.

endDatedate

Product effective end date, for example, UTC, YYYY-MM-DD.

statestring
Current lifecycle state of the product.
descriptionstringOptional

Free-form product description.

productNumberstringOptional
The product number.
skustringOptional
Stock keeping unit for the product.
allowFeatureChangesbooleanOptional
Whether feature changes are allowed for this product.
featureslist of objectsOptional
List of features associated with the product.
legacyFeatureslist of maps from strings to anyOptional
Legacy feature list retained for backward compatibility.
contextFilterslist of objectsOptional
Context filter rules that may restrict product availability.
organizationLabelslist of objectsOptional

Key/value style organizational labels applied to the product.

customFieldsmap from strings to anyOptional
Custom field values on the product.
customObjectsmap from strings to any or nullOptional
Custom object payloads linked to the product, if any.
dacTagsmap from strings to anyOptional
Data access control or categorization tags for the product.
netsuitemap from strings to any or nullOptional

NetSuite integration metadata (if present).

createdBystringOptional
ID of the user who created the product.
createdTimedatetimeOptional
Timestamp when the product was created.
updatedBystringOptional
ID of the user who last updated the product.
updatedTimedatetimeOptional
Timestamp when the product was last updated.
planslist of objectsOptional

Rate plans (PRPs) defined under this product.

Errors

400
Bad Request Error