> For the complete documentation index, see [llms.txt](https://developer.emporix.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.emporix.io/api-references/api-guides/configuration/indexing-service/api-reference/models.md).

# Models

## The errorMessage object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"errorMessage":{"title":"error","description":"Schema for API specified errors.","type":"object","properties":{"code":{"description":"Original HTTP error code, should be consistent with the response HTTP code","type":"integer"},"status":{"description":"Classification of the error type","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"type":"array","description":"Error details","items":{"type":"string"}}}}}}}
```

## The ReindexJobStatus object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"ReindexJobStatus":{"type":"string","description":"Informs about status of reindex job. `PENDING` means that the maximum number of parallel `IN_PROGRESS` jobs is reached and such job will be processed when one of current `IN_PROGRESS` jobs is released.","enum":["FAILURE","IN_PROGRESS","PENDING","SUCCESS"]}}}}
```

## The Metadata object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"Metadata":{"type":"object","properties":{"createdAt":{"description":"Date and time when the object was created. The value is approved as an ISO-8601 representation of an Instant. For example: `2022-04-30T13:18:02.379Z`","type":"string","format":"date-time"},"modifiedAt":{"description":"Date and time when the object was last modified. The value is approved as an ISO-8601 representation of an Instant. For example: `2022-04-30T13:18:02.379Z`","type":"string","format":"date-time"}}}}}}
```

## The ReindexEntityType object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"ReindexEntityType":{"type":"string","description":"Entity type which should be reindexed. For now, it supports only `PRODUCT` and custom schema types."}}}}
```

## The ReindexJob object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"ReindexJob":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the reindex job."},"entityType":{"$ref":"#/components/schemas/ReindexEntityType"},"message":{"type":"string","description":"In case if reindex job finishes with `FAILURE` status, the message is populated with information what was the reason of the failure."},"status":{"$ref":"#/components/schemas/ReindexJobStatus"},"metadata":{"$ref":"#/components/schemas/Metadata"}}},"ReindexEntityType":{"type":"string","description":"Entity type which should be reindexed. For now, it supports only `PRODUCT` and custom schema types."},"ReindexJobStatus":{"type":"string","description":"Informs about status of reindex job. `PENDING` means that the maximum number of parallel `IN_PROGRESS` jobs is reached and such job will be processed when one of current `IN_PROGRESS` jobs is released.","enum":["FAILURE","IN_PROGRESS","PENDING","SUCCESS"]},"Metadata":{"type":"object","properties":{"createdAt":{"description":"Date and time when the object was created. The value is approved as an ISO-8601 representation of an Instant. For example: `2022-04-30T13:18:02.379Z`","type":"string","format":"date-time"},"modifiedAt":{"description":"Date and time when the object was last modified. The value is approved as an ISO-8601 representation of an Instant. For example: `2022-04-30T13:18:02.379Z`","type":"string","format":"date-time"}}}}}}
```

## The ReindexRequest object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"ReindexRequest":{"type":"object","properties":{"entityType":{"$ref":"#/components/schemas/ReindexEntityType"},"rag":{"type":"boolean","default":false,"description":"Whether products should be reindexed for RAG. This property is applicable only when `entityType` is `PRODUCT`."}},"required":["entityType"]},"ReindexEntityType":{"type":"string","description":"Entity type which should be reindexed. For now, it supports only `PRODUCT` and custom schema types."}}}}
```

## The IndexPublicConfiguration object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"IndexPublicConfiguration":{"title":"IndexPublicConfiguration","type":"object","properties":{"searchKey":{"type":"string","description":"API Key used for search purposes."},"applicationId":{"type":"string","description":"Application id of an indexer provider."},"indexName":{"type":"string","description":"Identifier of an index."},"provider":{"type":"string","description":"Index provider name. Supported providers: `ALGOLIA` (https://www.algolia.com), `BATTERY_INCLUDED` (https://www.batteryincluded.io). Only one provider can be active per tenant at a time.","enum":["ALGOLIA","BATTERY_INCLUDED"]},"active":{"type":"boolean","description":"Indicates if the configuration is active or not."}}}}}}
```

## The IndexConfiguration object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"IndexConfiguration":{"title":"IndexConfiguration","allOf":[{"$ref":"#/components/schemas/IndexPublicConfiguration"},{"type":"object","properties":{"writeKey":{"type":"string","description":"API key used for write purposes."},"excludedMixinKeys":{"type":"array","items":{"type":"string"},"description":"Optional list of root product mixin keys to exclude from indexing. When set, the specified mixin keys are omitted from both the non-localized and localized portions of the indexed document. Applies only to the `BATTERY_INCLUDED` provider; ignored for `ALGOLIA`."}},"required":["provider"]}]},"IndexPublicConfiguration":{"title":"IndexPublicConfiguration","type":"object","properties":{"searchKey":{"type":"string","description":"API Key used for search purposes."},"applicationId":{"type":"string","description":"Application id of an indexer provider."},"indexName":{"type":"string","description":"Identifier of an index."},"provider":{"type":"string","description":"Index provider name. Supported providers: `ALGOLIA` (https://www.algolia.com), `BATTERY_INCLUDED` (https://www.batteryincluded.io). Only one provider can be active per tenant at a time.","enum":["ALGOLIA","BATTERY_INCLUDED"]},"active":{"type":"boolean","description":"Indicates if the configuration is active or not."}}}}}}
```

## The IndexCreationResponse object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"IndexCreationResponse":{"title":"IndexCreationResponse","type":"object","properties":{"id":{"type":"string","description":"Identifier of a newly created configuration."}}}}}}
```

## The Reindex object

```json
{"openapi":"3.0.0","info":{"title":"Indexing Service","version":"v1"},"components":{"schemas":{"Reindex":{"title":"Reindex","type":"object","properties":{"mode":{"type":"string","enum":["FULL"],"description":"Indicates reindex mode. Supported modes: `FULL`."}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://developer.emporix.io/api-references/api-guides/configuration/indexing-service/api-reference/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
