# Changelog

Notable documented changes to Sales Layer REST API references are listed on this page.

This changelog follows Semantic Versioning and is intended for API consumers.

## Current documented references

- DAM REST API v2.0
- Catalog REST API v2.0


## [0.9.1] - 2026-07-09

### Catalog REST API

#### Changed

- Updated the Catalog OpenAPI reference to `catalog_swagger_v2.0.0_20260708.json`.
- Clarified Attribute Sets v2 layout validation for `POST /v2/AttributeSets` and `PATCH /v2/AttributeSets({id})`: when `productLayout` or `variantLayout` is sent, the layout must include non-null `sections`, `rows`, and `fields` arrays.
- No endpoint paths, parameters, request body schemas, response schemas, or documented HTTP status codes changed from the previous Catalog reference.


### Documentation

- Updated the published Catalog wrapper to reference the latest source specification.


## [0.9.0] - 2026-07-01

### Catalog REST API

#### Changed

- Updated the Catalog OpenAPI reference to `catalog_swagger_v2.0.0_20260630.json`.
- Custom Entity layout endpoints now use quoted OData-style denominators:
  - `GET /CustomEntities('{customEntityDenominator}')/layout`
  - `PUT /CustomEntities('{customEntityDenominator}')/layout`
- Removed `403 Forbidden` from 45 Catalog operations where it is no longer defined. The legacy Attribute Sets read endpoints still document `403`.
- Attribute Sets v2 operations now use the shared `CollectionRepresentation` and `EntityRepresentation` response schemas in the OpenAPI reference.
- Clarified Attribute Sets v2 creation behavior: when `variantLayout` is omitted, no Variant layout is created; it can be added later with `PATCH /v2/AttributeSets({id})`.


### Documentation

- Updated the published Catalog wrapper to reference the latest source specification.
- Corrected the home page DAM example to use `/dam/images`.
- Aligned DAM overview wording with the currently documented image operations: list, retrieve, and delete.


## [0.8.0] - 2026-06-22

### Catalog REST API

#### Added

- **Attribute Sets v2** endpoints at `/v2/AttributeSets` support full CRUD operations for attribute sets:
  - `GET /v2/AttributeSets` — list all attribute sets
  - `POST /v2/AttributeSets` — create an attribute set (`name` required; `productLayout`, `variantLayout` optional)
  - `GET /v2/AttributeSets({id})` — get an attribute set by identifier (`default` or a positive integer)
  - `PATCH /v2/AttributeSets({id})` — update an attribute set
  - `DELETE /v2/AttributeSets({id})` — delete an attribute set; optional `deleteAssociatedProductsAndVariants` query parameter reassigns or deletes associated products and variants
- **Layout endpoints** for Categories and Custom Entities allow managing form layout configuration:
  - `GET /Categories/layout` / `PUT /Categories/layout`
  - `GET /CustomEntities({denominator})/layout` / `PUT /CustomEntities({denominator})/layout`


#### Changed

- **Catalog API endpoint paths simplified.** The current OpenAPI specification defines Catalog endpoints without the `/rest/Catalog/` path segment. The canonical base path is now directly under the `catalog` prefix:
| Previous path | New canonical path |
|  --- | --- |
| `/catalog/rest/Catalog/Products` | `/catalog/Products` |
| `/catalog/rest/Catalog/Categories` | `/catalog/Categories` |
| `/catalog/rest/Catalog/Variants` | `/catalog/Variants` |
| `/catalog/rest/Catalog/$metadata` | `/catalog/$metadata` |
| *(and so on for all Catalog resources)* |  |
**Existing integrations continue to work without changes.** URLs that include `/rest/Catalog/` remain compatible and will continue to be supported. A formal deprecation notice will be issued before backward compatibility is removed. New integrations and updated clients should use the shorter paths defined in the current OpenAPI specification.


#### Removed

- `GET /PointsOfSale/$metadata` — this endpoint no longer appears in the current OpenAPI specification.


### Documentation

- Corrected DAM image path notation: individual image endpoints use OData-style path parameters (`/images({reference})`), where `reference` is the image filename unique per tenant.
- Corrected success response documentation: `POST /Products`, `POST /Variants`, and `POST /CustomEntities` return `200 OK` (not `201 Created`) on successful creation.
- Updated guides and overview pages to remove references to `POST /image` and `PATCH /image/{id}`, which were temporarily removed in v0.7.0.


## [0.7.0] - 2026-06-04

### Current API surface

- The DAM and Catalog REST APIs are documented against the current OpenAPI specifications.
- The supported DAM image endpoints are:
  - `GET /image`
  - `DELETE /image/{id}`


### Changed

- **DAM:** `POST /image` and `PATCH /image/{id}` have been temporarily removed from the documentation and the OpenAPI specification. These endpoints will return in a future version. Until then, image import and image update are not available through the documented API surface.


### Documentation

- Grouped the Catalog endpoint reference in the sidebar by resource (Metadata, Products, Variants, Categories, Custom Entities) using OpenAPI tags. The DAM endpoint reference is grouped under Image.
- Aligned guides, overviews, and examples with the current OpenAPI specifications.


### Postman

- Expanded the Postman collection to include at least one ready-to-run example of every endpoint in the current specifications (DAM and Catalog).
- Organized requests to match the API reference, labeled write operations, and added scripts that capture created identifiers for full create-read-update-delete lifecycles.
- Updated the environment template: added `attributeSetIdentifier` and removed `sampleImageUrl`.


## [0.6.0] - 2026-05-23

### Current API surface

- The DAM REST API is documented against the current OpenAPI specification.
- The supported DAM image endpoints are:
  - `GET /image`
  - `POST /image`
  - `PATCH /image/{id}`
  - `DELETE /image/{id}`


### Documentation

- Updated endpoint references so the changelog matches the published OpenAPI specification.
- Consolidated image operations under the current DAM paths.


## [0.4.0] - 2026-04-09

### Added

- Added the **DELETE** endpoint for removing images:
  - `DELETE /image/{id}`


### Behavior

- Successful deletion returns **204 No Content**
- The request is rejected if the image is currently being processed


### Validation

- **401 Unauthorized** — missing API key
- **400 Bad Request** — invalid request or invalid identifier
- **404 Not Found** — image not found
- **409 Conflict** — image is currently being processed


### Improved

- Improved API documentation for DELETE and PATCH operations
- Removed incorrect fields from the PATCH request body schema in the API documentation


## [0.3.0] - 2026-04-09

### Added

- Added the **PATCH** endpoint for partially updating images:
  - `PATCH /image/{id}`


### Supported operations

- Rename an image using `reference`
- Replace tags using `tags`
- Replace the image source using `url`


### Behavior

- Successful update returns **204 No Content**
- `reference` and `tags` can be combined in the same request
- The request is rejected if the image is currently being processed


### Validation

- **401 Unauthorized** — missing API key
- **400 Bad Request** — invalid request body or invalid field combinations
- **404 Not Found** — image not found
- **409 Conflict** — image is currently being processed


## [0.2.0] - 2026-04-02

### Added

- Added the **POST** endpoint for creating images from public URLs:
  - `POST /image`


### Behavior

- Supports image creation from a public HTTP or HTTPS URL
- Supports optional tags
- Validates image format, size, dimensions, and request payload


### Supported formats

- JPEG
- PNG
- GIF
- TIFF
- WebP
- PSD


### Validation

- **400 Bad Request** — invalid URL, unsupported format, invalid tags, or invalid image constraints
- **401 Unauthorized** — missing API key
- **500 Internal Server Error** — unexpected processing error


## [0.1.0] - 2026-03-04

### Added

- Added the **GET** endpoint for listing and filtering images:
  - `GET /image`


### Behavior

- Supports filtering
- Supports sorting
- Supports pagination
- Supports OData-style query parameters documented in the API reference


### Validation

- **400 Bad Request** — invalid query parameters
- **401 Unauthorized** — missing API key


## Related pages

* [API reference overview](/apis)
* [Versioning and compatibility](/guides/versioning-and-compatibility)
* [Catalog endpoint reference](/apis/catalog-v2.0)
* [DAM endpoint reference](/apis/dam-v2.0)