# Models

## The Catalog object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"Catalog":{"required":["id","metadata"],"type":"object","properties":{"id":{"type":"string","description":"Catalog's unique identifier, generated when the catalog is created."},"name":{"allOf":[{"$ref":"#/components/schemas/Object"},{"description":"Name of the catalog. Depending on the use of the Accept-Language header, it can be either a String or a Map<Locale, String>"}]},"description":{"allOf":[{"$ref":"#/components/schemas/Object"},{"description":"Description of the catalog must be a string if the Accept-Language header is specified on the request or a map of translations if the header is missing."}]},"status":{"allOf":[{"$ref":"#/components/schemas/Status"},{"description":"Visibility status of the catalog, computed at this moment."}]},"visibility":{"$ref":"#/components/schemas/VisibilityInformation"},"publishedSites":{"type":"array","description":"List of site identifiers on which the catalog is published.","items":{"type":"string"}},"metadata":{"$ref":"#/components/schemas/Metadata"},"categoryIds":{"type":"array","description":"List of root category identifiers that are assigned to the catalog.","items":{"type":"string"}}},"description":"Definition of a catalog"},"Object":{"type":"object","description":"Localized field that must be provided as a map of language codes to translations.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}]},"Status":{"type":"string","description":"Visibility status of the catalog in this moment. This value is based on configured visibility properties, and is computed for the moment the request is handled. It answers the question 'Is the catalog visible now?'","enum":["not_visible","visible"]},"VisibilityInformation":{"type":"object","properties":{"visible":{"type":"boolean","description":"Flag indicating if the catalog is visible or not, set by the user. ","default":false},"from":{"type":"string","description":"Date and time from which the catalog is visible compliant with the ISO 8601 standard."},"to":{"type":"string","description":"Data and time from which the catalog is visible compliant with the ISO 8601 standard."}},"description":"Visibility configuration for a catalog"},"Metadata":{"type":"object","properties":{"version":{"type":"integer","description":"Catalog version","format":"int32"},"updatedAt":{"type":"string","description":"Timestamp indicating when the catalog was last modified compliant with the ISO 8601 standard.","format":"date-time"},"createdAt":{"type":"string","description":"Timestamp indicating when the catalog was created compliant with the ISO 8601 standard.","format":"date-time"}}}}}}
```

## The CreateCatalog object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"CreateCatalog":{"required":["name"],"type":"object","properties":{"id":{"type":"string","description":"Custom catalog identifier. If not provided, it is automatically generated.","minLength":1,"maxLength":66,"pattern":"^[a-zA-Z0-9_-]$"},"name":{"$ref":"#/components/schemas/Object","description":"Name of the catalog. Must be provided as a map of language codes to translations."},"description":{"$ref":"#/components/schemas/Object","description":"Description of the catalog. Must be provided as a map of language codes to translations."},"visibility":{"$ref":"#/components/schemas/VisibilityInformation"},"publishedSites":{"type":"array","description":"List of site identifiers on which the catalog is published.","items":{"type":"string"}},"categoryIds":{"type":"array","description":"List of root category identifiers that are assigned to the catalog.","items":{"type":"string"}}},"description":"Payload for creating a new catalog"},"Object":{"type":"object","description":"Localized field that must be provided as a map of language codes to translations.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}]},"VisibilityInformation":{"type":"object","properties":{"visible":{"type":"boolean","description":"Flag indicating if the catalog is visible or not, set by the user. ","default":false},"from":{"type":"string","description":"Date and time from which the catalog is visible compliant with the ISO 8601 standard."},"to":{"type":"string","description":"Data and time from which the catalog is visible compliant with the ISO 8601 standard."}},"description":"Visibility configuration for a catalog"}}}}
```

## The CreateCatalogResponse object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"CreateCatalogResponse":{"required":["id"],"type":"object","properties":{"id":{"type":"string"}},"description":"Response for create catalog requests"}}}}
```

## The ErrorResponse object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"ErrorResponse":{"required":["code","message","status"],"type":"object","properties":{"id":{"type":"string","nullable":true},"code":{"type":"integer","format":"int32"},"status":{"type":"string"},"message":{"type":"string"},"details":{"nullable":true,"type":"array","items":{"type":"string"}}}}}}}
```

## The UpdateMetadata object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"UpdateMetadata":{"type":"object","properties":{"version":{"type":"integer","description":"Catalog version, if provided optimistic locking will be used.","format":"int32"}}}}}}
```

## The Metadata object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"Metadata":{"type":"object","properties":{"version":{"type":"integer","description":"Catalog version","format":"int32"},"updatedAt":{"type":"string","description":"Timestamp indicating when the catalog was last modified compliant with the ISO 8601 standard.","format":"date-time"},"createdAt":{"type":"string","description":"Timestamp indicating when the catalog was created compliant with the ISO 8601 standard.","format":"date-time"}}}}}}
```

## The Object object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"Object":{"type":"object","description":"Localized field that must be provided as a map of language codes to translations.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}]}}}}
```

## The Status object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"Status":{"type":"string","description":"Visibility status of the catalog in this moment. This value is based on configured visibility properties, and is computed for the moment the request is handled. It answers the question 'Is the catalog visible now?'","enum":["not_visible","visible"]}}}}
```

## The UpdateCatalog object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"UpdateCatalog":{"required":["name"],"type":"object","properties":{"name":{"$ref":"#/components/schemas/Object","description":"Name of the catalog. Must be provided as a map of language codes to translations."},"description":{"$ref":"#/components/schemas/Object","description":"Description of the catalog. Must be provided as a map of language codes to translations."},"visibility":{"$ref":"#/components/schemas/VisibilityInformation"},"publishedSites":{"type":"array","description":"List of site identifiers on which the catalog is published.","items":{"type":"string"}},"categoryIds":{"type":"array","description":"List of root category identifiers that are assigned to the catalog.","items":{"type":"string"}},"metadata":{"$ref":"#/components/schemas/UpdateMetadata"}},"description":"Payload for updating a catalog."},"Object":{"type":"object","description":"Localized field that must be provided as a map of language codes to translations.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}]},"VisibilityInformation":{"type":"object","properties":{"visible":{"type":"boolean","description":"Flag indicating if the catalog is visible or not, set by the user. ","default":false},"from":{"type":"string","description":"Date and time from which the catalog is visible compliant with the ISO 8601 standard."},"to":{"type":"string","description":"Data and time from which the catalog is visible compliant with the ISO 8601 standard."}},"description":"Visibility configuration for a catalog"},"UpdateMetadata":{"type":"object","properties":{"version":{"type":"integer","description":"Catalog version, if provided optimistic locking will be used.","format":"int32"}}}}}}
```

## The UpdateCatalogProperties object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"UpdateCatalogProperties":{"required":["metadata"],"type":"object","properties":{"name":{"$ref":"#/components/schemas/Object","description":"Name of the catalog. Must be provided as a map of language codes to translations."},"description":{"$ref":"#/components/schemas/Object","description":"Description of the catalog. Must be provided as a map of language codes to translations."},"visibility":{"$ref":"#/components/schemas/VisibilityInformation"},"publishedSites":{"type":"array","description":"List of site identifiers on which the catalog is published.","items":{"type":"string"}},"categoryIds":{"type":"array","description":"List of root category identifiers that are assigned to the catalog.","items":{"type":"string"}},"metadata":{"$ref":"#/components/schemas/Metadata"}},"description":"Payload for partially updating a catalog."},"Object":{"type":"object","description":"Localized field that must be provided as a map of language codes to translations.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}]},"VisibilityInformation":{"type":"object","properties":{"visible":{"type":"boolean","description":"Flag indicating if the catalog is visible or not, set by the user. ","default":false},"from":{"type":"string","description":"Date and time from which the catalog is visible compliant with the ISO 8601 standard."},"to":{"type":"string","description":"Data and time from which the catalog is visible compliant with the ISO 8601 standard."}},"description":"Visibility configuration for a catalog"},"Metadata":{"type":"object","properties":{"version":{"type":"integer","description":"Catalog version","format":"int32"},"updatedAt":{"type":"string","description":"Timestamp indicating when the catalog was last modified compliant with the ISO 8601 standard.","format":"date-time"},"createdAt":{"type":"string","description":"Timestamp indicating when the catalog was created compliant with the ISO 8601 standard.","format":"date-time"}}}}}}
```

## The VisibilityInformation object

```json
{"openapi":"3.0.0","info":{"title":"Catalog Management","version":"1.0.0"},"components":{"schemas":{"VisibilityInformation":{"type":"object","properties":{"visible":{"type":"boolean","description":"Flag indicating if the catalog is visible or not, set by the user. ","default":false},"from":{"type":"string","description":"Date and time from which the catalog is visible compliant with the ISO 8601 standard."},"to":{"type":"string","description":"Data and time from which the catalog is visible compliant with the ISO 8601 standard."}},"description":"Visibility configuration for a catalog"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.emporix.io/api-references-1/readme/api-reference-5/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
