| description | Manage your products programmatically using the Catalog API. |
|---|
The Catalog API enables you to create, retrieve, and manage products. You can also configure individual items and item groups through the API.
Additionally, you can define parameters and parameter groups, and manage pricing with price lists. You can also create custom templates and product variants. The API also includes endpoints for managing product media, documents, listings, and terms and conditions.
Review the shared API docs before you work with catalog resources.
The Catalog API is built around the following core resources:
- Authorization – Represents the permissions and credentials that are required for interactions between sellers and vendors in the scope of a product.
- Document – Used to upload product documentation (via an online link or file) to the
productobject. - Item – Represents the individual stock-keeping units (SKUs) or transactable element of a product. Items are shown as a line item in an order.
- Item group – Represents a group of items.
- Listing – Represents a business entity that aligns a product with a specific SoftwareOne
seller. - Media – Enables vendors to add, view, or delete media from the
productobject. - Product – Represents a collection of
itemsand their associated parameters organized into a unified group. - Parameter – Allows vendors to define additional information that must be collected from and shared with the client, enabling the client to self-serve within the SoftwareOne Marketplace.
- Parameter group – Represents a group of
parameters. - Pricelist – Includes key pricing details such as sales and purchase prices, enabling vendors and operations to effectively manage and apply different price points for product items.
- Pricing policy – Defines client-specific markup and pricing rules based on negotiated terms and special agreements.
The API is organized into collections, each containing a set of operations. Access to these operations varies by role, depending on whether you are a client, vendor, or operations user.
Use the following links to jump to the collection you need:
- Authorization
- Documents
- Items
- Item Groups
- Listings
- Media
- Parameters
- Parameter Groups
- Price Lists
- Pricing Policies
- Products
- Product Templates
- Terms
- Unit of Measure
- Variants
View Authorization operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create authorization | POST | Creates a new authorization in the catalog. | ops |
| List authorizations | GET | Gets a list of authorizations. | vendor, client, ops |
| Get authorization by id | GET | Retrieves an authorization by its id. | vendor, client, ops |
| Update authorization | PUT | Updates an existing authorization. | ops |
| Delete authorization | DELETE | Deletes an authorization (used by vendors). | ops |
View Documents operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create document | POST | Creates a new document in catalog management. | vendor |
| List documents | GET | Lists all documents based on filter criteria. | vendor, client, ops |
| Get document by id | GET | Gets a document by id. | vendor, client, ops |
| Update document | PUT | Updates a document. | vendor, ops |
| Delete document | DELETE | Removes a document. | vendor, ops |
| Publish document | POST | Publishes a document. | ops |
| Mark document for review | POST | Marks a document for review. | vendor |
| Unpublish document | POST | Unpublishes a document. | vendor, ops |
View Items operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create item | POST | Creates a product item in the catalog. | vendor |
| List items | GET | Gets a list of items in the catalog based on filter criteria. | vendor, client, ops |
| Get item by id | GET | Gets a product item by id. | vendor, client, ops |
| Update item | PUT | Updates a product item. | vendor |
| Delete item | DELETE | Deletes a product item. | vendor, ops |
| Mark item for review | POST | Marks a product item as ready for review. | vendor |
| Publish item | POST | Publishes a product item. | ops |
| Unpublish item | POST | Unpublishes a product item. | vendor, ops |
| List items by product | GET | Gets a list of items in the catalog based on filter criteria. | vendor, client, ops |
| Get item by product id | GET | Gets a product item by id. | vendor, client, ops |
View Item Groups operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create item group | POST | Creates a new item group for a given product in the catalog. | vendor |
| List item groups | GET | Lists all item groups for a given product based on filter criteria. | vendor, client, ops |
| Get item group by id | GET | Gets an item group by id for a given product. | vendor, client, ops |
| Update item group | PUT | Updates an item group for a given product. | vendor |
| Delete item group | DELETE | Deletes an item group from a given product. | vendor |
View Listings operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create listing | POST | Creates a new listing in the catalog. | ops |
| List listings | GET | Gets a list of listings in the catalog. | vendor, client, ops |
| Get listing by id | GET | Gets a listing by id. | vendor, client, ops |
| Update listing | PUT | Updates a listing in the catalog. | ops |
| Delete listing | DELETE | Deletes a listing. | ops |
View Media operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create product media | POST | Creates new media for a product. | vendor |
| List product media | GET | Gets a list of media for a product. | vendor, client, ops |
| Get product media by id | GET | Gets an item of media for a product. | vendor, client, ops |
| Update product media | PUT | Updates an item of media for a product. | vendor |
| Mark media for review | POST | Marks an item of media for a product for review. | vendor |
| Publish media | POST | Publishes an item of media for a product. | ops |
| Unpublish media | POST | Unpublishes an item of media for a product. | vendor, ops |
| Delete product media | DELETE | Deletes an item of media for a product. | vendor, ops |
View Parameters operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create parameter | POST | Creates a product parameter. | vendor |
| List parameters | GET | Gets a list of parameters for a product. | vendor, client, ops |
| Get parameter by id | GET | Gets a product parameter definition. | vendor, client, ops |
| Update parameter | PUT | Updates a product parameter definition. | vendor |
| Delete parameter | DELETE | Deletes a product parameter definition. | vendor |
View Parameter Groups operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create parameter group | POST | Creates a new parameter group for a given product in the catalog. | vendor |
| List parameter groups | GET | Lists all parameter groups for a given product based on filter criteria. | vendor, client, ops |
| Get parameter group by id | GET | Gets a parameter group by id for a given product. | vendor, client, ops |
| Update parameter group | PUT | Updates a parameter group for a given product. | vendor |
| Delete parameter group | DELETE | Deletes a parameter group from a given product. | vendor |
View Price Lists operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create price list | POST | Creates a price list. | ops, vendor |
| List price lists | GET | Gets a list of price lists. | vendor, client, ops |
| Get price list by id | GET | Gets a price list. | vendor, client, ops |
| Update price list | PUT | Updates a price list. | ops, vendor |
| Delete price list | DELETE | Deletes a price list. | ops, vendor |
| List price list items | GET | Gets a list of items in a price list. | vendor, client, ops |
| Get price list item by id | GET | Gets a price item within a price list. | vendor, client, ops |
| Update price list item | PUT | Updates a price item within a price list. | ops, vendor |
View Pricing Policies operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create pricing policy | POST | Creates a new pricing policy. | ops |
| List pricing policies | GET | Gets a list of pricing policies. | ops, client |
| Get pricing policy by id | GET | Gets a pricing policy by id. | ops, client |
| Update pricing policy | PUT | Updates an existing pricing policy. | ops |
| Delete pricing policy | DELETE | Deletes an existing pricing policy. | ops |
| Activate pricing policy | POST | Activates an existing pricing policy. | ops |
| Deactivate pricing policy | POST | Disables an existing pricing policy. | ops |
| List pricing policy attachments | GET | Gets a list of pricing policy attachments. | ops |
| Get pricing policy attachment by id | GET | Gets a pricing policy attachment by id. | ops |
| Create pricing policy attachment | POST | Creates a new pricing policy attachment. | ops |
| Update pricing policy attachment | PUT | Updates an existing pricing policy attachment. | ops |
| Delete pricing policy attachment | DELETE | Deletes an existing pricing policy attachment. | ops |
View Products operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create product | POST | Creates a new product. | vendor |
| List products | GET | Fetches a list of products. | vendor, client, ops |
| Get product by id | GET | Gets a product by id. | vendor, client, ops |
| Update product | PUT | Updates some properties of a product. | vendor |
| Delete product | DELETE | Deletes a product. | vendor, ops |
| Mark product for review | POST | Marks a product for review by operations. | vendor |
| Publish product | POST | Publishes a product. | ops |
| Unpublish product | POST | Unpublishes a product. | vendor, ops |
| Update product settings | PUT | Updates a product’s settings. | vendor |
View Templates operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create product template | POST | Creates a template for a product. | vendor |
| List product templates | GET | Gets a list of templates for a product. | vendor, client, ops |
| Get product template by id | GET | Gets a template for a product. | vendor, client, ops |
| Update product template | PUT | Updates a template for a product. | vendor |
| Delete product template | DELETE | Deletes a template for a product. | vendor |
View Terms operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create terms | POST | Creates terms for a product. | vendor, ops |
| List terms | GET | Gets a list of all terms for a product. | vendor, client, ops |
| Get terms by id | GET | Gets terms for a product. | vendor, client, ops |
| Update terms | PUT | Updates terms for a product. | vendor, ops |
| Delete terms | DELETE | Deletes terms for a product. | vendor, ops |
| Mark terms for review | POST | Marks terms for a product for review. | vendor |
| Publish terms | POST | Publishes terms for a product. | ops |
| Unpublish terms | POST | Unpublishes terms for a product. | vendor, ops |
View Unit of Measure operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create unit of measure | POST | Creates a new unit of measure. | ops |
| List units of measure | GET | Gets a list of units of measure. | vendor, ops |
| Get unit of measure by id | GET | Gets a unit of measure by id. | vendor, ops |
| Update unit of measure | PUT | Updates a unit of measure by id. | ops |
View Variants operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create variant | POST | Creates a variant for terms. | vendor, ops |
| List variants | GET | Gets a list of all variants for terms. | vendor, client, ops |
| Get variant by id | GET | Gets a variant for terms. | vendor, client, ops |
| Update variant | PUT | Updates a variant for terms for a product. | vendor, ops |
| Delete variant | DELETE | Deletes a variant for terms. | vendor, ops |
| Mark variant for review | POST | Marks a variant for terms for review. | vendor |
| Publish variant | POST | Publishes a variant for terms. | ops |
| Unpublish variant | POST | Unpublishes a variant for terms. | vendor, ops |