# 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`

### Request for Filter Attribute Sets

Filters the tenant's **Attribute Set** resources using OData query options ( **$select**, **$expand**, **$filter**, **$orderby**, **$skip**, **$top**, **$skipToken**). Result's paging is done using the default paging size options.

### Parameters details

- **_X-API-KEY_**  
 Custom HTTP request header containing the API key used for authentication.
- **_Accept-Language_**  
 Standard HTTP request header indicates the natural language and locale that the client prefers.
  
- **_$select_**  
 Expression describing the list of **Attribute Set** resource properties to be included in the result.
- **_$expand_**  
 Expression describing the list of collections embedded in the **Attribute Set** resource ( **Products**) to be included in the result.
- **_$filter_**  
 Expression describing the filters applied to the resources included in the result.
- **_$orderby_**  
 Expression describing the ordering applied to the properties of resources included in the result.
- **_$skip_**  
Expression setting up result's paging according to limit and offset paging strategy.
- **_$skipToken_**  
Expression setting up the continuation token used in paging the result.
- **_$top_**  
Expression setting up the number of items in the result.

### Responses

- **200 OK** — Returns success in response to valid requests.
- **400 Bad Request** — Invalid request format.
- **401 Unauthorized** — Missing or invalid API key.
- **404 Not Found** — Resource not found.
- **500 Internal Server Error** — Unexpected technical error.

### Example

**Request:**
```
GET /AttributeSets(7)/Products?$filter=contains(prod_description,'pro')&$top=20 HTTP/1.1
X-API-KEY: your-api-key-here
Accept-Language: en-US
```

### Response:
```json
{
    "@readLink": "string",
    "@nextLink": "string",
    "@deltaLink": "string",
    "@context": "string",
    "value": null,
    "@count": 0
}
```

## Get Attribute Set Metadata

Returns the public metadata of the **Attribute Set** model as a JSON schema document describing the resources ( **Product**, **Variant**) associated to the **Attribute Set** and the relationships between them.
