# Sales Layer Catalog REST API (2.0.0)

The Sales Layer Catalog REST API provides programmatic access to the catalog data managed in Sales Layer.

Use this reference to retrieve, filter, create, update, or delete products, variants, categories, attribute sets, custom entities, metadata, and changelog records. These endpoints support synchronization, enrichment, publishing, reporting, and other integration workflows across ecommerce platforms, ERPs, marketplaces, DAM systems, supplier systems, and internal tools.

Start with metadata endpoints when your integration needs to discover available fields and relationships, use pagination and filtering for large reads, and rely on changelogs for incremental synchronization whenever possible.

## Attribute Sets
### Operations
- `get /AttributeSets`
- `get /AttributeSets({attributeSetIdentifier})`
- `get /AttributeSets({attributeSetIdentifier})/Products`
- `get /AttributeSets/$metadata`

## Attribute Sets v2
### Operations
- `get /v2/AttributeSets`
- `post /v2/AttributeSets`
- `get /v2/AttributeSets({id})`
- `patch /v2/AttributeSets({id})`
- `delete /v2/AttributeSets({id})`

## Categories
### Operations
- `get /Categories`
- `post /Categories`
- `get /Categories({categoryIdentifier})`
- `patch /Categories({categoryId})`
- `delete /Categories({categoryId})`
- `get /Categories({categoryIdentifier})/Products`
- `get /Categories({categoryIdentifier})/Products({productIdentifier})`
- `get /Categories/Changelog`

## Products
### Operations
- `get /Products`
- `post /Products`
- `get /Products({productIdentifier})`
- `patch /Products({productId})`
- `delete /Products({productId})`
- `get /Products({productIdentifier})/Variants`
- `get /Products({productIdentifier})/Variants({variantIdentifier})`
- `get /Products/Changelog`

## Variants
### Operations
- `get /Variants`
- `post /Variants`
- `get /Variants({variantIdentifier})`
- `patch /Variants({variantId})`
- `delete /Variants({variantId})`
- `get /Variants/Changelog`
- `get /Variants({variantIdentifier})/Changelog`
- `get /Variants/$metadata`

## Custom Entities
### Operations
- `get /CustomEntities('{customEntityDenominator}')`
- `post /CustomEntities('{customEntityDenominator}')`
- `patch /CustomEntities('{customEntityDenominator}')/item({itemId})`
- `delete /CustomEntities('{customEntityDenominator}')/item({itemId})`
- `get /CustomEntities('{customEntityDenominator}')/Changelog`
- `get /CustomEntities('{customEntityDenominator}')/Changelog({itemIdentifier})`
- `get /CustomEntities('{customEntityDenominator}')/layout`
- `put /CustomEntities('{customEntityDenominator}')/layout`

## Metadata
### Operations
- `get /$metadata`

### Download Links
- [catalog-v2.0.json](https://docs.api.saleslayer.com/_bundle/apis/catalog-v2.0.json?download)
- [catalog-v2.0.yaml](https://docs.api.saleslayer.com/_bundle/apis/catalog-v2.0.yaml?download)
