diff --git a/scripts/package.json b/scripts/package.json index b8bee1a4930..4997d882654 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -25,6 +25,7 @@ "@actions/core": "1.11.1", "@actions/exec": "1.1.1", "@actions/io": "1.1.3", + "@apidevtools/json-schema-ref-parser": "^11.7.3", "@har-sdk/oas": "2.10.0", "@octokit/rest": "21.0.2", "@types/express": "5.0.0", diff --git a/scripts/specs/format.ts b/scripts/specs/format.ts index 3a2eec79dae..88ceb34aa07 100644 --- a/scripts/specs/format.ts +++ b/scripts/specs/format.ts @@ -1,3 +1,4 @@ +import $RefParser from '@apidevtools/json-schema-ref-parser'; import fsp from 'fs/promises'; import oas2har from '@har-sdk/oas'; @@ -158,8 +159,13 @@ export async function transformBundle({ } } + const dereferencedSpec = (await $RefParser.dereference(bundledSpec, { + mutateInputSchema: false, + dereference: { circular: 'ignore' }, + })) as Spec; + await fsp.writeFile( docs ? toAbsolutePath(`specs/bundled/${clientName}.doc.yml`) : bundledPath, - yaml.dump(bundledSpec, { noRefs: true }), + yaml.dump(dereferencedSpec, { noRefs: true }), ); } diff --git a/specs/bundled/search.doc.yml b/specs/bundled/search.doc.yml index d6936a876be..5e89f9b641b 100644 --- a/specs/bundled/search.doc.yml +++ b/specs/bundled/search.doc.yml @@ -278,8 +278,19 @@ paths: summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - - $ref: '#/components/parameters/PathInPath' - - $ref: '#/components/parameters/Parameters' + - name: path + in: path + description: Path of the endpoint, anything after "/1" must be specified. + required: true + schema: + type: string + example: /keys + - name: parameters + in: query + description: Query parameters to apply to the current query. + schema: + type: object + additionalProperties: true responses: '200': description: OK @@ -288,13 +299,57 @@ paths: schema: type: object '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -524,8 +579,19 @@ paths: summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - - $ref: '#/components/parameters/PathInPath' - - $ref: '#/components/parameters/Parameters' + - name: path + in: path + description: Path of the endpoint, anything after "/1" must be specified. + required: true + schema: + type: string + example: /keys + - name: parameters + in: query + description: Query parameters to apply to the current query. + schema: + type: object + additionalProperties: true responses: '200': description: OK @@ -534,13 +600,57 @@ paths: schema: type: object '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -770,8 +880,19 @@ paths: summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - - $ref: '#/components/parameters/PathInPath' - - $ref: '#/components/parameters/Parameters' + - name: path + in: path + description: Path of the endpoint, anything after "/1" must be specified. + required: true + schema: + type: string + example: /keys + - name: parameters + in: query + description: Query parameters to apply to the current query. + schema: + type: object + additionalProperties: true responses: '200': description: OK @@ -780,13 +901,57 @@ paths: schema: type: object '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -1010,8 +1175,19 @@ paths: summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - - $ref: '#/components/parameters/PathInPath' - - $ref: '#/components/parameters/Parameters' + - name: path + in: path + description: Path of the endpoint, anything after "/1" must be specified. + required: true + schema: + type: string + example: /keys + - name: parameters + in: query + description: Query parameters to apply to the current query. + schema: + type: object + additionalProperties: true responses: '200': description: OK @@ -1020,13 +1196,57 @@ paths: schema: type: object '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -1267,7 +1487,13 @@ paths: operation](#tag/Search/operation/browse) or increase the `paginatedLimitedTo` index setting. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: content: application/json: @@ -1281,13 +1507,57 @@ paths: schema: $ref: '#/components/schemas/searchResponse' '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -1613,7 +1883,19 @@ paths: items: $ref: '#/components/schemas/SearchQuery' strategy: - $ref: '#/components/schemas/searchStrategy' + type: string + enum: + - none + - stopIfEnoughMatches + description: > + Strategy for multiple search queries: + + + - `none`. Run all queries. + + - `stopIfEnoughMatches`. Run the queries one by one, + stopping as soon as a query matches at least the + `hitsPerPage` number of results. required: - requests responses: @@ -1633,13 +1915,57 @@ paths: required: - results '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -1959,7 +2285,13 @@ paths: - Searching for facet values doesn't work if you have **more than 65 searchable facets and searchable attributes combined**. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME - name: facetName description: > Facet attribute in which to search for values. @@ -1980,30 +2312,136 @@ paths: additionalProperties: false properties: params: - $ref: '#/components/schemas/paramsAsString' + description: Search parameters as a URL-encoded query string. + example: hitsPerPage=2&getRankingInfo=1 + type: string + default: '' facetQuery: - $ref: '#/components/schemas/facetQuery' + type: string + description: Text to search inside the facet's values. + example: george + default: '' maxFacetHits: - $ref: '#/components/schemas/maxFacetHits' + type: integer + description: >- + Maximum number of facet values to return when [searching for + facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + maximum: 100 + default: 10 + x-categories: + - Advanced responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/searchForFacetValuesResponse' + type: object + additionalProperties: false + required: + - facetHits + - exhaustiveFacetsCount + x-discriminator-fields: + - facetHits + properties: + facetHits: + type: array + description: Matching facet values. + items: + title: facetHits + type: object + additionalProperties: false + required: + - value + - highlighted + - count + properties: + value: + description: Facet value. + example: Mobile phone + type: string + highlighted: + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney + count: + description: >- + Number of records with this facet value. [The count + may be + approximated](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). + type: integer + exhaustiveFacetsCount: + type: boolean + description: > + Whether the facet count is exhaustive (true) or + approximate (false). + + For more information, see [Why are my facet and hit counts + not + accurate](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). + processingTimeMS: + type: integer + description: >- + Time the server took to process the request, in + milliseconds. + example: 20 '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' - x-codeSamples: - - lang: csharp - label: C# - source: > + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + x-codeSamples: + - lang: csharp + label: C# + source: > // Initialize the client var client = new SearchClient(new @@ -2287,7 +2725,13 @@ paths: If you send these parameters with your browse requests, they'll be ignored. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: content: application/json: @@ -2301,13 +2745,57 @@ paths: schema: $ref: '#/components/schemas/browseResponse' '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -2573,7 +3061,13 @@ paths: limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). summary: Add or replace a record parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: required: true description: >- @@ -2594,22 +3088,83 @@ paths: additionalProperties: false properties: createdAt: - $ref: '#/components/schemas/createdAt' + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was created, in RFC 3339 + format. taskID: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. objectID: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 required: - taskID - createdAt '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -2904,18 +3459,98 @@ paths: description: | Related guide: Delete indices. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME responses: '200': - $ref: '#/components/responses/DeletedAt' + description: OK + content: + application/json: + schema: + title: deletedAtResponse + description: Response, taskID, and deletion timestamp. + additionalProperties: false + type: object + required: + - taskID + - deletedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + deletedAt: + type: string + example: '2023-06-27T14:42:38.831Z' + description: >- + Date and time when the object was deleted, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -3161,8 +3796,21 @@ paths: To retrieve more than one record, use the [`objects` operation](#tag/Records/operation/getObjects). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectID' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique record identifier. + required: true + schema: + type: string + description: Unique record identifier. + example: test-record-123 - name: attributesToRetrieve in: query description: > @@ -3193,13 +3841,57 @@ paths: type: object description: The requested record. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -3472,8 +4164,21 @@ paths: To add, update, or replace multiple records, use the [`batch` operation](#tag/Records/operation/batch). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectID' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique record identifier. + required: true + schema: + type: string + description: Unique record identifier. + example: test-record-123 requestBody: required: true description: >- @@ -3485,15 +4190,92 @@ paths: type: object responses: '200': - $ref: '#/components/responses/UpdatedAtWithObjectId' + description: OK + content: + application/json: + schema: + title: updatedAtWithObjectIdResponse + description: >- + Response, taskID, unique object identifier, and an update + timestamp. + additionalProperties: false + type: object + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. + objectID: + type: string + description: Unique record identifier. + example: test-record-123 '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key delete: tags: - Records @@ -3511,19 +4293,106 @@ paths: To delete records matching a query, use the [`deleteByQuery` operation](#tag/Records/operation/deleteBy). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectID' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique record identifier. + required: true + schema: + type: string + description: Unique record identifier. + example: test-record-123 responses: '200': - $ref: '#/components/responses/DeletedAt' + description: OK + content: + application/json: + schema: + title: deletedAtResponse + description: Response, taskID, and deletion timestamp. + additionalProperties: false + type: object + required: + - taskID + - deletedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + deletedAt: + type: string + example: '2023-06-27T14:42:38.831Z' + description: >- + Date and time when the object was deleted, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' - '402': - $ref: '#/components/responses/FeatureNotEnabled' - '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '402': + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '403': + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key /1/indexes/{indexName}/deleteByQuery: post: tags: @@ -3555,7 +4424,13 @@ paths: https://support.algolia.com/hc/en-us/articles/16385098766353-Should-I-use-the-deleteby-method-for-deleting-records-matching-a-query- description: Should I use the deleteBy method for deleting records. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: required: true content: @@ -3564,15 +4439,88 @@ paths: $ref: '#/components/schemas/deleteByParams' responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -3840,18 +4788,97 @@ paths: This operation is resource-intensive and subject to [indexing rate limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -4150,8 +5177,21 @@ paths: This operation is subject to [indexing rate limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectID' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique record identifier. + required: true + schema: + type: string + description: Unique record identifier. + example: test-record-123 - name: createIfNotExists description: Whether to create a new record if it doesn't exist. in: query @@ -4168,15 +5208,92 @@ paths: type: object responses: '200': - $ref: '#/components/responses/UpdatedAtWithObjectId' + description: OK + content: + application/json: + schema: + title: updatedAtWithObjectIdResponse + description: >- + Response, taskID, unique object identifier, and an update + timestamp. + additionalProperties: false + type: object + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. + objectID: + type: string + description: Unique record identifier. + example: test-record-123 '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -4460,13 +5577,68 @@ paths: This operation is subject to [indexing rate limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME x-codegen-request-body-name: batchWriteParams requestBody: content: application/json: schema: - $ref: '#/components/schemas/batchWriteParams' + title: batchWriteParams + description: Batch parameters. + type: object + additionalProperties: false + properties: + requests: + type: array + items: + title: batchRequest + type: object + additionalProperties: false + properties: + action: + type: string + enum: + - addObject + - updateObject + - partialUpdateObject + - partialUpdateObjectNoCreate + - deleteObject + - delete + - clear + description: Type of indexing operation. + body: + type: object + description: Operation arguments (varies with specified `action`). + example: + name: Betty Jane McCamey + company: Vita Foods Inc. + email: betty@mccamey.com + required: + - action + - body + required: + - requests + example: + batch: + summary: Batch indexing request + value: + requests: + - action: addObject + body: + name: Betty Jane McCamey + company: Vita Foods Inc. + email: betty@mccamey.com + - action: addObject + body: + name: Gayla geimer + company: Ortman McCain Co. + email: gayla@geimer.com required: true responses: '200': @@ -4474,15 +5646,85 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/batchResponse' + type: object + additionalProperties: false + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + objectIDs: + type: array + items: + type: string + example: + - record-1 + - record-2 + description: Unique record identifiers. + required: + - taskID + - objectIDs '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -4909,12 +6151,23 @@ paths: additionalProperties: false properties: action: - $ref: '#/components/schemas/action' + type: string + enum: + - addObject + - updateObject + - partialUpdateObject + - partialUpdateObjectNoCreate + - deleteObject + - delete + - clear + description: Type of indexing operation. body: type: object description: Operation arguments (varies with specified `action`). indexName: - $ref: '#/components/schemas/indexName' + type: string + example: products + description: Index name (case-sensitive). required: - action - indexName @@ -4951,20 +6204,81 @@ paths: type: object description: Task IDs. One for each index. additionalProperties: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to + a queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. objectIDs: - $ref: '#/components/schemas/objectIDs' + type: array + items: + type: string + example: + - record-1 + - record-2 + description: Unique record identifiers. required: - taskID - objectIDs '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -5373,13 +6687,57 @@ paths: required: - results '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -5709,7 +7067,13 @@ paths: description: Retrieves an object with non-null index settings. summary: Retrieve index settings parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME responses: '200': description: OK @@ -5718,13 +7082,57 @@ paths: schema: $ref: '#/components/schemas/settingsResponse' '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -5972,8 +7380,19 @@ paths: records to your index. summary: Update index settings parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean requestBody: required: true content: @@ -5982,15 +7401,88 @@ paths: $ref: '#/components/schemas/indexSettings' responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -6289,23 +7781,148 @@ paths: To find the object IDs for your synonyms, use the [`search` operation](#tag/Synonyms/operation/searchSynonyms). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/parameters_ObjectID' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique identifier of a synonym object. + required: true + schema: + type: string + example: synonymID responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/synonymHit' + type: object + description: Synonym object. + additionalProperties: false + properties: + objectID: + type: string + description: Unique identifier of a synonym object. + example: synonymID + type: + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 + synonyms: + type: array + items: + type: string + description: Words or phrases considered equivalent. + example: + - vehicle + - auto + input: + type: string + description: >- + Word or phrase to appear in query strings (for + [`onewaysynonym`s](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/one-way-synonyms/)). + example: car + word: + type: string + description: >- + Word or phrase to appear in query strings (for + [`altcorrection1` and + `altcorrection2`](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alternative-corrections/)). + example: car + corrections: + type: array + items: + type: string + description: Words to be matched in records. + example: + - vehicle + - auto + placeholder: + type: string + description: > + [Placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/) + to be put inside records. + example: + replacements: + type: array + items: + type: string + description: >- + Query words that will match the [placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/). + example: + - street + - st + required: + - objectID + - type '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -6548,15 +8165,101 @@ paths: To add multiple synonyms in a single API request, use the [`batch` operation](#tag/Synonyms/operation/saveSynonyms). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/parameters_ObjectID' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique identifier of a synonym object. + required: true + schema: + type: string + example: synonymID + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/synonymHit' + type: object + description: Synonym object. + additionalProperties: false + properties: + objectID: + type: string + description: Unique identifier of a synonym object. + example: synonymID + type: + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 + synonyms: + type: array + items: + type: string + description: Words or phrases considered equivalent. + example: + - vehicle + - auto + input: + type: string + description: >- + Word or phrase to appear in query strings (for + [`onewaysynonym`s](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/one-way-synonyms/)). + example: car + word: + type: string + description: >- + Word or phrase to appear in query strings (for + [`altcorrection1` and + `altcorrection2`](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alternative-corrections/)). + example: car + corrections: + type: array + items: + type: string + description: Words to be matched in records. + example: + - vehicle + - auto + placeholder: + type: string + description: > + [Placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/) + to be put inside records. + example: + replacements: + type: array + items: + type: string + description: >- + Query words that will match the [placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/). + example: + - street + - st + required: + - objectID + - type responses: '200': description: OK @@ -6568,26 +8271,87 @@ paths: additionalProperties: false properties: taskID: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. id: - $ref: '#/components/schemas/id' + type: string + example: '12' + description: Unique identifier of a synonym object. required: - taskID - updatedAt - id '400': - $ref: '#/components/responses/BadRequest' - '402': - $ref: '#/components/responses/FeatureNotEnabled' - '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' - delete: - tags: - - Synonyms + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '402': + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '403': + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + delete: + tags: + - Synonyms operationId: deleteSynonym x-acl: - editSettings @@ -6598,20 +8362,111 @@ paths: To find the object IDs of your synonyms, use the [`search` operation](#tag/Synonyms/operation/searchSynonyms). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/parameters_ObjectID' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - name: objectID + in: path + description: Unique identifier of a synonym object. + required: true + schema: + type: string + example: synonymID + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean responses: '200': - $ref: '#/components/responses/DeletedAt' + description: OK + content: + application/json: + schema: + title: deletedAtResponse + description: Response, taskID, and deletion timestamp. + additionalProperties: false + type: object + required: + - taskID + - deletedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + deletedAt: + type: string + example: '2023-06-27T14:42:38.831Z' + description: >- + Date and time when the object was deleted, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key /1/indexes/{indexName}/synonyms/batch: post: tags: @@ -6629,26 +8484,188 @@ paths: This operation is subject to [indexing rate limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ForwardToReplicas' - - $ref: '#/components/parameters/ReplaceExistingSynonyms' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean + - in: query + name: replaceExistingSynonyms + schema: + type: boolean + description: >- + Whether to replace all synonyms in the index with the ones sent with + this request. requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/synonymHits' + type: array + description: Matching synonyms. + items: + type: object + description: Synonym object. + additionalProperties: false + properties: + objectID: + type: string + description: Unique identifier of a synonym object. + example: synonymID + type: + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 + synonyms: + type: array + items: + type: string + description: Words or phrases considered equivalent. + example: + - vehicle + - auto + input: + type: string + description: >- + Word or phrase to appear in query strings (for + [`onewaysynonym`s](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/one-way-synonyms/)). + example: car + word: + type: string + description: >- + Word or phrase to appear in query strings (for + [`altcorrection1` and + `altcorrection2`](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alternative-corrections/)). + example: car + corrections: + type: array + items: + type: string + description: Words to be matched in records. + example: + - vehicle + - auto + placeholder: + type: string + description: > + [Placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/) + to be put inside records. + example: + replacements: + type: array + items: + type: string + description: >- + Query words that will match the [placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/). + example: + - street + - st + required: + - objectID + - type responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -7059,19 +9076,103 @@ paths: summary: Delete all synonyms description: Deletes all synonyms from the index. parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -7313,7 +9414,13 @@ paths: summary: Search for synonyms description: Searches for synonyms in your index. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: description: Body of the `searchSynonyms` operation. content: @@ -7324,46 +9431,199 @@ paths: additionalProperties: false properties: query: - $ref: '#/components/schemas/query' + type: string + description: Search query. + default: '' + x-categories: + - Search type: - $ref: '#/components/schemas/SynonymType' + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination hitsPerPage: - $ref: '#/components/schemas/hitsPerPage' + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/searchSynonymsResponse' - '400': - $ref: '#/components/responses/BadRequest' - '402': - $ref: '#/components/responses/FeatureNotEnabled' - '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' - x-codeSamples: - - lang: csharp - label: C# - source: > - // Initialize the client - - var client = new SearchClient(new - SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")); - - - // Call the API - - var response = await - client.SearchSynonymsAsync(""); - - // >LOG - - lang: dart - label: Dart + type: object + additionalProperties: true + properties: + hits: + type: array + description: Matching synonyms. + items: + type: object + description: Synonym object. + additionalProperties: false + properties: + objectID: + type: string + description: Unique identifier of a synonym object. + example: synonymID + type: + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 + synonyms: + type: array + items: + type: string + description: Words or phrases considered equivalent. + example: + - vehicle + - auto + input: + type: string + description: >- + Word or phrase to appear in query strings (for + [`onewaysynonym`s](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/one-way-synonyms/)). + example: car + word: + type: string + description: >- + Word or phrase to appear in query strings (for + [`altcorrection1` and + `altcorrection2`](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alternative-corrections/)). + example: car + corrections: + type: array + items: + type: string + description: Words to be matched in records. + example: + - vehicle + - auto + placeholder: + type: string + description: > + [Placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/) + to be put inside records. + example: + replacements: + type: array + items: + type: string + description: >- + Query words that will match the [placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/). + example: + - street + - st + required: + - objectID + - type + nbHits: + type: integer + description: Number of results (hits). + example: 20 + required: + - hits + - nbHits + '400': + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '402': + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '403': + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + x-codeSamples: + - lang: csharp + label: C# + source: > + // Initialize the client + + var client = new SearchClient(new + SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")); + + + // Call the API + + var response = await + client.SearchSynonymsAsync(""); + + // >LOG + - lang: dart + label: Dart source: | // Initialize the client final client = @@ -7605,15 +9865,233 @@ paths: type: array description: API keys. items: - $ref: '#/components/schemas/getApiKeyResponse' + allOf: + - type: object + additionalProperties: false + properties: + value: + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 + createdAt: + type: integer + format: int64 + example: 1656345570000 + description: >- + Timestamp when the object was created, in + milliseconds since the Unix epoch. + required: + - value + - createdAt + - type: object + description: API key object. + additionalProperties: false + properties: + acl: + type: array + description: > + Permissions that determine the type of API + requests this key can make. + + The required ACL is listed in each endpoint's + reference. + + For more information, see [access control + list](https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl). + example: + - search + - addObject + default: [] + items: + description: Access control list permissions. + type: string + enum: + - addObject + - analytics + - browse + - deleteObject + - deleteIndex + - editSettings + - inference + - listIndexes + - logs + - personalization + - recommendation + - search + - seeUnretrievableAttributes + - settings + - usage + description: + type: string + description: >- + Description of an API key to help you identify + this API key. + example: Used for indexing by the CLI + default: '' + indexes: + type: array + description: > + Index names or patterns that this API key can + access. + + By default, an API key can access all indices in + the same application. + + + You can use leading and trailing wildcard + characters (`*`): + + + - `dev_*` matches all indices starting with + "dev_". + + - `*_dev` matches all indices ending with + "_dev". + + - `*_products_*` matches all indices containing + "_products_". + example: + - dev_* + - prod_en_products + default: [] + items: + type: string + maxHitsPerQuery: + type: integer + description: > + Maximum number of results this API key can + retrieve in one query. + + By default, there's no limit. + default: 0 + maxQueriesPerIPPerHour: + type: integer + description: > + Maximum number of API requests allowed per IP + address or [user + token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) + per hour. + + + If this limit is reached, the API returns an + error with status code `429`. + + By default, there's no limit. + default: 0 + queryParameters: + type: string + description: > + Query parameters to add when making API requests + with this API key. + + + To restrict this API key to specific IP + addresses, add the `restrictSources` parameter. + + You can only add a single source, but you can + provide a range of IP addresses. + + + Creating an API key fails if the request is made + from an IP address outside the restricted range. + example: >- + typoTolerance=strict&restrictSources=192.168.1.0/24 + default: '' + referers: + type: array + description: > + Allowed HTTP referrers for this API key. + + + By default, all referrers are allowed. + + You can use leading and trailing wildcard + characters (`*`): + + + - `https://algolia.com/*` allows all referrers + starting with "https://algolia.com/" + + - `*.algolia.com` allows all referrers ending + with ".algolia.com" + + - `*algolia.com*` allows all referrers in the + domain "algolia.com". + + + Like all HTTP headers, referrers can be spoofed. + Don't rely on them to secure your data. + + For more information, see [HTTP referrer + restrictions](https://www.algolia.com/doc/guides/security/security-best-practices/#http-referrers-restrictions). + example: + - '*algolia.com*' + default: [] + items: + type: string + validity: + type: integer + description: > + Duration (in seconds) after which the API key + expires. + + By default, API keys don't expire. + example: 86400 + default: 0 + required: + - acl '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -7843,22 +10321,226 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/apiKey' + type: object + description: API key object. + additionalProperties: false + properties: + acl: + type: array + description: > + Permissions that determine the type of API requests this key + can make. + + The required ACL is listed in each endpoint's reference. + + For more information, see [access control + list](https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl). + example: + - search + - addObject + default: [] + items: + description: Access control list permissions. + type: string + enum: + - addObject + - analytics + - browse + - deleteObject + - deleteIndex + - editSettings + - inference + - listIndexes + - logs + - personalization + - recommendation + - search + - seeUnretrievableAttributes + - settings + - usage + description: + type: string + description: Description of an API key to help you identify this API key. + example: Used for indexing by the CLI + default: '' + indexes: + type: array + description: > + Index names or patterns that this API key can access. + + By default, an API key can access all indices in the same + application. + + + You can use leading and trailing wildcard characters (`*`): + + + - `dev_*` matches all indices starting with "dev_". + + - `*_dev` matches all indices ending with "_dev". + + - `*_products_*` matches all indices containing + "_products_". + example: + - dev_* + - prod_en_products + default: [] + items: + type: string + maxHitsPerQuery: + type: integer + description: > + Maximum number of results this API key can retrieve in one + query. + + By default, there's no limit. + default: 0 + maxQueriesPerIPPerHour: + type: integer + description: > + Maximum number of API requests allowed per IP address or + [user + token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) + per hour. + + + If this limit is reached, the API returns an error with + status code `429`. + + By default, there's no limit. + default: 0 + queryParameters: + type: string + description: > + Query parameters to add when making API requests with this + API key. + + + To restrict this API key to specific IP addresses, add the + `restrictSources` parameter. + + You can only add a single source, but you can provide a + range of IP addresses. + + + Creating an API key fails if the request is made from an IP + address outside the restricted range. + example: typoTolerance=strict&restrictSources=192.168.1.0/24 + default: '' + referers: + type: array + description: > + Allowed HTTP referrers for this API key. + + + By default, all referrers are allowed. + + You can use leading and trailing wildcard characters (`*`): + + + - `https://algolia.com/*` allows all referrers starting with + "https://algolia.com/" + + - `*.algolia.com` allows all referrers ending with + ".algolia.com" + + - `*algolia.com*` allows all referrers in the domain + "algolia.com". + + + Like all HTTP headers, referrers can be spoofed. Don't rely + on them to secure your data. + + For more information, see [HTTP referrer + restrictions](https://www.algolia.com/doc/guides/security/security-best-practices/#http-referrers-restrictions). + example: + - '*algolia.com*' + default: [] + items: + type: string + validity: + type: integer + description: | + Duration (in seconds) after which the API key expires. + By default, API keys don't expire. + example: 86400 + default: 0 + required: + - acl responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/addApiKeyResponse' + type: object + additionalProperties: false + properties: + key: + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 + createdAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was created, in RFC 3339 + format. + required: + - key + - createdAt '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -8180,38 +10862,256 @@ paths: with the description replaced by ``. parameters: - - $ref: '#/components/parameters/KeyString' + - in: path + name: key + required: true + schema: + type: string + example: ALGOLIA_API_KEY + description: API key. responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/getApiKeyResponse' - '400': - $ref: '#/components/responses/BadRequest' - '402': - $ref: '#/components/responses/FeatureNotEnabled' - '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' - x-codeSamples: - - lang: csharp - label: C# - source: > - // Initialize the client + allOf: + - type: object + additionalProperties: false + properties: + value: + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 + createdAt: + type: integer + format: int64 + example: 1656345570000 + description: >- + Timestamp when the object was created, in milliseconds + since the Unix epoch. + required: + - value + - createdAt + - type: object + description: API key object. + additionalProperties: false + properties: + acl: + type: array + description: > + Permissions that determine the type of API requests + this key can make. - var client = new SearchClient(new - SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")); + The required ACL is listed in each endpoint's + reference. + For more information, see [access control + list](https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl). + example: + - search + - addObject + default: [] + items: + description: Access control list permissions. + type: string + enum: + - addObject + - analytics + - browse + - deleteObject + - deleteIndex + - editSettings + - inference + - listIndexes + - logs + - personalization + - recommendation + - search + - seeUnretrievableAttributes + - settings + - usage + description: + type: string + description: >- + Description of an API key to help you identify this + API key. + example: Used for indexing by the CLI + default: '' + indexes: + type: array + description: > + Index names or patterns that this API key can access. - // Call the API + By default, an API key can access all indices in the + same application. - var response = await client.GetApiKeyAsync("myTestApiKey"); - // >LOG - - lang: dart + You can use leading and trailing wildcard characters + (`*`): + + + - `dev_*` matches all indices starting with "dev_". + + - `*_dev` matches all indices ending with "_dev". + + - `*_products_*` matches all indices containing + "_products_". + example: + - dev_* + - prod_en_products + default: [] + items: + type: string + maxHitsPerQuery: + type: integer + description: > + Maximum number of results this API key can retrieve in + one query. + + By default, there's no limit. + default: 0 + maxQueriesPerIPPerHour: + type: integer + description: > + Maximum number of API requests allowed per IP address + or [user + token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) + per hour. + + + If this limit is reached, the API returns an error + with status code `429`. + + By default, there's no limit. + default: 0 + queryParameters: + type: string + description: > + Query parameters to add when making API requests with + this API key. + + + To restrict this API key to specific IP addresses, add + the `restrictSources` parameter. + + You can only add a single source, but you can provide + a range of IP addresses. + + + Creating an API key fails if the request is made from + an IP address outside the restricted range. + example: typoTolerance=strict&restrictSources=192.168.1.0/24 + default: '' + referers: + type: array + description: > + Allowed HTTP referrers for this API key. + + + By default, all referrers are allowed. + + You can use leading and trailing wildcard characters + (`*`): + + + - `https://algolia.com/*` allows all referrers + starting with "https://algolia.com/" + + - `*.algolia.com` allows all referrers ending with + ".algolia.com" + + - `*algolia.com*` allows all referrers in the domain + "algolia.com". + + + Like all HTTP headers, referrers can be spoofed. Don't + rely on them to secure your data. + + For more information, see [HTTP referrer + restrictions](https://www.algolia.com/doc/guides/security/security-best-practices/#http-referrers-restrictions). + example: + - '*algolia.com*' + default: [] + items: + type: string + validity: + type: integer + description: | + Duration (in seconds) after which the API key expires. + By default, API keys don't expire. + example: 86400 + default: 0 + required: + - acl + '400': + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '402': + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '403': + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + x-codeSamples: + - lang: csharp + label: C# + source: > + // Initialize the client + + var client = new SearchClient(new + SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")); + + + // Call the API + + var response = await client.GetApiKeyAsync("myTestApiKey"); + + // >LOG + - lang: dart label: Dart source: | // Initialize the client @@ -8426,13 +11326,164 @@ paths: Any unspecified attribute resets that attribute to its default value. parameters: - - $ref: '#/components/parameters/KeyString' + - in: path + name: key + required: true + schema: + type: string + example: ALGOLIA_API_KEY + description: API key. requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/apiKey' + type: object + description: API key object. + additionalProperties: false + properties: + acl: + type: array + description: > + Permissions that determine the type of API requests this key + can make. + + The required ACL is listed in each endpoint's reference. + + For more information, see [access control + list](https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl). + example: + - search + - addObject + default: [] + items: + description: Access control list permissions. + type: string + enum: + - addObject + - analytics + - browse + - deleteObject + - deleteIndex + - editSettings + - inference + - listIndexes + - logs + - personalization + - recommendation + - search + - seeUnretrievableAttributes + - settings + - usage + description: + type: string + description: Description of an API key to help you identify this API key. + example: Used for indexing by the CLI + default: '' + indexes: + type: array + description: > + Index names or patterns that this API key can access. + + By default, an API key can access all indices in the same + application. + + + You can use leading and trailing wildcard characters (`*`): + + + - `dev_*` matches all indices starting with "dev_". + + - `*_dev` matches all indices ending with "_dev". + + - `*_products_*` matches all indices containing + "_products_". + example: + - dev_* + - prod_en_products + default: [] + items: + type: string + maxHitsPerQuery: + type: integer + description: > + Maximum number of results this API key can retrieve in one + query. + + By default, there's no limit. + default: 0 + maxQueriesPerIPPerHour: + type: integer + description: > + Maximum number of API requests allowed per IP address or + [user + token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) + per hour. + + + If this limit is reached, the API returns an error with + status code `429`. + + By default, there's no limit. + default: 0 + queryParameters: + type: string + description: > + Query parameters to add when making API requests with this + API key. + + + To restrict this API key to specific IP addresses, add the + `restrictSources` parameter. + + You can only add a single source, but you can provide a + range of IP addresses. + + + Creating an API key fails if the request is made from an IP + address outside the restricted range. + example: typoTolerance=strict&restrictSources=192.168.1.0/24 + default: '' + referers: + type: array + description: > + Allowed HTTP referrers for this API key. + + + By default, all referrers are allowed. + + You can use leading and trailing wildcard characters (`*`): + + + - `https://algolia.com/*` allows all referrers starting with + "https://algolia.com/" + + - `*.algolia.com` allows all referrers ending with + ".algolia.com" + + - `*algolia.com*` allows all referrers in the domain + "algolia.com". + + + Like all HTTP headers, referrers can be spoofed. Don't rely + on them to secure your data. + + For more information, see [HTTP referrer + restrictions](https://www.algolia.com/doc/guides/security/security-best-practices/#http-referrers-restrictions). + example: + - '*algolia.com*' + default: [] + items: + type: string + validity: + type: integer + description: | + Duration (in seconds) after which the API key expires. + By default, API keys don't expire. + example: 86400 + default: 0 + required: + - acl responses: '200': description: OK @@ -8447,17 +11498,67 @@ paths: - updatedAt properties: key: - $ref: '#/components/schemas/keyString' + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key delete: tags: - Api Keys @@ -8467,7 +11568,13 @@ paths: summary: Delete an API key description: Deletes the API key. parameters: - - $ref: '#/components/parameters/KeyString' + - in: path + name: key + required: true + schema: + type: string + example: ALGOLIA_API_KEY + description: API key. responses: '200': description: OK @@ -8481,15 +11588,63 @@ paths: - deletedAt properties: deletedAt: - $ref: '#/components/schemas/deletedAt' + type: string + example: '2023-06-27T14:42:38.831Z' + description: >- + Date and time when the object was deleted, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key /1/keys/{key}/restore: post: tags: @@ -8510,22 +11665,87 @@ paths: If you create more, the oldest API keys are deleted and can't be restored. parameters: - - $ref: '#/components/parameters/KeyString' + - in: path + name: key + required: true + schema: + type: string + example: ALGOLIA_API_KEY + description: API key. responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/addApiKeyResponse' + type: object + additionalProperties: false + properties: + key: + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 + createdAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was created, in RFC 3339 + format. + required: + - key + - createdAt '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -8761,8 +11981,21 @@ paths: To find the object ID of rules, use the [`search` operation](#tag/Rules/operation/searchRules). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectIDRule' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: path + name: objectID + description: Unique identifier of a rule object. + required: true + schema: + title: objectID + type: string + description: Unique identifier of a rule object. responses: '200': description: OK @@ -8771,13 +12004,57 @@ paths: schema: $ref: '#/components/schemas/rule' '400': - $ref: '#/components/responses/BadRequest' - '402': - $ref: '#/components/responses/FeatureNotEnabled' - '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '402': + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '403': + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -9020,9 +12297,27 @@ paths: To create or update more than one rule, use the [`batch` operation](#tag/Rules/operation/saveRules). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectIDRule' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: path + name: objectID + description: Unique identifier of a rule object. + required: true + schema: + title: objectID + type: string + description: Unique identifier of a rule object. + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean requestBody: required: true content: @@ -9031,15 +12326,88 @@ paths: $ref: '#/components/schemas/rule' responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key delete: tags: - Rules @@ -9052,20 +12420,111 @@ paths: To find the object ID for rules, use the [`search` operation](#tag/Rules/operation/searchRules). parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ObjectIDRule' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: path + name: objectID + description: Unique identifier of a rule object. + required: true + schema: + title: objectID + type: string + description: Unique identifier of a rule object. + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key /1/indexes/{indexName}/rules/batch: post: tags: @@ -9088,9 +12547,25 @@ paths: limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). x-codegen-request-body-name: rules parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ForwardToReplicas' - - $ref: '#/components/parameters/ClearExistingRules' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean + - in: query + name: clearExistingRules + required: false + schema: + type: boolean + description: Whether existing rules should be deleted before adding this batch. requestBody: required: true content: @@ -9102,15 +12577,88 @@ paths: $ref: '#/components/schemas/rule' responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -9614,19 +13162,103 @@ paths: summary: Delete all rules description: Deletes all rules from the index. parameters: - - $ref: '#/components/parameters/IndexName' - - $ref: '#/components/parameters/ForwardToReplicas' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME + - in: query + name: forwardToReplicas + required: false + description: Whether changes are applied to replica indices. + schema: + type: boolean responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -9867,7 +13499,13 @@ paths: summary: Search for rules description: Searches for rules in your index. parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: content: application/json: @@ -9878,17 +13516,82 @@ paths: additionalProperties: false properties: query: - $ref: '#/components/schemas/parameters_query' + type: string + description: Search query for rules. + default: '' anchoring: - $ref: '#/components/schemas/anchoring' + type: string + description: > + Which part of the search query the pattern should match: + + + - `startsWith`. The pattern must match the beginning of the + query. + + - `endsWith`. The pattern must match the end of the query. + + - `is`. The pattern must match the query exactly. + + - `contains`. The pattern must match anywhere in the query. + + + Empty queries are only allowed as patterns with `anchoring: + is`. + enum: + - is + - startsWith + - endsWith + - contains context: type: string description: Only return rules that match the context (exact match). example: mobile page: - $ref: '#/components/schemas/parameters_page' + type: integer + minimum: 0 + description: > + Requested page of the API response. + + + Algolia uses `page` and `hitsPerPage` to control how search + results are displayed + ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). + + + - `hitsPerPage`: sets the number of search results (_hits_) + displayed per page. + + - `page`: specifies the page number of the search results + you want to retrieve. Page numbering starts at 0, so the + first page is `page=0`, the second is `page=1`, and so on. + + + For example, to display 10 results per page starting from + the third page, set `hitsPerPage` to 10 and `page` to 2. hitsPerPage: - $ref: '#/components/schemas/parameters_hitsPerPage' + type: integer + default: 20 + minimum: 1 + maximum: 1000 + description: > + Maximum number of hits per page. + + + Algolia uses `page` and `hitsPerPage` to control how search + results are displayed + ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). + + + - `hitsPerPage`: sets the number of search results (_hits_) + displayed per page. + + - `page`: specifies the page number of the search results + you want to retrieve. Page numbering starts at 0, so the + first page is `page=0`, the second is `page=1`, and so on. + + + For example, to display 10 results per page starting from + the third page, set `hitsPerPage` to 10 and `page` to 2. enabled: oneOf: - type: boolean @@ -9928,13 +13631,57 @@ paths: type: integer description: Number of pages. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -10200,7 +13947,16 @@ paths: stop word dictionaries. summary: Add or delete dictionary entries parameters: - - $ref: '#/components/parameters/DictionaryName' + - in: path + name: dictionaryName + description: Dictionary type in which to search. + required: true + schema: + type: string + enum: + - plurals + - stopwords + - compounds requestBody: required: true content: @@ -10231,20 +13987,220 @@ paths: - body properties: action: - $ref: '#/components/schemas/dictionaryAction' + type: string + enum: + - addEntry + - deleteEntry + description: Actions to perform. body: - $ref: '#/components/schemas/dictionaryEntry' + type: object + description: Dictionary entry. + additionalProperties: true + required: + - objectID + properties: + objectID: + type: string + description: Unique identifier for the dictionary entry. + example: 828afd405e1f4fe950b6b98c2c43c032 + language: + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + word: + type: string + description: >- + Matching dictionary word for `stopwords` and + `compounds` dictionaries. + example: the + words: + type: array + description: >- + Matching words in the `plurals` dictionary + including declensions. + example: + - cheval + - cheveaux + items: + type: string + decomposition: + type: array + description: >- + Invividual components of a compound word in the + `compounds` dictionary. + example: + - kopf + - schmerz + - tablette + items: + type: string + state: + type: string + enum: + - enabled + - disabled + default: enabled + description: Whether a dictionary entry is active. + type: + type: string + enum: + - custom + - standard + description: >- + Whether a dictionary entry is provided by Algolia + (standard), or has been added by you (custom). responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -10671,7 +14627,16 @@ paths: description: Searches for standard and custom dictionary entries. summary: Search dictionary entries parameters: - - $ref: '#/components/parameters/DictionaryName' + - in: path + name: dictionaryName + description: Dictionary type in which to search. + required: true + schema: + type: string + enum: + - plurals + - stopwords + - compounds requestBody: required: true content: @@ -10685,28 +14650,322 @@ paths: additionalProperties: false properties: query: - $ref: '#/components/schemas/query' + type: string + description: Search query. + default: '' + x-categories: + - Search page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination hitsPerPage: - $ref: '#/components/schemas/hitsPerPage' + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination language: - $ref: '#/components/schemas/supportedLanguage' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/searchDictionaryEntriesResponse' + type: object + additionalProperties: false + properties: + hits: + type: array + description: Dictionary entries matching the search criteria. + items: + type: object + description: Dictionary entry. + additionalProperties: true + required: + - objectID + properties: + objectID: + type: string + description: Unique identifier for the dictionary entry. + example: 828afd405e1f4fe950b6b98c2c43c032 + language: + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + word: + type: string + description: >- + Matching dictionary word for `stopwords` and + `compounds` dictionaries. + example: the + words: + type: array + description: >- + Matching words in the `plurals` dictionary including + declensions. + example: + - cheval + - cheveaux + items: + type: string + decomposition: + type: array + description: >- + Invividual components of a compound word in the + `compounds` dictionary. + example: + - kopf + - schmerz + - tablette + items: + type: string + state: + type: string + enum: + - enabled + - disabled + default: enabled + description: Whether a dictionary entry is active. + type: + type: string + enum: + - custom + - standard + description: >- + Whether a dictionary entry is provided by Algolia + (standard), or has been added by you (custom). + page: + type: integer + minimum: 0 + description: > + Requested page of the API response. + + + Algolia uses `page` and `hitsPerPage` to control how + search results are displayed + ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). + + + - `hitsPerPage`: sets the number of search results + (_hits_) displayed per page. + + - `page`: specifies the page number of the search results + you want to retrieve. Page numbering starts at 0, so the + first page is `page=0`, the second is `page=1`, and so on. + + + For example, to display 10 results per page starting from + the third page, set `hitsPerPage` to 10 and `page` to 2. + nbHits: + type: integer + description: Number of results (hits). + example: 20 + nbPages: + type: integer + description: Number of pages of results. + example: 1 + required: + - hits + - page + - nbHits + - nbPages '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -10978,15 +15237,100 @@ paths: - disableStandardEntries properties: disableStandardEntries: - $ref: '#/components/schemas/standardEntries' + description: > + Key-value pairs of [supported language ISO + codes](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/) + and boolean values. + additionalProperties: false + properties: + plurals: + oneOf: + - type: object + description: >- + Key-value pair of a language ISO code and a + boolean value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' + stopwords: + oneOf: + - type: object + description: >- + Key-value pair of a language ISO code and a + boolean value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' + compounds: + oneOf: + - type: object + description: >- + Key-value pair of a language ISO code and a + boolean value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -11228,20 +15572,134 @@ paths: - disableStandardEntries properties: disableStandardEntries: - $ref: '#/components/schemas/standardEntries' + description: > + Key-value pairs of [supported language ISO + codes](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/) + and boolean values. + additionalProperties: false + properties: + plurals: + oneOf: + - type: object + description: >- + Key-value pair of a language ISO code and a boolean + value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' + stopwords: + oneOf: + - type: object + description: >- + Key-value pair of a language ISO code and a boolean + value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' + compounds: + oneOf: + - type: object + description: >- + Key-value pair of a language ISO code and a boolean + value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' - x-codeSamples: - - lang: csharp + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + x-codeSamples: + - lang: csharp label: C# source: > // Initialize the client @@ -11562,15 +16020,102 @@ paths: type: object additionalProperties: x-additionalPropertiesName: language - $ref: '#/components/schemas/languages' + type: object + description: Dictionary language. + additionalProperties: false + required: + - plurals + - stopwords + - compounds + properties: + plurals: + oneOf: + - type: object + additionalProperties: false + description: >- + Dictionary type. If `null`, this dictionary type + isn't supported for the language. + properties: + nbCustomEntries: + description: Number of custom dictionary entries. + type: integer + - type: 'null' + stopwords: + oneOf: + - type: object + additionalProperties: false + description: >- + Dictionary type. If `null`, this dictionary type + isn't supported for the language. + properties: + nbCustomEntries: + description: Number of custom dictionary entries. + type: integer + - type: 'null' + compounds: + oneOf: + - type: object + additionalProperties: false + description: >- + Dictionary type. If `null`, this dictionary type + isn't supported for the language. + properties: + nbCustomEntries: + description: Number of custom dictionary entries. + type: integer + - type: 'null' '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -11802,7 +16347,15 @@ paths: The time it takes to move a user is proportional to the amount of data linked to the user ID. parameters: - - $ref: '#/components/parameters/UserIDInHeader' + - name: X-Algolia-User-ID + description: Unique identifier of the user who makes the search request. + in: header + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 requestBody: required: true content: @@ -11814,20 +16367,82 @@ paths: additionalProperties: false properties: cluster: - $ref: '#/components/schemas/clusterName' + type: string + description: Cluster name. + example: c11-test required: - cluster responses: '200': - $ref: '#/components/responses/CreatedAt' + description: OK + content: + application/json: + schema: + title: createdAtResponse + description: Response and creation timestamp. + additionalProperties: false + type: object + required: + - createdAt + properties: + createdAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was created, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -12100,8 +16715,25 @@ paths: the response isn't real-time. parameters: - - $ref: '#/components/parameters/Page' - - $ref: '#/components/parameters/HitsPerPage' + - in: query + name: page + description: | + Requested page of the API response. + If `null`, the API response is not paginated. + required: false + schema: + oneOf: + - type: integer + minimum: 0 + - type: 'null' + default: null + - in: query + name: hitsPerPage + description: Number of hits per page. + required: false + schema: + type: integer + default: 100 responses: '200': description: OK @@ -12116,17 +16748,88 @@ paths: type: array description: User IDs. items: - $ref: '#/components/schemas/userId' + title: userID + type: object + description: Unique user ID. + properties: + userID: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: >- + Unique identifier of the user who makes the search + request. + example: user1 + clusterName: + type: string + description: Cluster to which the user is assigned. + example: c1-test + nbRecords: + type: integer + description: Number of records belonging to the user. + example: 42 + dataSize: + type: integer + description: Data size used by the user. + example: 0 + required: + - userID + - clusterName + - nbRecords + - dataSize required: - userIDs '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -12360,7 +17063,15 @@ paths: **You can't move users with this operation**. parameters: - - $ref: '#/components/parameters/UserIDInHeader' + - name: X-Algolia-User-ID + description: Unique identifier of the user who makes the search request. + in: header + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 requestBody: required: true content: @@ -12372,7 +17083,9 @@ paths: additionalProperties: false properties: cluster: - $ref: '#/components/schemas/clusterName' + type: string + description: Cluster name. + example: c11-test users: type: array description: User IDs to assign. @@ -12387,15 +17100,75 @@ paths: - users responses: '200': - $ref: '#/components/responses/CreatedAt' + description: OK + content: + application/json: + schema: + title: createdAtResponse + description: Response and creation timestamp. + additionalProperties: false + type: object + required: + - createdAt + properties: + createdAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was created, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -12714,17 +17487,88 @@ paths: x-additionalPropertiesName: cluster type: array items: - $ref: '#/components/schemas/userId' + title: userID + type: object + description: Unique user ID. + properties: + userID: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: >- + Unique identifier of the user who makes the + search request. + example: user1 + clusterName: + type: string + description: Cluster to which the user is assigned. + example: c1-test + nbRecords: + type: integer + description: Number of records belonging to the user. + example: 42 + dataSize: + type: integer + description: Data size used by the user. + example: 0 + required: + - userID + - clusterName + - nbRecords + - dataSize required: - topUsers '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -12958,27 +17802,106 @@ paths: the response isn't real-time. parameters: - - $ref: '#/components/parameters/UserIDInPath' + - name: userID + description: Unique identifier of the user who makes the search request. + in: path + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/userId' + title: userID + type: object + description: Unique user ID. + properties: + userID: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: >- + Unique identifier of the user who makes the search + request. + example: user1 + clusterName: + type: string + description: Cluster to which the user is assigned. + example: c1-test + nbRecords: + type: integer + description: Number of records belonging to the user. + example: 42 + dataSize: + type: integer + description: Data size used by the user. + example: 0 + required: + - userID + - clusterName + - nbRecords + - dataSize '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' - x-codeSamples: - - lang: csharp - label: C# - source: > - // Initialize the client + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + x-codeSamples: + - lang: csharp + label: C# + source: > + // Initialize the client var client = new SearchClient(new SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")); @@ -13201,7 +18124,15 @@ paths: summary: Delete user ID description: Deletes a user ID and its associated data from the clusters. parameters: - - $ref: '#/components/parameters/UserIDInPath' + - name: userID + description: Unique identifier of the user who makes the search request. + in: path + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 responses: '200': description: OK @@ -13213,17 +18144,65 @@ paths: additionalProperties: false properties: deletedAt: - $ref: '#/components/schemas/deletedAt' + type: string + example: '2023-06-27T14:42:38.831Z' + description: >- + Date and time when the object was deleted, in RFC 3339 + format. required: - deletedAt '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key /1/clusters: get: tags: @@ -13250,17 +18229,63 @@ paths: users with the highest number of records per cluster as values. items: - $ref: '#/components/schemas/clusterName' + type: string + description: Cluster name. + example: c11-test required: - topUsers '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -13519,11 +18544,24 @@ paths: tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/) enabled. An empty query will retrieve all users. clusterName: - $ref: '#/components/schemas/clusterName' + type: string + description: Cluster name. + example: c11-test page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination hitsPerPage: - $ref: '#/components/schemas/hitsPerPage' + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination required: - query responses: @@ -13544,13 +18582,26 @@ paths: type: object properties: userID: - $ref: '#/components/schemas/userID' + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: >- + Unique identifier of the user who makes the search + request. + example: user1 clusterName: - $ref: '#/components/schemas/clusterName' + type: string + description: Cluster name. + example: c11-test nbRecords: - $ref: '#/components/schemas/nbRecords' + type: integer + description: Number of records in the cluster. + example: 3 dataSize: - $ref: '#/components/schemas/dataSize' + type: integer + description: >- + Data size taken by all the users assigned to the + cluster. + example: 481 objectID: type: string description: userID of the requested user. Same as userID. @@ -13573,13 +18624,46 @@ paths: - objectID - _highlightResult nbHits: - $ref: '#/components/schemas/nbHits' + type: integer + description: Number of results (hits). + example: 20 page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination hitsPerPage: - $ref: '#/components/schemas/parameters_hitsPerPage' + type: integer + default: 20 + minimum: 1 + maximum: 1000 + description: > + Maximum number of hits per page. + + + Algolia uses `page` and `hitsPerPage` to control how + search results are displayed + ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). + + + - `hitsPerPage`: sets the number of search results + (_hits_) displayed per page. + + - `page`: specifies the page number of the search results + you want to retrieve. Page numbering starts at 0, so the + first page is `page=0`, the second is `page=1`, and so on. + + + For example, to display 10 results per page starting from + the third page, set `hitsPerPage` to 10 and `page` to 2. updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. required: - hits - nbHits @@ -13587,13 +18671,57 @@ paths: - hitsPerPage - updatedAt '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -13917,13 +19045,57 @@ paths: required: - pending '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -14156,15 +19328,73 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/sources' + description: Sources. + type: array + items: + description: Source. + required: + - source + properties: + source: + description: IP address range of the source. + type: string + example: 10.0.0.1/32 + description: + description: Source description. + type: string + example: Server subnet '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -14395,7 +19625,21 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/sources' + description: Sources. + type: array + items: + description: Source. + required: + - source + properties: + source: + description: IP address range of the source. + type: string + example: 10.0.0.1/32 + description: + description: Source description. + type: string + example: Server subnet responses: '200': description: OK @@ -14409,15 +19653,63 @@ paths: - updatedAt properties: updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -14698,23 +19990,94 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/source' + description: Source. + required: + - source + properties: + source: + description: IP address range of the source. + type: string + example: 10.0.0.1/32 + description: + description: Source description. + type: string + example: Server subnet responses: '200': - $ref: '#/components/responses/CreatedAt' + description: OK + content: + application/json: + schema: + title: createdAtResponse + description: Response and creation timestamp. + additionalProperties: false + type: object + required: + - createdAt + properties: + createdAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was created, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' - '404': - $ref: '#/components/responses/IndexNotFound' - x-codeSamples: - - lang: csharp - label: C# - source: > - // Initialize the client + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + '404': + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key + x-codeSamples: + - lang: csharp + label: C# + source: > + // Initialize the client var client = new SearchClient(new SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")); @@ -14992,15 +20355,63 @@ paths: - deletedAt properties: deletedAt: - $ref: '#/components/schemas/deletedAt' + type: string + example: '2023-06-27T14:42:38.831Z' + description: >- + Date and time when the object was deleted, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -15272,7 +20683,13 @@ paths: Type of log entries to retrieve. By default, all log entries are retrieved. schema: - $ref: '#/components/schemas/logType' + type: string + enum: + - all + - query + - build + - error + default: all responses: '200': description: OK @@ -15419,13 +20836,57 @@ paths: - sha1 - processing_time_ms '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -15667,13 +21128,59 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GetTaskResponse' + title: getTaskResponse + type: object + additionalProperties: false + properties: + status: + type: string + enum: + - published + - notPublished + description: >- + Task status, `published` if the task is completed, + `notPublished` otherwise. + required: + - status '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -15915,7 +21422,13 @@ paths: check the status. summary: Check task status parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME - name: taskID in: path description: Unique task identifier. @@ -15930,15 +21443,72 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GetTaskResponse' + title: getTaskResponse + type: object + additionalProperties: false + properties: + status: + type: string + enum: + - published + - notPublished + description: >- + Task status, `published` if the task is completed, + `notPublished` otherwise. + required: + - status '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -16223,7 +21793,13 @@ paths: This operation is subject to [indexing rate limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia). parameters: - - $ref: '#/components/parameters/IndexName' + - name: indexName + in: path + description: Name of the index on which to perform the operation. + required: true + schema: + type: string + example: ALGOLIA_INDEX_NAME requestBody: required: true content: @@ -16234,13 +21810,24 @@ paths: additionalProperties: false properties: operation: - $ref: '#/components/schemas/operationType' + type: string + enum: + - move + - copy + example: copy + description: Operation to perform on the index. destination: - $ref: '#/components/schemas/indexName' + type: string + example: products + description: Index name (case-sensitive). scope: type: array items: - $ref: '#/components/schemas/scopeType' + type: string + enum: + - settings + - synonyms + - rules description: > **Only for copying.** @@ -16255,15 +21842,88 @@ paths: - destination responses: '200': - $ref: '#/components/responses/UpdatedAt' + description: OK + content: + application/json: + schema: + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the + task's progress with the [`task` + operation](#tag/Indices/operation/getTask) and this + `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC 3339 + format. '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -16579,23 +22239,177 @@ paths: The request follows any index restrictions of the API key you use to make the request. parameters: - - $ref: '#/components/parameters/Page' - - $ref: '#/components/parameters/HitsPerPage' + - in: query + name: page + description: | + Requested page of the API response. + If `null`, the API response is not paginated. + required: false + schema: + oneOf: + - type: integer + minimum: 0 + - type: 'null' + default: null + - in: query + name: hitsPerPage + description: Number of hits per page. + required: false + schema: + type: integer + default: 100 responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/listIndicesResponse' + type: object + additionalProperties: false + properties: + items: + type: array + description: All indices in your Algolia application. + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: Index name. + example: movies + createdAt: + type: string + description: >- + Index creation date. An empty string means that the + index has no records. + example: '2022-09-19T16:36:44.471Z' + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: >- + Date and time when the object was updated, in RFC + 3339 format. + entries: + type: integer + description: Number of records contained in the index. + example: 100 + dataSize: + type: integer + description: Number of bytes of the index in minified format. + example: 48450 + fileSize: + type: integer + description: Number of bytes of the index binary file. + example: 112927 + lastBuildTimeS: + type: integer + description: Last build time. + example: 3 + numberOfPendingTasks: + type: integer + default: 0 + description: >- + Number of pending indexing operations. This value is + deprecated and should not be used. + pendingTask: + type: boolean + default: false + description: >- + A boolean which says whether the index has pending + tasks. This value is deprecated and should not be + used. + primary: + type: string + description: >- + Only present if the index is a replica. Contains the + name of the related primary index. + example: T02 + replicas: + type: array + items: + type: string + description: >- + Only present if the index is a primary index with + replicas. Contains the names of all linked replicas. + example: + - T02_push + - T2replica + virtual: + type: boolean + description: >- + Only present if the index is a [virtual + replica](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/how-to/sort-an-index-alphabetically/#virtual-replicas). + x-categories: + - Ranking + required: + - name + - createdAt + - updatedAt + - entries + - dataSize + - fileSize + - lastBuildTimeS + - pendingTask + - numberOfPendingTasks + nbPages: + type: integer + description: Number of pages. + example: 100 + required: + - items '400': - $ref: '#/components/responses/BadRequest' + description: Bad request or request arguments. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '402': - $ref: '#/components/responses/FeatureNotEnabled' + description: This feature is not enabled on your Algolia account. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '403': - $ref: '#/components/responses/MethodNotAllowed' + description: Method not allowed with this API key. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key '404': - $ref: '#/components/responses/IndexNotFound' + description: Index not found. + content: + application/json: + schema: + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key x-codeSamples: - lang: csharp label: C# @@ -16840,7 +22654,34 @@ components: deprecated: true oneOf: - type: string - - $ref: '#/components/schemas/builtInOperation' + - type: object + description: Update to perform on the attribute. + additionalProperties: false + properties: + _operation: + type: string + enum: + - Increment + - Decrement + - Add + - Remove + - AddUnique + - IncrementFrom + - IncrementSet + description: How to change the attribute. + value: + oneOf: + - type: string + description: >- + A string to append or remove for the `Add`, `Remove`, and + `AddUnique` operations. + - type: integer + description: >- + A number to add, remove, or append, depending on the + operation. + required: + - _operation + - value ErrorBase: description: Error. type: object @@ -16864,7 +22705,10 @@ components: - params properties: params: - $ref: '#/components/schemas/paramsAsString' + description: Search parameters as a URL-encoded query string. + example: hitsPerPage=2&getRankingInfo=1 + type: string + default: '' query: type: string description: Search query. @@ -16876,7 +22720,11 @@ components: additionalProperties: false properties: query: - $ref: '#/components/schemas/query' + type: string + description: Search query. + default: '' + x-categories: + - Search filters: type: string description: > @@ -17102,7 +22950,13 @@ components: - type: integer minimum: 1 description: Maximum search radius around a central location in meters. - - $ref: '#/components/schemas/aroundRadiusAll' + - title: all + type: string + description: >- + Return all records with a valid `_geoloc` attribute. Don't filter by + distance. + enum: + - all x-categories: - Geo-Search aroundPrecisionFromValue: @@ -17146,7 +23000,26 @@ components: distance, as are records between 100 and 199 meters. - - $ref: '#/components/schemas/aroundPrecisionFromValue' + - title: range objects + type: array + items: + title: range + type: object + description: >- + Range object with lower and upper values in meters to define + custom ranges. + properties: + from: + type: integer + description: >- + Lower boundary of a range in meters. The Geo ranking criterion + considers all records within the range to be equal. + example: 20 + value: + type: integer + description: >- + Upper boundary of a range in meters. The Geo ranking criterion + considers all records within the range to be equal. x-categories: - Geo-Search insideBoundingBoxArray: @@ -17188,7 +23061,40 @@ components: oneOf: - type: string - type: 'null' - - $ref: '#/components/schemas/insideBoundingBoxArray' + - type: array + items: + type: array + minItems: 4 + maxItems: 4 + items: + type: number + format: double + description: > + Coordinates for a rectangular area in which to search. + + + Each bounding box is defined by the two opposite points of its + diagonal, and expressed as latitude and longitude pair: + + `[p1 lat, p1 long, p2 lat, p2 long]`. + + Provide multiple bounding boxes as nested arrays. + + For more information, see [rectangular + area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). + example: + - + - 47.3165 + - 4.9665 + - 47.3424 + - 5.0201 + - + - 40.9234 + - 2.1185 + - 38.643 + - 1.9916 + x-categories: + - Geo-Search insidePolygon: type: array items: @@ -17345,7 +23251,53 @@ components: x-categories: - Search filters: - $ref: '#/components/schemas/filters' + type: string + description: > + Filter expression to only include items that match the filter + criteria in the response. + + + You can use these filter expressions: + + + - **Numeric filters.** ` `, where `` is one + of `<`, `<=`, `=`, `!=`, `>`, `>=`. + + - **Ranges.** `: TO ` where `` and + `` are the lower and upper limits of the range (inclusive). + + - **Facet filters.** `:` where `` is a facet + attribute (case-sensitive) and `` a facet value. + + - **Tag filters.** `_tags:` or just `` + (case-sensitive). + + - **Boolean filters.** `: true | false`. + + + You can combine filters with `AND`, `OR`, and `NOT` operators with + the following restrictions: + + + - You can only combine filters of the same type with `OR`. + **Not supported:** `facet:value OR num > 3`. + - You can't use `NOT` with combinations of filters. + **Not supported:** `NOT(facet:value OR facet:value)` + - You can't combine conjunctions (`AND`) with `OR`. + **Not supported:** `facet:value OR (facet:value AND facet:value)` + + Use quotes around your filters, if the facet attribute name or facet + value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. + + If a facet attribute is an array, the filter matches if it matches + at least one element of the array. + + + For more information, see + [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/). + example: (category:Book OR category:Ebook) AND _tags:published + x-categories: + - Filtering facetFilters: $ref: '#/components/schemas/facetFilters' optionalFilters: @@ -17419,7 +23371,12 @@ components: x-categories: - Faceting page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination offset: type: integer description: Position of the first hit to retrieve. @@ -17433,13 +23390,100 @@ components: x-categories: - Pagination aroundLatLng: - $ref: '#/components/schemas/aroundLatLng' + type: string + description: > + Coordinates for the center of a circle, expressed as a + comma-separated string of latitude and longitude. + + + Only records included within a circle around this central location + are included in the results. + + The radius of the circle is determined by the `aroundRadius` and + `minimumAroundRadius` settings. + + This parameter is ignored if you also specify `insidePolygon` or + `insideBoundingBox`. + example: 40.71,-74.01 + default: '' + x-categories: + - Geo-Search aroundLatLngViaIP: - $ref: '#/components/schemas/aroundLatLngViaIP' + type: boolean + description: Whether to obtain the coordinates from the request's IP address. + default: false + x-categories: + - Geo-Search aroundRadius: - $ref: '#/components/schemas/aroundRadius' + description: > + Maximum radius for a search around a central location. + + + This parameter works in combination with the `aroundLatLng` and + `aroundLatLngViaIP` parameters. + + By default, the search radius is determined automatically from the + density of hits around the central location. + + The search radius is small if there are many hits close to the + central coordinates. + oneOf: + - type: integer + minimum: 1 + description: Maximum search radius around a central location in meters. + - title: all + type: string + description: >- + Return all records with a valid `_geoloc` attribute. Don't + filter by distance. + enum: + - all + x-categories: + - Geo-Search aroundPrecision: - $ref: '#/components/schemas/aroundPrecision' + description: > + Precision of a coordinate-based search in meters to group results + with similar distances. + + + The Geo ranking criterion considers all matches within the same + range of distances to be equal. + oneOf: + - type: integer + default: 10 + description: > + Distance in meters to group results by similar distances. + + + For example, if you set `aroundPrecision` to 100, records wihin + 100 meters to the central coordinate are considered to have the + same distance, + + as are records between 100 and 199 meters. + - title: range objects + type: array + items: + title: range + type: object + description: >- + Range object with lower and upper values in meters to define + custom ranges. + properties: + from: + type: integer + description: >- + Lower boundary of a range in meters. The Geo ranking + criterion considers all records within the range to be + equal. + example: 20 + value: + type: integer + description: >- + Upper boundary of a range in meters. The Geo ranking + criterion considers all records within the range to be + equal. + x-categories: + - Geo-Search minimumAroundRadius: type: integer description: >- @@ -17449,13 +23493,156 @@ components: x-categories: - Geo-Search insideBoundingBox: - $ref: '#/components/schemas/insideBoundingBox' + oneOf: + - type: string + - type: 'null' + - type: array + items: + type: array + minItems: 4 + maxItems: 4 + items: + type: number + format: double + description: > + Coordinates for a rectangular area in which to search. + + + Each bounding box is defined by the two opposite points of its + diagonal, and expressed as latitude and longitude pair: + + `[p1 lat, p1 long, p2 lat, p2 long]`. + + Provide multiple bounding boxes as nested arrays. + + For more information, see [rectangular + area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). + example: + - + - 47.3165 + - 4.9665 + - 47.3424 + - 5.0201 + - + - 40.9234 + - 2.1185 + - 38.643 + - 1.9916 + x-categories: + - Geo-Search insidePolygon: - $ref: '#/components/schemas/insidePolygon' + type: array + items: + type: array + minItems: 6 + maxItems: 20000 + items: + type: number + format: double + description: > + Coordinates of a polygon in which to search. + + + Polygons are defined by 3 to 10,000 points. Each point is + represented by its latitude and longitude. + + Provide multiple polygons as nested arrays. + + For more information, see [filtering inside + polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). + + This parameter is ignored if you also specify `insideBoundingBox`. + example: + - + - 47.3165 + - 4.9665 + - 47.3424 + - 5.0201 + - 47.32 + - 4.9 + - + - 40.9234 + - 2.1185 + - 38.643 + - 1.9916 + - 39.2587 + - 2.0104 + x-categories: + - Geo-Search naturalLanguages: type: array items: - $ref: '#/components/schemas/supportedLanguage' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh description: > ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword @@ -17505,7 +23692,18 @@ components: x-categories: - Personalization userToken: - $ref: '#/components/schemas/userToken' + type: string + description: > + Unique pseudonymous or anonymous user identifier. + + + This helps with analytics and click and conversion events. + + For more information, see [user + token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/). + example: test-user-123 + x-categories: + - Personalization getRankingInfo: type: boolean description: >- @@ -17564,7 +23762,15 @@ components: - Advanced baseSearchParams: allOf: - - $ref: '#/components/schemas/searchParamsQuery' + - type: object + additionalProperties: false + properties: + query: + type: string + description: Search query. + default: '' + x-categories: + - Search - $ref: '#/components/schemas/baseSearchParamsWithoutQuery' hitsPerPage: type: integer @@ -17602,7 +23808,17 @@ components: description: >- Whether typo tolerance is active. If true, matches with typos are included in the search results and rank after exact matches. - - $ref: '#/components/schemas/typoToleranceEnum' + - type: string + title: typo tolerance + description: | + - `min`. Return matches with the lowest number of typos. + For example, if you have matches without typos, only include those. + But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). + - `strict`. Return matches with the two lowest numbers of typos. + With `strict`, the Typo ranking criterion is applied first in the `ranking` setting. + enum: + - min + - strict x-categories: - Typos booleanString: @@ -17623,8 +23839,81 @@ components: ISO code for languages for which this feature should be active. This overrides languages you set with `queryLanguages`. items: - $ref: '#/components/schemas/supportedLanguage' - - $ref: '#/components/schemas/booleanString' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + - type: string + enum: + - 'true' + - 'false' - type: boolean description: > If true, `ignorePlurals` is active for all languages included in @@ -17657,7 +23946,77 @@ components: ISO code for languages for which stop words should be removed. This overrides languages you set in `queryLanguges`. items: - $ref: '#/components/schemas/supportedLanguage' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh - type: boolean default: false description: > @@ -17809,7 +24168,52 @@ components: oneOf: - type: string - type: 'null' - - $ref: '#/components/schemas/optionalWordsArray' + - type: array + items: + type: string + example: + - blue + - iphone case + description: > + Words that should be considered optional when found in the query. + + + By default, records must match all words in the search query to be + included in the search results. + + Adding optional words can help to increase the number of search + results by running an additional search query that doesn't include + the optional words. + + For example, if the search query is "action video" and "video" is an + optional word, + + the search engine runs two queries. One for "action video" and one + for "action". + + Records that match all words are ranked higher. + + + For a search query with 4 or more words **and** all its words are + optional, + + the number of matched words required for a record to be included in + the search results increases for every 1,000 records: + + + - If `optionalWords` has less than 10 words, the required number of + matched words increases by 1: + results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. + - If `optionalWords` has 10 or more words, the number of required + matched words increases by the number of optional words divided by 5 + (rounded down). + For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. + + For more information, see [Optional + words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words). + default: [] + x-categories: + - Query strategy exactOnSingleWordQuery: type: string enum: @@ -17909,7 +24313,15 @@ components: additionalProperties: false properties: order: - $ref: '#/components/schemas/order' + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet values at + the top of the list. + type: array + items: + type: string sortRemainingBy: description: > Order of facet values that aren't explicitly positioned with the `order` @@ -17940,26 +24352,146 @@ components: additionalProperties: false properties: order: - $ref: '#/components/schemas/order' + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet values at + the top of the list. + type: array + items: + type: string sortRemainingBy: - $ref: '#/components/schemas/sortRemainingBy' + description: > + Order of facet values that aren't explicitly positioned with the + `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden hide: - $ref: '#/components/schemas/hide' + description: Hide facet values. + type: array + items: + type: string values: description: Order of facet values. One object for each facet. type: object additionalProperties: x-additionalPropertiesName: facet - $ref: '#/components/schemas/value' + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet values + at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly positioned with the + `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string facetOrdering: description: Order of facet names and facet values in your UI. type: object additionalProperties: false properties: facets: - $ref: '#/components/schemas/facets' + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet + values at the top of the list. + type: array + items: + type: string values: - $ref: '#/components/schemas/values' + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet + values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly positioned with + the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string redirectURL: description: The redirect rule container. type: object @@ -17982,7 +24514,12 @@ components: urls: type: array items: - $ref: '#/components/schemas/bannerImageUrl' + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string title: type: string bannerLink: @@ -17998,21 +24535,95 @@ components: additionalProperties: false properties: image: - $ref: '#/components/schemas/bannerImage' + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string link: - $ref: '#/components/schemas/bannerLink' + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string banners: description: banners defined in the merchandising studio for the given search. type: array items: - $ref: '#/components/schemas/banner' - widgets: - description: widgets returned from any rules that are applied to the current search. - type: object - additionalProperties: false - properties: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: widgets returned from any rules that are applied to the current search. + type: object + additionalProperties: false + properties: banners: - $ref: '#/components/schemas/banners' + description: banners defined in the merchandising studio for the given search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string renderingContent: description: > Extra data that can be used in the search UI. @@ -18026,11 +24637,115 @@ components: additionalProperties: false properties: facetOrdering: - $ref: '#/components/schemas/facetOrdering' + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet + values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or facet + values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly positioned + with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string redirect: - $ref: '#/components/schemas/redirectURL' + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string widgets: - $ref: '#/components/schemas/widgets' + description: >- + widgets returned from any rules that are applied to the current + search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the given + search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string x-categories: - Advanced reRankingApplyFilter: @@ -18276,7 +24991,13 @@ components: x-categories: - Highlighting and Snippeting hitsPerPage: - $ref: '#/components/schemas/hitsPerPage' + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination minWordSizefor1Typo: type: integer description: >- @@ -18296,7 +25017,34 @@ components: x-categories: - Typos typoTolerance: - $ref: '#/components/schemas/typoTolerance' + description: > + Whether [typo + tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/) + is enabled and how it is applied. + + + If typo tolerance is true, `min`, or `strict`, [word splitting and + concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) + are also active. + oneOf: + - type: boolean + default: true + description: >- + Whether typo tolerance is active. If true, matches with typos + are included in the search results and rank after exact matches. + - type: string + title: typo tolerance + description: | + - `min`. Return matches with the lowest number of typos. + For example, if you have matches without typos, only include those. + But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). + - `strict`. Return matches with the two lowest numbers of typos. + With `strict`, the Typo ranking criterion is applied first in the `ranking` setting. + enum: + - min + - strict + x-categories: + - Typos allowTyposOnNumericTokens: type: boolean description: | @@ -18336,9 +25084,211 @@ components: x-categories: - Typos ignorePlurals: - $ref: '#/components/schemas/ignorePlurals' + description: > + Treat singular, plurals, and other forms of declensions as + equivalent. + + You should only use this feature for the languages used in your + index. + example: + - ca + - es + oneOf: + - type: array + description: | + ISO code for languages for which this feature should be active. + This overrides languages you set with `queryLanguages`. + items: + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + - type: string + enum: + - 'true' + - 'false' + - type: boolean + description: > + If true, `ignorePlurals` is active for all languages included in + `queryLanguages`, or for all supported languages, if + `queryLanguges` is empty. + + If false, singulars, plurals, and other declensions won't be + considered equivalent. + default: false + x-categories: + - Languages removeStopWords: - $ref: '#/components/schemas/removeStopWords' + description: > + Removes stop words from the search query. + + + Stop words are common words like articles, conjunctions, + prepositions, or pronouns that have little or no meaning on their + own. + + In English, "the", "a", or "and" are stop words. + + + You should only use this feature for the languages used in your + index. + example: + - ca + - es + oneOf: + - type: array + description: >- + ISO code for languages for which stop words should be removed. + This overrides languages you set in `queryLanguges`. + items: + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + - type: boolean + default: false + description: > + If true, stop words are removed for all languages you included + in `queryLanguages`, or for all supported languages, if + `queryLanguages` is empty. + + If false, stop words are not removed. + x-categories: + - Languages keepDiacriticsOnCharacters: type: string example: øé @@ -18354,7 +25304,77 @@ components: queryLanguages: type: array items: - $ref: '#/components/schemas/supportedLanguage' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh example: - es description: > @@ -18423,13 +25443,95 @@ components: x-categories: - Personalization queryType: - $ref: '#/components/schemas/queryType' + type: string + enum: + - prefixLast + - prefixAll + - prefixNone + description: > + Determines if and how query words are interpreted as prefixes. + + + By default, only the last query word is treated as a prefix + (`prefixLast`). + + To turn off prefix search, use `prefixNone`. + + Avoid `prefixAll`, which treats all query words as prefixes. + + This might lead to counterintuitive results and makes your search + slower. + + + For more information, see [Prefix + searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/). + default: prefixLast + x-categories: + - Query strategy removeWordsIfNoResults: - $ref: '#/components/schemas/removeWordsIfNoResults' + type: string + enum: + - none + - lastWords + - firstWords + - allOptional + example: firstWords + description: > + Strategy for removing words from the query when it doesn't return + any results. + + This helps to avoid returning empty search results. + + + - `none`. + No words are removed when a query doesn't return results. + + - `lastWords`. + Treat the last (then second to last, then third to last) word as optional, + until there are results or at most 5 words have been removed. + + - `firstWords`. + Treat the first (then second, then third) word as optional, + until there are results or at most 5 words have been removed. + + - `allOptional`. + Treat all words as optional. + + For more information, see [Remove words to improve + results](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/in-depth/why-use-remove-words-if-no-results/). + default: none + x-categories: + - Query strategy mode: - $ref: '#/components/schemas/mode' + type: string + enum: + - neuralSearch + - keywordSearch + description: > + Search mode the index will use to query for results. + + + This setting only applies to indices, for which Algolia enabled + NeuralSearch for you. + default: keywordSearch + x-categories: + - Query strategy semanticSearch: - $ref: '#/components/schemas/semanticSearch' + type: object + description: | + Settings for the semantic search part of NeuralSearch. + Only used when `mode` is `neuralSearch`. + properties: + eventSources: + oneOf: + - type: array + description: | + Indices from which to collect click and conversion events. + + If null, the current index and all its replicas are used. + items: + type: string + - type: 'null' advancedSyntax: type: boolean description: > @@ -18443,7 +25545,56 @@ components: x-categories: - Query strategy optionalWords: - $ref: '#/components/schemas/optionalWords' + oneOf: + - type: string + - type: 'null' + - type: array + items: + type: string + example: + - blue + - iphone case + description: > + Words that should be considered optional when found in the + query. + + + By default, records must match all words in the search query to + be included in the search results. + + Adding optional words can help to increase the number of search + results by running an additional search query that doesn't + include the optional words. + + For example, if the search query is "action video" and "video" + is an optional word, + + the search engine runs two queries. One for "action video" and + one for "action". + + Records that match all words are ranked higher. + + + For a search query with 4 or more words **and** all its words + are optional, + + the number of matched words required for a record to be included + in the search results increases for every 1,000 records: + + + - If `optionalWords` has less than 10 words, the required number + of matched words increases by 1: + results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. + - If `optionalWords` has 10 or more words, the number of + required matched words increases by the number of optional words + divided by 5 (rounded down). + For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. + + For more information, see [Optional + words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words). + default: [] + x-categories: + - Query strategy disableExactOnAttributes: type: array items: @@ -18472,11 +25623,42 @@ components: x-categories: - Query strategy exactOnSingleWordQuery: - $ref: '#/components/schemas/exactOnSingleWordQuery' + type: string + enum: + - attribute + - none + - word + description: > + Determines how the [Exact ranking + criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes) + is computed when the search query has only one word. + + + - `attribute`. + The Exact ranking criterion is 1 if the query word and attribute value are the same. + For example, a search for "road" will match the value "road", but not "road trip". + + - `none`. + The Exact ranking criterion is ignored on single-word searches. + + - `word`. + The Exact ranking criterion is 1 if the query word is found in the attribute value. + The query word must have at least 3 characters and must not be a stop word. + Only exact matches will be highlighted, + partial and prefix matches won't. + default: attribute + x-categories: + - Query strategy alternativesAsExact: type: array items: - $ref: '#/components/schemas/alternativesAsExact' + type: string + enum: + - ignorePlurals + - singleWordSynonym + - multiWordsSynonym + x-categories: + - Query strategy description: > Determine which plurals and synonyms should be considered an exact matches. @@ -18512,7 +25694,12 @@ components: advancedSyntaxFeatures: type: array items: - $ref: '#/components/schemas/advancedSyntaxFeatures' + type: string + enum: + - exactPhrase + - excludeWords + x-categories: + - Query strategy description: | Advanced search syntax features you want to support. @@ -18531,7 +25718,48 @@ components: x-categories: - Query strategy distinct: - $ref: '#/components/schemas/distinct' + description: > + Determines how many records of a group are included in the search + results. + + + Records with the same value for the `attributeForDistinct` attribute + are considered a group. + + The `distinct` setting controls how many members of the group are + returned. + + This is useful for [deduplication and + grouping](https://www.algolia.com/doc/guides/managing-results/refine-results/grouping/#introducing-algolias-distinct-feature). + + + The `distinct` setting is ignored if `attributeForDistinct` is not + set. + example: 1 + oneOf: + - type: boolean + description: >- + Whether deduplication is turned on. If true, only one member of + a group is shown in the search results. + - type: integer + description: > + Number of members of a group of records to include in the search + results. + + + - Don't use `distinct > 1` for records that might be [promoted + by + rules](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/promote-hits/). + The number of hits won't be correct and faceting won't work as expected. + - With `distinct > 1`, the `hitsPerPage` parameter controls the + number of returned groups. + For example, with `hitsPerPage: 10` and `distinct: 2`, up to 20 records are returned. + Likewise, the `nbHits` response attribute contains the number of returned groups. + minimum: 0 + maximum: 4 + default: 0 + x-categories: + - Advanced replaceSynonymsInHighlight: type: boolean description: > @@ -18652,55 +25880,188 @@ components: x-categories: - Advanced renderingContent: - $ref: '#/components/schemas/renderingContent' - enableReRanking: - type: boolean description: > - Whether this search will use [Dynamic - Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/). + Extra data that can be used in the search UI. - This setting only has an effect if you activated Dynamic Re-Ranking - for this index in the Algolia dashboard. - default: true - x-categories: - - Filtering - reRankingApplyFilter: - oneOf: - - $ref: '#/components/schemas/reRankingApplyFilter' - - type: 'null' - searchParamsObject: - title: Search parameters as object - description: >- - Each parameter value, including the `query` must not be larger than 512 - bytes. - allOf: - - $ref: '#/components/schemas/baseSearchParams' - - $ref: '#/components/schemas/indexSettingsAsSearchParams' - searchParams: - oneOf: - - $ref: '#/components/schemas/searchParamsString' - - $ref: '#/components/schemas/searchParamsObject' - processingTimeMS: - type: integer - description: Time the server took to process the request, in milliseconds. - example: 20 - RedirectRuleIndexMetadata: - type: object - properties: - source: - type: string - description: Source index for the redirect rule. - dest: - type: string - description: Destination index for the redirect rule. - reason: - type: string - description: Reason for the redirect rule. - succeed: - type: boolean - description: Redirect rule status. - data: + You can use this to control aspects of your search UI, such as the + order of facet names and values + + without changing your frontend code. + type: object + additionalProperties: false + properties: + facetOrdering: + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly + positioned with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string + redirect: + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: >- + widgets returned from any rules that are applied to the current + search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the given + search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + x-categories: + - Advanced + enableReRanking: + type: boolean + description: > + Whether this search will use [Dynamic + Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/). + + + This setting only has an effect if you activated Dynamic Re-Ranking + for this index in the Algolia dashboard. + default: true + x-categories: + - Filtering + reRankingApplyFilter: + oneOf: + - $ref: '#/components/schemas/reRankingApplyFilter' + - type: 'null' + searchParamsObject: + title: Search parameters as object + description: >- + Each parameter value, including the `query` must not be larger than 512 + bytes. + allOf: + - $ref: '#/components/schemas/baseSearchParams' + - $ref: '#/components/schemas/indexSettingsAsSearchParams' + searchParams: + oneOf: + - type: object + title: Search parameters as query string. + description: Search parameters as query string. + additionalProperties: false + x-discriminator-fields: + - params + properties: + params: + description: Search parameters as a URL-encoded query string. + example: hitsPerPage=2&getRankingInfo=1 + type: string + default: '' + - $ref: '#/components/schemas/searchParamsObject' + processingTimeMS: + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 + RedirectRuleIndexMetadata: + type: object + properties: + source: + type: string + description: Source index for the redirect rule. + dest: + type: string + description: Destination index for the redirect rule. + reason: + type: string + description: Reason for the redirect rule. + succeed: + type: boolean + description: Redirect rule status. + data: title: redirectRuleIndexData type: object description: Redirect rule data. @@ -18882,7 +26243,9 @@ components: query string that will be searched. example: george clo processingTimeMS: - $ref: '#/components/schemas/processingTimeMS' + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 processingTimingsMS: type: object description: >- @@ -18905,9 +26268,159 @@ components: index: type: array items: - $ref: '#/components/schemas/RedirectRuleIndexMetadata' + type: object + properties: + source: + type: string + description: Source index for the redirect rule. + dest: + type: string + description: Destination index for the redirect rule. + reason: + type: string + description: Reason for the redirect rule. + succeed: + type: boolean + description: Redirect rule status. + data: + title: redirectRuleIndexData + type: object + description: Redirect rule data. + required: + - ruleObjectID + properties: + ruleObjectID: + type: string + required: + - data + - succeed + - reason + - dest + - source renderingContent: - $ref: '#/components/schemas/renderingContent' + description: > + Extra data that can be used in the search UI. + + + You can use this to control aspects of your search UI, such as the + order of facet names and values + + without changing your frontend code. + type: object + additionalProperties: false + properties: + facetOrdering: + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly + positioned with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string + redirect: + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: >- + widgets returned from any rules that are applied to the current + search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the given + search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + x-categories: + - Advanced serverTimeMS: type: integer description: Time the server took to process the request, in milliseconds. @@ -18917,7 +26430,17 @@ components: description: Host name of the server that processed the request. example: c2-uk-3.algolia.net userData: - $ref: '#/components/schemas/userData' + type: object + example: + settingID: f2a7b51e3503acc6a39b3784ffb84300 + pluginVersion: 1.6.0 + description: | + An object with custom data. + + You can store up to 32kB as custom data. + default: {} + x-categories: + - Advanced queryID: type: string description: >- @@ -18940,13 +26463,28 @@ components: additionalProperties: false properties: page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination nbHits: - $ref: '#/components/schemas/nbHits' + type: integer + description: Number of results (hits). + example: 20 nbPages: - $ref: '#/components/schemas/nbPages' + type: integer + description: Number of pages of results. + example: 1 hitsPerPage: - $ref: '#/components/schemas/hitsPerPage' + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination objectID: type: string description: Unique record identifier. @@ -18968,9 +26506,16 @@ components: additionalProperties: false properties: value: - $ref: '#/components/schemas/highlightedValue' + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney matchLevel: - $ref: '#/components/schemas/matchLevel' + type: string + description: Whether the whole query string matches or only a part. + enum: + - none + - partial + - full matchedWords: type: array description: List of matched words from the search query. @@ -18997,7 +26542,38 @@ components: $ref: '#/components/schemas/highlightResult' highlightResult: oneOf: - - $ref: '#/components/schemas/highlightResultOption' + - type: object + description: Surround words that match the query with HTML tags for highlighting. + additionalProperties: false + properties: + value: + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney + matchLevel: + type: string + description: Whether the whole query string matches or only a part. + enum: + - none + - partial + - full + matchedWords: + type: array + description: List of matched words from the search query. + example: + - action + items: + type: string + fullyHighlighted: + type: boolean + description: Whether the entire attribute value is highlighted. + required: + - value + - matchLevel + - matchedWords + x-discriminator-fields: + - matchLevel + - matchedWords - $ref: '#/components/schemas/highlightResultMap' - $ref: '#/components/schemas/highlightResultArray' highlightResultArray: @@ -19011,9 +26587,16 @@ components: additionalProperties: false properties: value: - $ref: '#/components/schemas/highlightedValue' + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney matchLevel: - $ref: '#/components/schemas/matchLevel' + type: string + description: Whether the whole query string matches or only a part. + enum: + - none + - partial + - full required: - value - matchLevel @@ -19028,7 +26611,26 @@ components: $ref: '#/components/schemas/snippetResult' snippetResult: oneOf: - - $ref: '#/components/schemas/snippetResultOption' + - type: object + description: Snippets that show the context around a matching search query. + additionalProperties: false + properties: + value: + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney + matchLevel: + type: string + description: Whether the whole query string matches or only a part. + enum: + - none + - partial + - full + required: + - value + - matchLevel + x-discriminator-fields: + - matchLevel - $ref: '#/components/schemas/snippetResultMap' - $ref: '#/components/schemas/snippetResultArray' snippetResultArray: @@ -19091,9 +26693,33 @@ components: minimum: 1 description: Precision used when computing the geo distance, in meters. matchedGeoLocation: - $ref: '#/components/schemas/matchedGeoLocation' + type: object + properties: + lat: + type: number + format: double + description: Latitude of the matched location. + lng: + type: number + format: double + description: Longitude of the matched location. + distance: + type: integer + description: >- + Distance between the matched location and the search location + (in meters). personalization: - $ref: '#/components/schemas/personalization' + type: object + properties: + filtersScore: + type: integer + description: The score of the filters. + rankingScore: + type: integer + description: The score of the ranking. + score: + type: integer + description: The score of the event. nbExactWords: type: integer minimum: 0 @@ -19145,15 +26771,104 @@ components: - objectID properties: objectID: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 _highlightResult: $ref: '#/components/schemas/highlightResultMap' _snippetResult: $ref: '#/components/schemas/snippetResultMap' _rankingInfo: - $ref: '#/components/schemas/rankingInfo' + type: object + description: Object with detailed information about the record's ranking. + additionalProperties: false + properties: + filters: + type: integer + minimum: 0 + description: Whether a filter matched the query. + firstMatchedWord: + type: integer + minimum: 0 + description: >- + Position of the first matched word in the best matching + attribute of the record. + geoDistance: + type: integer + minimum: 0 + description: >- + Distance between the geo location in the search query and the + best matching geo location in the record, divided by the geo + precision (in meters). + geoPrecision: + type: integer + minimum: 1 + description: Precision used when computing the geo distance, in meters. + matchedGeoLocation: + type: object + properties: + lat: + type: number + format: double + description: Latitude of the matched location. + lng: + type: number + format: double + description: Longitude of the matched location. + distance: + type: integer + description: >- + Distance between the matched location and the search + location (in meters). + personalization: + type: object + properties: + filtersScore: + type: integer + description: The score of the filters. + rankingScore: + type: integer + description: The score of the ranking. + score: + type: integer + description: The score of the event. + nbExactWords: + type: integer + minimum: 0 + description: Number of exactly matched words. + nbTypos: + type: integer + minimum: 0 + description: Number of typos encountered when matching the record. + promoted: + type: boolean + description: Whether the record was promoted by a rule. + proximityDistance: + type: integer + minimum: 0 + description: >- + Number of words between multiple matches in the query plus 1. + For single word queries, `proximityDistance` is 0. + userScore: + type: integer + description: >- + Overall ranking of the record, expressed as a single integer. + This attribute is internal. + words: + type: integer + minimum: 1 + description: Number of matched words. + promotedByReRanking: + type: boolean + description: Whether the record is re-ranked. + required: + - nbTypos + - firstMatchedWord + - geoDistance + - nbExactWords + - userScore _distinctSeqID: - $ref: '#/components/schemas/distinctSeqID' + type: integer searchHits: type: object additionalProperties: true @@ -19169,7 +26884,11 @@ components: items: $ref: '#/components/schemas/hit' query: - $ref: '#/components/schemas/query' + type: string + description: Search query. + default: '' + x-categories: + - Search params: type: string description: URL-encoded string of all search parameters. @@ -19181,37 +26900,458 @@ components: searchResponse: additionalProperties: true allOf: - - $ref: '#/components/schemas/baseSearchResponse' - - $ref: '#/components/schemas/SearchPagination' - - $ref: '#/components/schemas/searchHits' - indexName: - type: string - example: products - description: Index name (case-sensitive). - searchTypeDefault: - type: string - enum: - - default - default: default - description: > - - `default`: perform a search query - - - `facet` [searches for facet - values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + - type: object + additionalProperties: true + required: + - processingTimeMS + properties: + abTestID: + type: integer + description: >- + A/B test ID. This is only included in the response for indices + that are part of an A/B test. + abTestVariantID: + type: integer + minimum: 1 + description: >- + Variant ID. This is only included in the response for indices + that are part of an A/B test. + aroundLatLng: + type: string + description: Computed geographical location. + example: 40.71,-74.01 + pattern: ^(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)$ + automaticRadius: + type: string + description: Distance from a central coordinate provided by `aroundLatLng`. + exhaustive: + title: exhaustive + type: object + description: >- + Whether certain properties of the search response are calculated + exhaustive (exact) or approximated. + properties: + facetsCount: + type: boolean + title: facetsCount + description: >- + Whether the facet count is exhaustive (`true`) or + approximate (`false`). See the [related + discussion](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). + facetValues: + type: boolean + title: facetValues + description: The value is `false` if not all facet values are retrieved. + nbHits: + type: boolean + title: nbHits + description: >- + Whether the `nbHits` is exhaustive (`true`) or approximate + (`false`). When the query takes more than 50ms to be + processed, the engine makes an approximation. This can + happen when using complex filters on millions of records, + when typo-tolerance was not exhaustive, or when enough hits + have been retrieved (for example, after the engine finds + 10,000 exact matches). `nbHits` is reported as + non-exhaustive whenever an approximation is made, even if + the approximation didn’t, in the end, impact the + exhaustivity of the query. + rulesMatch: + type: boolean + title: rulesMatch + description: >- + Rules matching exhaustivity. The value is `false` if rules + were enable for this query, and could not be fully processed + due a timeout. This is generally caused by the number of + alternatives (such as typos) which is too large. + typo: + type: boolean + title: typo + description: >- + Whether the typo search was exhaustive (`true`) or + approximate (`false`). An approximation is done when the + typo search query part takes more than 10% of the query + budget (ie. 5ms by default) to be processed (this can happen + when a lot of typo alternatives exist for the query). This + field will not be included when typo-tolerance is entirely + disabled. + appliedRules: + description: Rules applied to the query. + title: appliedRules + type: array + items: + type: object + exhaustiveFacetsCount: + type: boolean + description: >- + See the `facetsCount` field of the `exhaustive` object in the + response. + deprecated: true + exhaustiveNbHits: + type: boolean + description: >- + See the `nbHits` field of the `exhaustive` object in the + response. + deprecated: true + exhaustiveTypo: + type: boolean + description: See the `typo` field of the `exhaustive` object in the response. + deprecated: true + facets: + title: facets + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: + x-additionalPropertiesName: facet count + type: integer + description: Facet counts. + example: + category: + food: 1 + tech: 42 + facets_stats: + type: object + description: Statistics for numerical facets. + additionalProperties: + title: facetStats + type: object + properties: + min: + type: number + format: double + description: Minimum value in the results. + max: + type: number + format: double + description: Maximum value in the results. + avg: + type: number + format: double + description: Average facet value in the results. + sum: + type: number + format: double + description: Sum of all values in the results. + index: + type: string + example: indexName + description: Index name used for the query. + indexUsed: + type: string + description: >- + Index name used for the query. During A/B testing, the targeted + index isn't always the index used by the query. + example: indexNameAlt + message: + type: string + description: Warnings about the query. + nbSortedHits: + type: integer + description: >- + Number of hits selected and sorted by the relevant sort + algorithm. + example: 20 + parsedQuery: + type: string + description: >- + Post-[normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/#what-does-normalization-mean) + query string that will be searched. + example: george clo + processingTimeMS: + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 + processingTimingsMS: + type: object + description: >- + Experimental. List of processing steps and their times, in + milliseconds. You can use this list to investigate performance + issues. + queryAfterRemoval: + type: string + description: >- + Markup text indicating which parts of the original query have + been removed to retrieve a non-empty result set. + redirect: + title: redirect + type: object + description: > + [Redirect results to a + URL](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects/), + this this parameter is for internal use only. + properties: + index: + type: array + items: + type: object + properties: + source: + type: string + description: Source index for the redirect rule. + dest: + type: string + description: Destination index for the redirect rule. + reason: + type: string + description: Reason for the redirect rule. + succeed: + type: boolean + description: Redirect rule status. + data: + title: redirectRuleIndexData + type: object + description: Redirect rule data. + required: + - ruleObjectID + properties: + ruleObjectID: + type: string + required: + - data + - succeed + - reason + - dest + - source + renderingContent: + description: > + Extra data that can be used in the search UI. + + + You can use this to control aspects of your search UI, such as + the order of facet names and values + + without changing your frontend code. + type: object + additionalProperties: false + properties: + facetOrdering: + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets + or facet values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly + positioned with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string + redirect: + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: >- + widgets returned from any rules that are applied to the + current search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the + given search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + x-categories: + - Advanced + serverTimeMS: + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 + serverUsed: + type: string + description: Host name of the server that processed the request. + example: c2-uk-3.algolia.net + userData: + type: object + example: + settingID: f2a7b51e3503acc6a39b3784ffb84300 + pluginVersion: 1.6.0 + description: | + An object with custom data. + + You can store up to 32kB as custom data. + default: {} + x-categories: + - Advanced + queryID: + type: string + description: >- + Unique identifier for the query. This is used for [click + analytics](https://www.algolia.com/doc/guides/analytics/click-analytics/). + example: a00dbc80a8d13c4565a442e7e2dca80a + _automaticInsights: + type: boolean + description: >- + Whether automatic events collection is enabled for the + application. + - type: object + additionalProperties: false + properties: + page: + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination + nbHits: + type: integer + description: Number of results (hits). + example: 20 + nbPages: + type: integer + description: Number of pages of results. + example: 1 + hitsPerPage: + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination + - $ref: '#/components/schemas/searchHits' + indexName: + type: string + example: products + description: Index name (case-sensitive). + searchTypeDefault: + type: string + enum: + - default + default: default + description: > + - `default`: perform a search query + + - `facet` [searches for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). searchForHitsOptions: x-is-SearchForHitsOptions: true type: object properties: indexName: - $ref: '#/components/schemas/indexName' + type: string + example: products + description: Index name (case-sensitive). type: - $ref: '#/components/schemas/searchTypeDefault' + type: string + enum: + - default + default: default + description: > + - `default`: perform a search query + + - `facet` [searches for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). required: - indexName SearchForHits: allOf: - $ref: '#/components/schemas/searchParams' - - $ref: '#/components/schemas/searchForHitsOptions' + - x-is-SearchForHitsOptions: true + type: object + properties: + indexName: + type: string + example: products + description: Index name (case-sensitive). + type: + type: string + enum: + - default + default: default + description: > + - `default`: perform a search query + + - `facet` [searches for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + required: + - indexName facetQuery: type: string description: Text to search inside the facet's values. @@ -19243,13 +27383,33 @@ components: type: string description: Facet name. indexName: - $ref: '#/components/schemas/indexName' + type: string + example: products + description: Index name (case-sensitive). facetQuery: - $ref: '#/components/schemas/facetQuery' + type: string + description: Text to search inside the facet's values. + example: george + default: '' maxFacetHits: - $ref: '#/components/schemas/maxFacetHits' + type: integer + description: >- + Maximum number of facet values to return when [searching for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + maximum: 100 + default: 10 + x-categories: + - Advanced type: - $ref: '#/components/schemas/searchTypeFacet' + type: string + enum: + - facet + default: facet + description: > + - `default`: perform a search query + + - `facet` [searches for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). required: - indexName - type @@ -19257,7 +27417,44 @@ components: SearchForFacets: allOf: - $ref: '#/components/schemas/searchParams' - - $ref: '#/components/schemas/searchForFacetsOptions' + - type: object + properties: + facet: + type: string + description: Facet name. + indexName: + type: string + example: products + description: Index name (case-sensitive). + facetQuery: + type: string + description: Text to search inside the facet's values. + example: george + default: '' + maxFacetHits: + type: integer + description: >- + Maximum number of facet values to return when [searching for + facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + maximum: 100 + default: 10 + x-categories: + - Advanced + type: + type: string + enum: + - facet + default: facet + description: > + - `default`: perform a search query + + - `facet` [searches for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + required: + - indexName + - type + - facet x-discriminator-fields: - facet - type @@ -19304,7 +27501,9 @@ components: example: Mobile phone type: string highlighted: - $ref: '#/components/schemas/highlightedValue' + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney count: description: >- Number of records with this facet value. [The count may be @@ -19318,11 +27517,57 @@ components: For more information, see [Why are my facet and hit counts not accurate](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). processingTimeMS: - $ref: '#/components/schemas/processingTimeMS' + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 searchResult: oneOf: - $ref: '#/components/schemas/searchResponse' - - $ref: '#/components/schemas/searchForFacetValuesResponse' + - type: object + additionalProperties: false + required: + - facetHits + - exhaustiveFacetsCount + x-discriminator-fields: + - facetHits + properties: + facetHits: + type: array + description: Matching facet values. + items: + title: facetHits + type: object + additionalProperties: false + required: + - value + - highlighted + - count + properties: + value: + description: Facet value. + example: Mobile phone + type: string + highlighted: + type: string + description: Highlighted attribute value, including HTML tags. + example: George Clooney + count: + description: >- + Number of records with this facet value. [The count may be + approximated](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). + type: integer + exhaustiveFacetsCount: + type: boolean + description: > + Whether the facet count is exhaustive (true) or approximate + (false). + + For more information, see [Why are my facet and hit counts not + accurate](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). + processingTimeMS: + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 cursor: type: object additionalProperties: false @@ -19341,29 +27586,476 @@ components: browseParamsObject: allOf: - $ref: '#/components/schemas/searchParamsObject' - - $ref: '#/components/schemas/cursor' + - type: object + additionalProperties: false + properties: + cursor: + type: string + description: > + Cursor to get the next page of the response. + + + The parameter must match the value returned in the response of a + previous request. + + The last page of the response does not return a `cursor` + attribute. + example: jMDY3M2MwM2QwMWUxMmQwYWI0ZTN browseParams: oneOf: - - $ref: '#/components/schemas/searchParamsString' + - type: object + title: Search parameters as query string. + description: Search parameters as query string. + additionalProperties: false + x-discriminator-fields: + - params + properties: + params: + description: Search parameters as a URL-encoded query string. + example: hitsPerPage=2&getRankingInfo=1 + type: string + default: '' - $ref: '#/components/schemas/browseParamsObject' BrowsePagination: type: object additionalProperties: false properties: page: - $ref: '#/components/schemas/page' + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination nbHits: - $ref: '#/components/schemas/nbHits' + type: integer + description: Number of results (hits). + example: 20 nbPages: - $ref: '#/components/schemas/nbPages' + type: integer + description: Number of pages of results. + example: 1 hitsPerPage: - $ref: '#/components/schemas/hitsPerPage' + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination browseResponse: allOf: - - $ref: '#/components/schemas/baseSearchResponse' - - $ref: '#/components/schemas/BrowsePagination' + - type: object + additionalProperties: true + required: + - processingTimeMS + properties: + abTestID: + type: integer + description: >- + A/B test ID. This is only included in the response for indices + that are part of an A/B test. + abTestVariantID: + type: integer + minimum: 1 + description: >- + Variant ID. This is only included in the response for indices + that are part of an A/B test. + aroundLatLng: + type: string + description: Computed geographical location. + example: 40.71,-74.01 + pattern: ^(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)$ + automaticRadius: + type: string + description: Distance from a central coordinate provided by `aroundLatLng`. + exhaustive: + title: exhaustive + type: object + description: >- + Whether certain properties of the search response are calculated + exhaustive (exact) or approximated. + properties: + facetsCount: + type: boolean + title: facetsCount + description: >- + Whether the facet count is exhaustive (`true`) or + approximate (`false`). See the [related + discussion](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-). + facetValues: + type: boolean + title: facetValues + description: The value is `false` if not all facet values are retrieved. + nbHits: + type: boolean + title: nbHits + description: >- + Whether the `nbHits` is exhaustive (`true`) or approximate + (`false`). When the query takes more than 50ms to be + processed, the engine makes an approximation. This can + happen when using complex filters on millions of records, + when typo-tolerance was not exhaustive, or when enough hits + have been retrieved (for example, after the engine finds + 10,000 exact matches). `nbHits` is reported as + non-exhaustive whenever an approximation is made, even if + the approximation didn’t, in the end, impact the + exhaustivity of the query. + rulesMatch: + type: boolean + title: rulesMatch + description: >- + Rules matching exhaustivity. The value is `false` if rules + were enable for this query, and could not be fully processed + due a timeout. This is generally caused by the number of + alternatives (such as typos) which is too large. + typo: + type: boolean + title: typo + description: >- + Whether the typo search was exhaustive (`true`) or + approximate (`false`). An approximation is done when the + typo search query part takes more than 10% of the query + budget (ie. 5ms by default) to be processed (this can happen + when a lot of typo alternatives exist for the query). This + field will not be included when typo-tolerance is entirely + disabled. + appliedRules: + description: Rules applied to the query. + title: appliedRules + type: array + items: + type: object + exhaustiveFacetsCount: + type: boolean + description: >- + See the `facetsCount` field of the `exhaustive` object in the + response. + deprecated: true + exhaustiveNbHits: + type: boolean + description: >- + See the `nbHits` field of the `exhaustive` object in the + response. + deprecated: true + exhaustiveTypo: + type: boolean + description: See the `typo` field of the `exhaustive` object in the response. + deprecated: true + facets: + title: facets + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: + x-additionalPropertiesName: facet count + type: integer + description: Facet counts. + example: + category: + food: 1 + tech: 42 + facets_stats: + type: object + description: Statistics for numerical facets. + additionalProperties: + title: facetStats + type: object + properties: + min: + type: number + format: double + description: Minimum value in the results. + max: + type: number + format: double + description: Maximum value in the results. + avg: + type: number + format: double + description: Average facet value in the results. + sum: + type: number + format: double + description: Sum of all values in the results. + index: + type: string + example: indexName + description: Index name used for the query. + indexUsed: + type: string + description: >- + Index name used for the query. During A/B testing, the targeted + index isn't always the index used by the query. + example: indexNameAlt + message: + type: string + description: Warnings about the query. + nbSortedHits: + type: integer + description: >- + Number of hits selected and sorted by the relevant sort + algorithm. + example: 20 + parsedQuery: + type: string + description: >- + Post-[normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/#what-does-normalization-mean) + query string that will be searched. + example: george clo + processingTimeMS: + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 + processingTimingsMS: + type: object + description: >- + Experimental. List of processing steps and their times, in + milliseconds. You can use this list to investigate performance + issues. + queryAfterRemoval: + type: string + description: >- + Markup text indicating which parts of the original query have + been removed to retrieve a non-empty result set. + redirect: + title: redirect + type: object + description: > + [Redirect results to a + URL](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects/), + this this parameter is for internal use only. + properties: + index: + type: array + items: + type: object + properties: + source: + type: string + description: Source index for the redirect rule. + dest: + type: string + description: Destination index for the redirect rule. + reason: + type: string + description: Reason for the redirect rule. + succeed: + type: boolean + description: Redirect rule status. + data: + title: redirectRuleIndexData + type: object + description: Redirect rule data. + required: + - ruleObjectID + properties: + ruleObjectID: + type: string + required: + - data + - succeed + - reason + - dest + - source + renderingContent: + description: > + Extra data that can be used in the search UI. + + + You can use this to control aspects of your search UI, such as + the order of facet names and values + + without changing your frontend code. + type: object + additionalProperties: false + properties: + facetOrdering: + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets + or facet values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly + positioned with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string + redirect: + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: >- + widgets returned from any rules that are applied to the + current search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the + given search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + x-categories: + - Advanced + serverTimeMS: + type: integer + description: Time the server took to process the request, in milliseconds. + example: 20 + serverUsed: + type: string + description: Host name of the server that processed the request. + example: c2-uk-3.algolia.net + userData: + type: object + example: + settingID: f2a7b51e3503acc6a39b3784ffb84300 + pluginVersion: 1.6.0 + description: | + An object with custom data. + + You can store up to 32kB as custom data. + default: {} + x-categories: + - Advanced + queryID: + type: string + description: >- + Unique identifier for the query. This is used for [click + analytics](https://www.algolia.com/doc/guides/analytics/click-analytics/). + example: a00dbc80a8d13c4565a442e7e2dca80a + _automaticInsights: + type: boolean + description: >- + Whether automatic events collection is enabled for the + application. + - type: object + additionalProperties: false + properties: + page: + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination + nbHits: + type: integer + description: Number of results (hits). + example: 20 + nbPages: + type: integer + description: Number of pages of results. + example: 1 + hitsPerPage: + type: integer + description: Number of hits per page. + default: 20 + minimum: 1 + maximum: 1000 + x-categories: + - Pagination - $ref: '#/components/schemas/searchHits' - - $ref: '#/components/schemas/cursor' + - type: object + additionalProperties: false + properties: + cursor: + type: string + description: > + Cursor to get the next page of the response. + + + The parameter must match the value returned in the response of a + previous request. + + The last page of the response does not return a `cursor` + attribute. + example: jMDY3M2MwM2QwMWUxMmQwYWI0ZTN createdAt: type: string example: '2023-07-04T12:49:15Z' @@ -19394,19 +28086,179 @@ components: facetFilters: $ref: '#/components/schemas/facetFilters' filters: - $ref: '#/components/schemas/filters' + type: string + description: > + Filter expression to only include items that match the filter + criteria in the response. + + + You can use these filter expressions: + + + - **Numeric filters.** ` `, where `` is one + of `<`, `<=`, `=`, `!=`, `>`, `>=`. + + - **Ranges.** `: TO ` where `` and + `` are the lower and upper limits of the range (inclusive). + + - **Facet filters.** `:` where `` is a facet + attribute (case-sensitive) and `` a facet value. + + - **Tag filters.** `_tags:` or just `` + (case-sensitive). + + - **Boolean filters.** `: true | false`. + + + You can combine filters with `AND`, `OR`, and `NOT` operators with + the following restrictions: + + + - You can only combine filters of the same type with `OR`. + **Not supported:** `facet:value OR num > 3`. + - You can't use `NOT` with combinations of filters. + **Not supported:** `NOT(facet:value OR facet:value)` + - You can't combine conjunctions (`AND`) with `OR`. + **Not supported:** `facet:value OR (facet:value AND facet:value)` + + Use quotes around your filters, if the facet attribute name or facet + value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. + + If a facet attribute is an array, the filter matches if it matches + at least one element of the array. + + + For more information, see + [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/). + example: (category:Book OR category:Ebook) AND _tags:published + x-categories: + - Filtering numericFilters: $ref: '#/components/schemas/numericFilters' tagFilters: $ref: '#/components/schemas/tagFilters' aroundLatLng: - $ref: '#/components/schemas/aroundLatLng' + type: string + description: > + Coordinates for the center of a circle, expressed as a + comma-separated string of latitude and longitude. + + + Only records included within a circle around this central location + are included in the results. + + The radius of the circle is determined by the `aroundRadius` and + `minimumAroundRadius` settings. + + This parameter is ignored if you also specify `insidePolygon` or + `insideBoundingBox`. + example: 40.71,-74.01 + default: '' + x-categories: + - Geo-Search aroundRadius: - $ref: '#/components/schemas/aroundRadius' + description: > + Maximum radius for a search around a central location. + + + This parameter works in combination with the `aroundLatLng` and + `aroundLatLngViaIP` parameters. + + By default, the search radius is determined automatically from the + density of hits around the central location. + + The search radius is small if there are many hits close to the + central coordinates. + oneOf: + - type: integer + minimum: 1 + description: Maximum search radius around a central location in meters. + - title: all + type: string + description: >- + Return all records with a valid `_geoloc` attribute. Don't + filter by distance. + enum: + - all + x-categories: + - Geo-Search insideBoundingBox: - $ref: '#/components/schemas/insideBoundingBox' + oneOf: + - type: string + - type: 'null' + - type: array + items: + type: array + minItems: 4 + maxItems: 4 + items: + type: number + format: double + description: > + Coordinates for a rectangular area in which to search. + + + Each bounding box is defined by the two opposite points of its + diagonal, and expressed as latitude and longitude pair: + + `[p1 lat, p1 long, p2 lat, p2 long]`. + + Provide multiple bounding boxes as nested arrays. + + For more information, see [rectangular + area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). + example: + - + - 47.3165 + - 4.9665 + - 47.3424 + - 5.0201 + - + - 40.9234 + - 2.1185 + - 38.643 + - 1.9916 + x-categories: + - Geo-Search insidePolygon: - $ref: '#/components/schemas/insidePolygon' + type: array + items: + type: array + minItems: 6 + maxItems: 20000 + items: + type: number + format: double + description: > + Coordinates of a polygon in which to search. + + + Polygons are defined by 3 to 10,000 points. Each point is + represented by its latitude and longitude. + + Provide multiple polygons as nested arrays. + + For more information, see [filtering inside + polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). + + This parameter is ignored if you also specify `insideBoundingBox`. + example: + - + - 47.3165 + - 4.9665 + - 47.3424 + - 5.0201 + - 47.32 + - 4.9 + - + - 40.9234 + - 2.1185 + - 38.643 + - 1.9916 + - 39.2587 + - 2.0104 + x-categories: + - Geo-Search updatedAtResponse: type: object description: Response, taskID, and update timestamp. @@ -19416,9 +28268,21 @@ components: - updatedAt properties: taskID: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a queue. It + might not run immediately. You can check the task's progress with + the [`task` operation](#tag/Indices/operation/getTask) and this + `taskID`. updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. action: type: string enum: @@ -19444,7 +28308,16 @@ components: additionalProperties: false properties: action: - $ref: '#/components/schemas/action' + type: string + enum: + - addObject + - updateObject + - partialUpdateObject + - partialUpdateObjectNoCreate + - deleteObject + - delete + - clear + description: Type of indexing operation. body: type: object description: Operation arguments (varies with specified `action`). @@ -19485,9 +28358,25 @@ components: additionalProperties: false properties: taskID: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a queue. It + might not run immediately. You can check the task's progress with + the [`task` operation](#tag/Indices/operation/getTask) and this + `taskID`. objectIDs: - $ref: '#/components/schemas/objectIDs' + type: array + items: + type: string + example: + - record-1 + - record-2 + description: Unique record identifiers. required: - taskID - objectIDs @@ -19699,7 +28588,77 @@ components: indexLanguages: type: array items: - $ref: '#/components/schemas/supportedLanguage' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh example: - ja description: > @@ -19850,9 +28809,19 @@ components: higher than matches at the end. default: [] x-categories: - - Attributes - userData: - $ref: '#/components/schemas/userData' + - Attributes + userData: + type: object + example: + settingID: f2a7b51e3503acc6a39b3784ffb84300 + pluginVersion: 1.6.0 + description: | + An object with custom data. + + You can store up to 32kB as custom data. + default: {} + x-categories: + - Advanced customNormalization: description: > Characters and their normalized replacements. @@ -19894,11 +28863,512 @@ components: example: url type: string maxFacetHits: - $ref: '#/components/schemas/maxFacetHits' + type: integer + description: >- + Maximum number of facet values to return when [searching for facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + maximum: 100 + default: 10 + x-categories: + - Advanced indexSettings: description: Index settings. allOf: - - $ref: '#/components/schemas/baseIndexSettings' + - type: object + additionalProperties: false + properties: + attributesForFaceting: + type: array + items: + type: string + example: + - author + - filterOnly(isbn) + - searchable(edition) + - afterDistinct(category) + - afterDistinct(searchable(publisher)) + description: > + Attributes used for + [faceting](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/). + + + Facets are attributes that let you categorize search results. + + They can be used for filtering search results. + + By default, no attribute is used for faceting. + + Attribute names are case-sensitive. + + + **Modifiers** + + + - `filterOnly("ATTRIBUTE")`. + Allows the attribute to be used as a filter but doesn't evaluate the facet values. + + - `searchable("ATTRIBUTE")`. + Allows searching for facet values. + + - `afterDistinct("ATTRIBUTE")`. + Evaluates the facet count _after_ deduplication with `distinct`. + This ensures accurate facet counts. + You can apply this modifier to searchable facets: `afterDistinct(searchable(ATTRIBUTE))`. + default: [] + x-categories: + - Faceting + replicas: + type: array + items: + type: string + example: + - virtual(prod_products_price_asc) + - dev_products_replica + description: > + Creates [replica + indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/). + + + Replicas are copies of a primary index with the same records but + different settings, synonyms, or rules. + + If you want to offer a different ranking or sorting of your + search results, you'll use replica indices. + + All index operations on a primary index are automatically + forwarded to its replicas. + + To add a replica index, you must provide the complete set of + replicas to this parameter. + + If you omit a replica from this list, the replica turns into a + regular, standalone index that will no longer be synced with the + primary index. + + + **Modifier** + + + - `virtual("REPLICA")`. + Create a virtual replica, + Virtual replicas don't increase the number of records and are optimized for [Relevant sorting](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/relevant-sort/). + default: [] + x-categories: + - Ranking + paginationLimitedTo: + type: integer + example: 100 + description: > + Maximum number of search results that can be obtained through + pagination. + + + Higher pagination limits might slow down your search. + + For pagination limits above 1,000, the sorting of results beyond + the 1,000th hit can't be guaranteed. + default: 1000 + maximum: 20000 + unretrievableAttributes: + type: array + items: + type: string + example: + - total_sales + description: > + Attributes that can't be retrieved at query time. + + + This can be useful if you want to use an attribute for ranking + or to [restrict + access](https://www.algolia.com/doc/guides/security/api-keys/how-to/user-restricted-access-to-data/), + + but don't want to include it in the search results. + + Attribute names are case-sensitive. + default: [] + x-categories: + - Attributes + disableTypoToleranceOnWords: + type: array + items: + type: string + example: + - wheel + - 1X2BCD + description: > + Creates a list of [words which require exact + matches](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#turn-off-typo-tolerance-for-certain-words). + + This also turns off [word splitting and + concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) + for the specified words. + default: [] + x-categories: + - Typos + attributesToTransliterate: + description: > + Attributes, for which you want to support [Japanese + transliteration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/#japanese-transliteration-and-type-ahead). + + + Transliteration supports searching in any of the Japanese + writing systems. + + To support transliteration, you must set the indexing language + to Japanese. + + Attribute names are case-sensitive. + type: array + items: + type: string + example: + - name + - description + x-categories: + - Languages + camelCaseAttributes: + type: array + items: + type: string + example: + - description + description: > + Attributes for which to split [camel + case](https://wikipedia.org/wiki/Camel_case) words. + + Attribute names are case-sensitive. + default: [] + x-categories: + - Languages + decompoundedAttributes: + type: object + example: + de: + - name + description: > + Searchable attributes to which Algolia should apply [word + segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-segmentation/) + (decompounding). + + Attribute names are case-sensitive. + + + Compound words are formed by combining two or more individual + words, + + and are particularly prevalent in Germanic languages—for + example, "firefighter". + + With decompounding, the individual components are indexed + separately. + + + You can specify different lists for different languages. + + Decompounding is supported for these languages: + + Dutch (`nl`), German (`de`), Finnish (`fi`), Danish (`da`), + Swedish (`sv`), and Norwegian (`no`). + + Decompounding doesn't work for words with [non-spacing mark + Unicode + characters](https://www.charactercodes.net/category/non-spacing_mark). + + For example, `Gartenstühle` won't be decompounded if the `ü` + consists of `u` (U+0075) and `◌̈` (U+0308). + default: {} + x-categories: + - Languages + indexLanguages: + type: array + items: + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + example: + - ja + description: > + Languages for language-specific processing steps, such as word + detection and dictionary settings. + + + **You should always specify an indexing language.** + + If you don't specify an indexing language, the search engine + uses all [supported + languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), + + or the languages you specified with the `ignorePlurals` or + `removeStopWords` parameters. + + This can lead to unexpected search results. + + For more information, see [Language-specific + configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/). + default: [] + x-categories: + - Languages + disablePrefixOnAttributes: + type: array + items: + type: string + example: + - sku + description: > + Searchable attributes for which you want to turn off [prefix + matching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/#adjusting-prefix-search). + + Attribute names are case-sensitive. + default: [] + x-categories: + - Query strategy + allowCompressionOfIntegerArray: + type: boolean + description: > + Whether arrays with exclusively non-negative integers should be + compressed for better performance. + + If true, the compressed arrays may be reordered. + default: false + x-categories: + - Performance + numericAttributesForFiltering: + type: array + items: + type: string + description: > + Numeric attributes that can be used as [numerical + filters](https://www.algolia.com/doc/guides/managing-results/rules/detecting-intent/how-to/applying-a-custom-filter-for-a-specific-query/#numerical-filters). + + Attribute names are case-sensitive. + + + By default, all numeric attributes are available as numerical + filters. + + For faster indexing, reduce the number of numeric attributes. + + + To turn off filtering for all numeric attributes, specify an + attribute that doesn't exist in your index, such as + `NO_NUMERIC_FILTERING`. + + + **Modifier** + + + - `equalOnly("ATTRIBUTE")`. + Support only filtering based on equality comparisons `=` and `!=`. + example: + - equalOnly(quantity) + - popularity + default: [] + x-categories: + - Performance + separatorsToIndex: + type: string + example: +# + description: > + Control which non-alphanumeric characters are indexed. + + + By default, Algolia ignores [non-alphanumeric + characters](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes/#handling-non-alphanumeric-characters) + like hyphen (`-`), plus (`+`), and parentheses (`(`,`)`). + + To include such characters, define them with + `separatorsToIndex`. + + + Separators are all non-letter characters except spaces and + currency characters, such as $€£¥. + + + With `separatorsToIndex`, Algolia treats separator characters as + separate words. + + For example, in a search for "Disney+", Algolia considers + "Disney" and "+" as two separate words. + default: '' + x-categories: + - Typos + searchableAttributes: + type: array + items: + type: string + example: + - title,alternative_title + - author + - unordered(text) + - emails.personal + description: > + Attributes used for searching. Attribute names are + case-sensitive. + + + By default, all attributes are searchable and the + [Attribute](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#attribute) + ranking criterion is turned off. + + With a non-empty list, Algolia only returns results with matches + in the selected attributes. + + In addition, the Attribute ranking criterion is turned on: + matches in attributes that are higher in the list of + `searchableAttributes` rank first. + + To make matches in two attributes rank equally, include them in + a comma-separated string, such as `"title,alternate_title"`. + + Attributes with the same priority are always unordered. + + + For more information, see [Searchable + attributes](https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/how-to/setting-searchable-attributes/). + + + **Modifier** + + + - `unordered("ATTRIBUTE")`. + Ignore the position of a match within the attribute. + + Without a modifier, matches at the beginning of an attribute + rank higher than matches at the end. + default: [] + x-categories: + - Attributes + userData: + type: object + example: + settingID: f2a7b51e3503acc6a39b3784ffb84300 + pluginVersion: 1.6.0 + description: | + An object with custom data. + + You can store up to 32kB as custom data. + default: {} + x-categories: + - Advanced + customNormalization: + description: > + Characters and their normalized replacements. + + This overrides Algolia's default + [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/). + type: object + example: + default: + ä: ae + ü: ue + additionalProperties: + type: object + additionalProperties: + type: string + x-categories: + - Languages + attributeForDistinct: + description: > + Attribute that should be used to establish groups of results. + + Attribute names are case-sensitive. + + + All records with the same value for this attribute are + considered a group. + + You can combine `attributeForDistinct` with the `distinct` + search parameter to control + + how many items per group are included in the search results. + + + If you want to use the same attribute also for faceting, use the + `afterDistinct` modifier of the `attributesForFaceting` setting. + + This applies faceting _after_ deduplication, which will result + in accurate facet counts. + example: url + type: string + maxFacetHits: + type: integer + description: >- + Maximum number of facet values to return when [searching for + facet + values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values). + maximum: 100 + default: 10 + x-categories: + - Advanced - $ref: '#/components/schemas/indexSettingsAsSearchParams' WithPrimary: type: object @@ -19912,7 +29382,14 @@ components: settingsResponse: allOf: - $ref: '#/components/schemas/indexSettings' - - $ref: '#/components/schemas/WithPrimary' + - type: object + additionalProperties: false + properties: + primary: + type: string + description: > + Replica indices only: the name of the primary index for this + replica. SynonymType: type: string description: Synonym type. @@ -19936,7 +29413,18 @@ components: description: Unique identifier of a synonym object. example: synonymID type: - $ref: '#/components/schemas/SynonymType' + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 synonyms: type: array items: @@ -19993,15 +29481,158 @@ components: type: array description: Matching synonyms. items: - $ref: '#/components/schemas/synonymHit' + type: object + description: Synonym object. + additionalProperties: false + properties: + objectID: + type: string + description: Unique identifier of a synonym object. + example: synonymID + type: + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 + synonyms: + type: array + items: + type: string + description: Words or phrases considered equivalent. + example: + - vehicle + - auto + input: + type: string + description: >- + Word or phrase to appear in query strings (for + [`onewaysynonym`s](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/one-way-synonyms/)). + example: car + word: + type: string + description: >- + Word or phrase to appear in query strings (for [`altcorrection1` + and + `altcorrection2`](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alternative-corrections/)). + example: car + corrections: + type: array + items: + type: string + description: Words to be matched in records. + example: + - vehicle + - auto + placeholder: + type: string + description: > + [Placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/) + to be put inside records. + example: + replacements: + type: array + items: + type: string + description: >- + Query words that will match the [placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/). + example: + - street + - st + required: + - objectID + - type searchSynonymsResponse: type: object additionalProperties: true properties: hits: - $ref: '#/components/schemas/synonymHits' + type: array + description: Matching synonyms. + items: + type: object + description: Synonym object. + additionalProperties: false + properties: + objectID: + type: string + description: Unique identifier of a synonym object. + example: synonymID + type: + type: string + description: Synonym type. + example: onewaysynonym + enum: + - synonym + - onewaysynonym + - altcorrection1 + - altcorrection2 + - placeholder + - oneWaySynonym + - altCorrection1 + - altCorrection2 + synonyms: + type: array + items: + type: string + description: Words or phrases considered equivalent. + example: + - vehicle + - auto + input: + type: string + description: >- + Word or phrase to appear in query strings (for + [`onewaysynonym`s](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/one-way-synonyms/)). + example: car + word: + type: string + description: >- + Word or phrase to appear in query strings (for + [`altcorrection1` and + `altcorrection2`](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alternative-corrections/)). + example: car + corrections: + type: array + items: + type: string + description: Words to be matched in records. + example: + - vehicle + - auto + placeholder: + type: string + description: > + [Placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/) + to be put inside records. + example: + replacements: + type: array + items: + type: string + description: >- + Query words that will match the [placeholder + token](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-placeholders/). + example: + - street + - st + required: + - objectID + - type nbHits: - $ref: '#/components/schemas/nbHits' + type: integer + description: Number of results (hits). + example: 20 required: - hits - nbHits @@ -20021,9 +29652,16 @@ components: additionalProperties: false properties: value: - $ref: '#/components/schemas/keyString' + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 createdAt: - $ref: '#/components/schemas/createdAtTimestamp' + type: integer + format: int64 + example: 1656345570000 + description: >- + Timestamp when the object was created, in milliseconds since the + Unix epoch. required: - value - createdAt @@ -20066,7 +29704,24 @@ components: - addObject default: [] items: - $ref: '#/components/schemas/acl' + description: Access control list permissions. + type: string + enum: + - addObject + - analytics + - browse + - deleteObject + - deleteIndex + - editSettings + - inference + - listIndexes + - logs + - personalization + - recommendation + - search + - seeUnretrievableAttributes + - settings + - usage description: type: string description: Description of an API key to help you identify this API key. @@ -20171,16 +29826,179 @@ components: - acl getApiKeyResponse: allOf: - - $ref: '#/components/schemas/baseGetApiKeyResponse' - - $ref: '#/components/schemas/apiKey' + - type: object + additionalProperties: false + properties: + value: + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 + createdAt: + type: integer + format: int64 + example: 1656345570000 + description: >- + Timestamp when the object was created, in milliseconds since the + Unix epoch. + required: + - value + - createdAt + - type: object + description: API key object. + additionalProperties: false + properties: + acl: + type: array + description: > + Permissions that determine the type of API requests this key can + make. + + The required ACL is listed in each endpoint's reference. + + For more information, see [access control + list](https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl). + example: + - search + - addObject + default: [] + items: + description: Access control list permissions. + type: string + enum: + - addObject + - analytics + - browse + - deleteObject + - deleteIndex + - editSettings + - inference + - listIndexes + - logs + - personalization + - recommendation + - search + - seeUnretrievableAttributes + - settings + - usage + description: + type: string + description: Description of an API key to help you identify this API key. + example: Used for indexing by the CLI + default: '' + indexes: + type: array + description: > + Index names or patterns that this API key can access. + + By default, an API key can access all indices in the same + application. + + + You can use leading and trailing wildcard characters (`*`): + + + - `dev_*` matches all indices starting with "dev_". + + - `*_dev` matches all indices ending with "_dev". + + - `*_products_*` matches all indices containing "_products_". + example: + - dev_* + - prod_en_products + default: [] + items: + type: string + maxHitsPerQuery: + type: integer + description: > + Maximum number of results this API key can retrieve in one + query. + + By default, there's no limit. + default: 0 + maxQueriesPerIPPerHour: + type: integer + description: > + Maximum number of API requests allowed per IP address or [user + token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) + per hour. + + + If this limit is reached, the API returns an error with status + code `429`. + + By default, there's no limit. + default: 0 + queryParameters: + type: string + description: > + Query parameters to add when making API requests with this API + key. + + + To restrict this API key to specific IP addresses, add the + `restrictSources` parameter. + + You can only add a single source, but you can provide a range of + IP addresses. + + + Creating an API key fails if the request is made from an IP + address outside the restricted range. + example: typoTolerance=strict&restrictSources=192.168.1.0/24 + default: '' + referers: + type: array + description: > + Allowed HTTP referrers for this API key. + + + By default, all referrers are allowed. + + You can use leading and trailing wildcard characters (`*`): + + + - `https://algolia.com/*` allows all referrers starting with + "https://algolia.com/" + + - `*.algolia.com` allows all referrers ending with + ".algolia.com" + + - `*algolia.com*` allows all referrers in the domain + "algolia.com". + + + Like all HTTP headers, referrers can be spoofed. Don't rely on + them to secure your data. + + For more information, see [HTTP referrer + restrictions](https://www.algolia.com/doc/guides/security/security-best-practices/#http-referrers-restrictions). + example: + - '*algolia.com*' + default: [] + items: + type: string + validity: + type: integer + description: | + Duration (in seconds) after which the API key expires. + By default, API keys don't expire. + example: 86400 + default: 0 + required: + - acl addApiKeyResponse: type: object additionalProperties: false properties: key: - $ref: '#/components/schemas/keyString' + type: string + description: API key. + example: 13ad45b4d0a2f6ea65ecbddf6aa260f2 createdAt: - $ref: '#/components/schemas/createdAt' + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was created, in RFC 3339 format. required: - key - createdAt @@ -20236,13 +30054,37 @@ components: when users search for a genre, such as "comedy". example: '{facet:genre}' anchoring: - $ref: '#/components/schemas/anchoring' + type: string + description: | + Which part of the search query the pattern should match: + + - `startsWith`. The pattern must match the beginning of the query. + - `endsWith`. The pattern must match the end of the query. + - `is`. The pattern must match the query exactly. + - `contains`. The pattern must match anywhere in the query. + + Empty queries are only allowed as patterns with `anchoring: is`. + enum: + - is + - startsWith + - endsWith + - contains alternatives: type: boolean description: Whether the pattern should match plurals, synonyms, and typos. default: false context: - $ref: '#/components/schemas/context' + type: string + pattern: '[A-Za-z0-9_-]+' + description: > + An additional restriction that only triggers the rule, when the + search has the same value as `ruleContexts` parameter. + + For example, if `context: mobile`, the rule is only triggered when + the search request has a matching `ruleContexts: mobile`. + + A rule context must only contain alphanumeric characters. + example: mobile filters: type: string description: > @@ -20266,7 +30108,11 @@ components: additionalProperties: false properties: type: - $ref: '#/components/schemas/editType' + description: Type of edit. + type: string + enum: + - remove + - replace delete: description: Text or patterns to remove from the query string. type: string @@ -20288,7 +30134,23 @@ components: description: Changes to make to the search query. type: array items: - $ref: '#/components/schemas/edit' + type: object + additionalProperties: false + properties: + type: + description: Type of edit. + type: string + enum: + - remove + - replace + delete: + description: Text or patterns to remove from the query string. + type: string + insert: + description: >- + Text to be added in place of the deleted text inside the query + string. + type: string consequenceQuery: description: > Replace or edit the search query. @@ -20300,7 +30162,35 @@ components: If `consequenceQuery` is an object, it describes incremental edits made to the query. oneOf: - - $ref: '#/components/schemas/consequenceQueryObject' + - type: object + additionalProperties: false + properties: + remove: + description: Words to remove from the search query. + type: array + items: + type: string + edits: + description: Changes to make to the search query. + type: array + items: + type: object + additionalProperties: false + properties: + type: + description: Type of edit. + type: string + enum: + - remove + - replace + delete: + description: Text or patterns to remove from the query string. + type: string + insert: + description: >- + Text to be added in place of the deleted text inside the + query string. + type: string - type: string automaticFacetFilter: type: object @@ -20348,7 +30238,37 @@ components: oneOf: - type: array items: - $ref: '#/components/schemas/automaticFacetFilter' + type: object + description: Filter or optional filter to be applied to the search. + additionalProperties: false + properties: + facet: + type: string + description: > + Facet name to be applied as filter. + + The name must match placeholders in the `pattern` parameter. + + For example, with `pattern: {facet:genre}`, + `automaticFacetFilters` must be `genre`. + score: + type: integer + default: 1 + description: Filter scores to give different weights to individual filters. + disjunctive: + type: boolean + default: false + description: > + Whether the filter is disjunctive or conjunctive. + + + If true the filter has multiple matches, multiple occurences + are combined with the logical `OR` operation. + + If false, multiple occurences are combined with the logical + `AND` operation. + required: + - facet - type: array items: type: string @@ -20363,18 +30283,559 @@ components: additionalProperties: false properties: query: - $ref: '#/components/schemas/consequenceQuery' + description: > + Replace or edit the search query. + + + If `consequenceQuery` is a string, the entire search query is + replaced with that string. + + If `consequenceQuery` is an object, it describes incremental edits + made to the query. + oneOf: + - type: object + additionalProperties: false + properties: + remove: + description: Words to remove from the search query. + type: array + items: + type: string + edits: + description: Changes to make to the search query. + type: array + items: + type: object + additionalProperties: false + properties: + type: + description: Type of edit. + type: string + enum: + - remove + - replace + delete: + description: Text or patterns to remove from the query string. + type: string + insert: + description: >- + Text to be added in place of the deleted text inside + the query string. + type: string + - type: string automaticFacetFilters: - $ref: '#/components/schemas/automaticFacetFilters' + description: > + Filter to be applied to the search. + + + You can use this to respond to search queries that match a facet + value. + + For example, if users search for "comedy", which matches a facet + value of the "genre" facet, + + you can filter the results to show the top-ranked comedy movies. + oneOf: + - type: array + items: + type: object + description: Filter or optional filter to be applied to the search. + additionalProperties: false + properties: + facet: + type: string + description: > + Facet name to be applied as filter. + + The name must match placeholders in the `pattern` + parameter. + + For example, with `pattern: {facet:genre}`, + `automaticFacetFilters` must be `genre`. + score: + type: integer + default: 1 + description: >- + Filter scores to give different weights to individual + filters. + disjunctive: + type: boolean + default: false + description: > + Whether the filter is disjunctive or conjunctive. + + + If true the filter has multiple matches, multiple + occurences are combined with the logical `OR` operation. + + If false, multiple occurences are combined with the + logical `AND` operation. + required: + - facet + - type: array + items: + type: string automaticOptionalFacetFilters: - $ref: '#/components/schemas/automaticFacetFilters' + description: > + Filter to be applied to the search. + + + You can use this to respond to search queries that match a facet + value. + + For example, if users search for "comedy", which matches a facet + value of the "genre" facet, + + you can filter the results to show the top-ranked comedy movies. + oneOf: + - type: array + items: + type: object + description: Filter or optional filter to be applied to the search. + additionalProperties: false + properties: + facet: + type: string + description: > + Facet name to be applied as filter. + + The name must match placeholders in the `pattern` + parameter. + + For example, with `pattern: {facet:genre}`, + `automaticFacetFilters` must be `genre`. + score: + type: integer + default: 1 + description: >- + Filter scores to give different weights to individual + filters. + disjunctive: + type: boolean + default: false + description: > + Whether the filter is disjunctive or conjunctive. + + + If true the filter has multiple matches, multiple + occurences are combined with the logical `OR` operation. + + If false, multiple occurences are combined with the + logical `AND` operation. + required: + - facet + - type: array + items: + type: string renderingContent: - $ref: '#/components/schemas/renderingContent' + description: > + Extra data that can be used in the search UI. + + + You can use this to control aspects of your search UI, such as the + order of facet names and values + + without changing your frontend code. + type: object + additionalProperties: false + properties: + facetOrdering: + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly + positioned with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string + redirect: + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: >- + widgets returned from any rules that are applied to the current + search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the given + search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + x-categories: + - Advanced consequenceParams: allOf: - $ref: '#/components/schemas/baseSearchParamsWithoutQuery' - $ref: '#/components/schemas/indexSettingsAsSearchParams' - - $ref: '#/components/schemas/params' + - type: object + description: > + Parameters to apply to this search. + + + You can use all search parameters, plus special + `automaticFacetFilters`, `automaticOptionalFacetFilters`, and + `query`. + additionalProperties: false + properties: + query: + description: > + Replace or edit the search query. + + + If `consequenceQuery` is a string, the entire search query is + replaced with that string. + + If `consequenceQuery` is an object, it describes incremental + edits made to the query. + oneOf: + - type: object + additionalProperties: false + properties: + remove: + description: Words to remove from the search query. + type: array + items: + type: string + edits: + description: Changes to make to the search query. + type: array + items: + type: object + additionalProperties: false + properties: + type: + description: Type of edit. + type: string + enum: + - remove + - replace + delete: + description: Text or patterns to remove from the query string. + type: string + insert: + description: >- + Text to be added in place of the deleted text + inside the query string. + type: string + - type: string + automaticFacetFilters: + description: > + Filter to be applied to the search. + + + You can use this to respond to search queries that match a facet + value. + + For example, if users search for "comedy", which matches a facet + value of the "genre" facet, + + you can filter the results to show the top-ranked comedy movies. + oneOf: + - type: array + items: + type: object + description: Filter or optional filter to be applied to the search. + additionalProperties: false + properties: + facet: + type: string + description: > + Facet name to be applied as filter. + + The name must match placeholders in the `pattern` + parameter. + + For example, with `pattern: {facet:genre}`, + `automaticFacetFilters` must be `genre`. + score: + type: integer + default: 1 + description: >- + Filter scores to give different weights to individual + filters. + disjunctive: + type: boolean + default: false + description: > + Whether the filter is disjunctive or conjunctive. + + + If true the filter has multiple matches, multiple + occurences are combined with the logical `OR` + operation. + + If false, multiple occurences are combined with the + logical `AND` operation. + required: + - facet + - type: array + items: + type: string + automaticOptionalFacetFilters: + description: > + Filter to be applied to the search. + + + You can use this to respond to search queries that match a facet + value. + + For example, if users search for "comedy", which matches a facet + value of the "genre" facet, + + you can filter the results to show the top-ranked comedy movies. + oneOf: + - type: array + items: + type: object + description: Filter or optional filter to be applied to the search. + additionalProperties: false + properties: + facet: + type: string + description: > + Facet name to be applied as filter. + + The name must match placeholders in the `pattern` + parameter. + + For example, with `pattern: {facet:genre}`, + `automaticFacetFilters` must be `genre`. + score: + type: integer + default: 1 + description: >- + Filter scores to give different weights to individual + filters. + disjunctive: + type: boolean + default: false + description: > + Whether the filter is disjunctive or conjunctive. + + + If true the filter has multiple matches, multiple + occurences are combined with the logical `OR` + operation. + + If false, multiple occurences are combined with the + logical `AND` operation. + required: + - facet + - type: array + items: + type: string + renderingContent: + description: > + Extra data that can be used in the search UI. + + + You can use this to control aspects of your search UI, such as + the order of facet names and values + + without changing your frontend code. + type: object + additionalProperties: false + properties: + facetOrdering: + description: Order of facet names and facet values in your UI. + type: object + additionalProperties: false + properties: + facets: + description: Order of facet names. + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets or + facet values at the top of the list. + type: array + items: + type: string + values: + description: Order of facet values. One object for each facet. + type: object + additionalProperties: + x-additionalPropertiesName: facet + type: object + additionalProperties: false + properties: + order: + description: > + Explicit order of facets or facet values. + + + This setting lets you always show specific facets + or facet values at the top of the list. + type: array + items: + type: string + sortRemainingBy: + description: > + Order of facet values that aren't explicitly + positioned with the `order` setting. + + + - `count`. + Order remaining facet values by decreasing count. + The count is the number of matching records containing this facet value. + + - `alpha`. + Sort facet values alphabetically. + + - `hidden`. + Don't show facet values that aren't explicitly positioned. + type: string + enum: + - count + - alpha + - hidden + hide: + description: Hide facet values. + type: array + items: + type: string + redirect: + description: The redirect rule container. + type: object + additionalProperties: false + properties: + url: + type: string + widgets: + description: >- + widgets returned from any rules that are applied to the + current search. + type: object + additionalProperties: false + properties: + banners: + description: >- + banners defined in the merchandising studio for the + given search. + type: array + items: + description: a search banner with image and url. + type: object + additionalProperties: false + properties: + image: + description: image of a search banner. + type: object + additionalProperties: false + properties: + urls: + type: array + items: + description: url for a search banner image. + type: object + additionalProperties: false + properties: + url: + type: string + title: + type: string + link: + description: link for a banner defined in merchandising studio. + type: object + additionalProperties: false + properties: + url: + type: string + x-categories: + - Advanced promotePosition: type: integer description: >- @@ -20397,9 +30858,15 @@ components: For example, if you want to promote four records to position `0`, they will be the first four search results. items: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 position: - $ref: '#/components/schemas/promotePosition' + type: integer + description: >- + Position in the search results where you want to show the promoted + records. + example: 0 required: - position - objectIDs @@ -20412,9 +30879,15 @@ components: additionalProperties: false properties: objectID: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 position: - $ref: '#/components/schemas/promotePosition' + type: integer + description: >- + Position in the search results where you want to show the promoted + records. + example: 0 required: - position - objectID @@ -20422,8 +30895,59 @@ components: - objectID promote: oneOf: - - $ref: '#/components/schemas/promoteObjectIDs' - - $ref: '#/components/schemas/promoteObjectID' + - title: objectIDs + description: Records to promote. + type: object + additionalProperties: false + properties: + objectIDs: + type: array + maxItems: 100 + description: > + Object IDs of the records you want to promote. + + + The records are placed as a group at the `position`. + + For example, if you want to promote four records to position + `0`, + + they will be the first four search results. + items: + type: string + description: Unique record identifier. + example: test-record-123 + position: + type: integer + description: >- + Position in the search results where you want to show the + promoted records. + example: 0 + required: + - position + - objectIDs + x-discriminator-fields: + - objectIDs + - title: objectID + description: Record to promote. + type: object + additionalProperties: false + properties: + objectID: + type: string + description: Unique record identifier. + example: test-record-123 + position: + type: integer + description: >- + Position in the search results where you want to show the + promoted records. + example: 0 + required: + - position + - objectID + x-discriminator-fields: + - objectID consequence: type: object description: > @@ -20447,7 +30971,60 @@ components: You can promote up to 300 records, either individually, or as groups of up to 100 records each. items: - $ref: '#/components/schemas/promote' + oneOf: + - title: objectIDs + description: Records to promote. + type: object + additionalProperties: false + properties: + objectIDs: + type: array + maxItems: 100 + description: > + Object IDs of the records you want to promote. + + + The records are placed as a group at the `position`. + + For example, if you want to promote four records to + position `0`, + + they will be the first four search results. + items: + type: string + description: Unique record identifier. + example: test-record-123 + position: + type: integer + description: >- + Position in the search results where you want to show the + promoted records. + example: 0 + required: + - position + - objectIDs + x-discriminator-fields: + - objectIDs + - title: objectID + description: Record to promote. + type: object + additionalProperties: false + properties: + objectID: + type: string + description: Unique record identifier. + example: test-record-123 + position: + type: integer + description: >- + Position in the search results where you want to show the + promoted records. + example: 0 + required: + - position + - objectID + x-discriminator-fields: + - objectID filterPromotes: type: boolean default: false @@ -20474,7 +31051,9 @@ components: additionalProperties: false properties: objectID: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 required: - objectID userData: @@ -20508,7 +31087,9 @@ components: additionalProperties: false properties: objectID: - $ref: '#/components/schemas/ruleID' + title: objectID + type: string + description: Unique identifier of a rule object. conditions: type: array minItems: 0 @@ -20523,7 +31104,75 @@ components: For more information, see [Conditions](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/#conditions). items: - $ref: '#/components/schemas/condition' + type: object + additionalProperties: false + properties: + pattern: + type: string + description: > + Query pattern that triggers the rule. + + + You can use either a literal string, or a special pattern + `{facet:ATTRIBUTE}`, where `ATTRIBUTE` is a facet name. + + The rule is triggered if the query matches the literal string + or a value of the specified facet. + + For example, with `pattern: {facet:genre}`, the rule is + triggered when users search for a genre, such as "comedy". + example: '{facet:genre}' + anchoring: + type: string + description: > + Which part of the search query the pattern should match: + + + - `startsWith`. The pattern must match the beginning of the + query. + + - `endsWith`. The pattern must match the end of the query. + + - `is`. The pattern must match the query exactly. + + - `contains`. The pattern must match anywhere in the query. + + + Empty queries are only allowed as patterns with `anchoring: + is`. + enum: + - is + - startsWith + - endsWith + - contains + alternatives: + type: boolean + description: Whether the pattern should match plurals, synonyms, and typos. + default: false + context: + type: string + pattern: '[A-Za-z0-9_-]+' + description: > + An additional restriction that only triggers the rule, when + the search has the same value as `ruleContexts` parameter. + + For example, if `context: mobile`, the rule is only triggered + when the search request has a matching `ruleContexts: mobile`. + + A rule context must only contain alphanumeric characters. + example: mobile + filters: + type: string + description: > + Filters that trigger the rule. + + + You can add add filters using the syntax `facet:value` so that + the rule is triggered, when the specific filter is selected. + + You can use `filters` on its own or combine it with the + `pattern` parameter. + example: genre:comedy consequence: $ref: '#/components/schemas/consequence' description: @@ -20540,7 +31189,20 @@ components: type: array description: Time periods when the rule is active. items: - $ref: '#/components/schemas/timeRange' + type: object + additionalProperties: false + properties: + from: + type: integer + format: int64 + description: When the rule should start to be active, in Unix epoch time. + until: + type: integer + format: int64 + description: When the rule should stop to be active, in Unix epoch time. + required: + - from + - until required: - objectID - consequence @@ -20633,7 +31295,77 @@ components: description: Unique identifier for the dictionary entry. example: 828afd405e1f4fe950b6b98c2c43c032 language: - $ref: '#/components/schemas/supportedLanguage' + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh word: type: string description: >- @@ -20660,9 +31392,20 @@ components: items: type: string state: - $ref: '#/components/schemas/dictionaryEntryState' + type: string + enum: + - enabled + - disabled + default: enabled + description: Whether a dictionary entry is active. type: - $ref: '#/components/schemas/dictionaryEntryType' + type: string + enum: + - custom + - standard + description: >- + Whether a dictionary entry is provided by Algolia (standard), or has + been added by you (custom). searchDictionaryEntriesResponse: type: object additionalProperties: false @@ -20671,13 +31414,160 @@ components: type: array description: Dictionary entries matching the search criteria. items: - $ref: '#/components/schemas/dictionaryEntry' + type: object + description: Dictionary entry. + additionalProperties: true + required: + - objectID + properties: + objectID: + type: string + description: Unique identifier for the dictionary entry. + example: 828afd405e1f4fe950b6b98c2c43c032 + language: + type: string + description: ISO code for a supported language. + enum: + - af + - ar + - az + - bg + - bn + - ca + - cs + - cy + - da + - de + - el + - en + - eo + - es + - et + - eu + - fa + - fi + - fo + - fr + - ga + - gl + - he + - hi + - hu + - hy + - id + - is + - it + - ja + - ka + - kk + - ko + - ku + - ky + - lt + - lv + - mi + - mn + - mr + - ms + - mt + - nb + - nl + - 'no' + - ns + - pl + - ps + - pt + - pt-br + - qu + - ro + - ru + - sk + - sq + - sv + - sw + - ta + - te + - th + - tl + - tn + - tr + - tt + - uk + - ur + - uz + - zh + word: + type: string + description: >- + Matching dictionary word for `stopwords` and `compounds` + dictionaries. + example: the + words: + type: array + description: >- + Matching words in the `plurals` dictionary including + declensions. + example: + - cheval + - cheveaux + items: + type: string + decomposition: + type: array + description: >- + Invividual components of a compound word in the `compounds` + dictionary. + example: + - kopf + - schmerz + - tablette + items: + type: string + state: + type: string + enum: + - enabled + - disabled + default: enabled + description: Whether a dictionary entry is active. + type: + type: string + enum: + - custom + - standard + description: >- + Whether a dictionary entry is provided by Algolia (standard), + or has been added by you (custom). page: - $ref: '#/components/schemas/parameters_page' + type: integer + minimum: 0 + description: > + Requested page of the API response. + + + Algolia uses `page` and `hitsPerPage` to control how search results + are displayed + ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). + + + - `hitsPerPage`: sets the number of search results (_hits_) + displayed per page. + + - `page`: specifies the page number of the search results you want + to retrieve. Page numbering starts at 0, so the first page is + `page=0`, the second is `page=1`, and so on. + + + For example, to display 10 results per page starting from the third + page, set `hitsPerPage` to 10 and `page` to 2. nbHits: - $ref: '#/components/schemas/nbHits' + type: integer + description: Number of results (hits). + example: 20 nbPages: - $ref: '#/components/schemas/nbPages' + type: integer + description: Number of pages of results. + example: 1 required: - hits - page @@ -20701,11 +31591,35 @@ components: additionalProperties: false properties: plurals: - $ref: '#/components/schemas/standardEntry' + oneOf: + - type: object + description: Key-value pair of a language ISO code and a boolean value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' stopwords: - $ref: '#/components/schemas/standardEntry' + oneOf: + - type: object + description: Key-value pair of a language ISO code and a boolean value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' compounds: - $ref: '#/components/schemas/standardEntry' + oneOf: + - type: object + description: Key-value pair of a language ISO code and a boolean value. + example: + fr: false + additionalProperties: + x-additionalPropertiesName: language + type: boolean + - type: 'null' dictionaryLanguage: oneOf: - type: object @@ -20728,11 +31642,41 @@ components: - compounds properties: plurals: - $ref: '#/components/schemas/dictionaryLanguage' + oneOf: + - type: object + additionalProperties: false + description: >- + Dictionary type. If `null`, this dictionary type isn't supported + for the language. + properties: + nbCustomEntries: + description: Number of custom dictionary entries. + type: integer + - type: 'null' stopwords: - $ref: '#/components/schemas/dictionaryLanguage' + oneOf: + - type: object + additionalProperties: false + description: >- + Dictionary type. If `null`, this dictionary type isn't supported + for the language. + properties: + nbCustomEntries: + description: Number of custom dictionary entries. + type: integer + - type: 'null' compounds: - $ref: '#/components/schemas/dictionaryLanguage' + oneOf: + - type: object + additionalProperties: false + description: >- + Dictionary type. If `null`, this dictionary type isn't supported + for the language. + properties: + nbCustomEntries: + description: Number of custom dictionary entries. + type: integer + - type: 'null' userID: type: string pattern: ^[a-zA-Z0-9 \-*.]+$ @@ -20744,7 +31688,10 @@ components: description: Unique user ID. properties: userID: - $ref: '#/components/schemas/userID' + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 clusterName: type: string description: Cluster to which the user is assigned. @@ -20791,7 +31738,18 @@ components: description: Sources. type: array items: - $ref: '#/components/schemas/source' + description: Source. + required: + - source + properties: + source: + description: IP address range of the source. + type: string + example: 10.0.0.1/32 + description: + description: Source description. + type: string + example: Server subnet logType: type: string enum: @@ -20814,7 +31772,13 @@ components: additionalProperties: false properties: status: - $ref: '#/components/schemas/taskStatus' + type: string + enum: + - published + - notPublished + description: >- + Task status, `published` if the task is completed, `notPublished` + otherwise. required: - status operationType: @@ -20845,7 +31809,9 @@ components: records. example: '2022-09-19T16:36:44.471Z' updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. entries: type: integer description: Number of records contained in the index. @@ -20915,7 +31881,84 @@ components: type: array description: All indices in your Algolia application. items: - $ref: '#/components/schemas/fetchedIndex' + type: object + additionalProperties: false + properties: + name: + type: string + description: Index name. + example: movies + createdAt: + type: string + description: >- + Index creation date. An empty string means that the index has + no records. + example: '2022-09-19T16:36:44.471Z' + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. + entries: + type: integer + description: Number of records contained in the index. + example: 100 + dataSize: + type: integer + description: Number of bytes of the index in minified format. + example: 48450 + fileSize: + type: integer + description: Number of bytes of the index binary file. + example: 112927 + lastBuildTimeS: + type: integer + description: Last build time. + example: 3 + numberOfPendingTasks: + type: integer + default: 0 + description: >- + Number of pending indexing operations. This value is + deprecated and should not be used. + pendingTask: + type: boolean + default: false + description: >- + A boolean which says whether the index has pending tasks. This + value is deprecated and should not be used. + primary: + type: string + description: >- + Only present if the index is a replica. Contains the name of + the related primary index. + example: T02 + replicas: + type: array + items: + type: string + description: >- + Only present if the index is a primary index with replicas. + Contains the names of all linked replicas. + example: + - T02_push + - T2replica + virtual: + type: boolean + description: >- + Only present if the index is a [virtual + replica](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/how-to/sort-an-index-alphabetically/#virtual-replicas). + x-categories: + - Ranking + required: + - name + - createdAt + - updatedAt + - entries + - dataSize + - fileSize + - lastBuildTimeS + - pendingTask + - numberOfPendingTasks nbPages: type: integer description: Number of pages. @@ -20998,20 +32041,83 @@ components: additionalProperties: false properties: copyOperationResponse: - description: >- - The response of the `operationIndex` request for the `copy` - operation. - $ref: '#/components/schemas/updatedAtResponse' + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the task's + progress with the [`task` + operation](#tag/Indices/operation/getTask) and this `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. batchResponses: type: array description: The response of the `batch` request(s). items: - $ref: '#/components/schemas/batchResponse' + type: object + additionalProperties: false + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the task's + progress with the [`task` + operation](#tag/Indices/operation/getTask) and this `taskID`. + objectIDs: + type: array + items: + type: string + example: + - record-1 + - record-2 + description: Unique record identifiers. + required: + - taskID + - objectIDs moveOperationResponse: - description: >- - The response of the `operationIndex` request for the `move` - operation. - $ref: '#/components/schemas/updatedAtResponse' + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the task's + progress with the [`task` + operation](#tag/Indices/operation/getTask) and this `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. required: - copyOperationResponse - batchResponses @@ -21041,9 +32147,24 @@ components: additionalProperties: false properties: _operation: - $ref: '#/components/schemas/builtInOperationType' + type: string + enum: + - Increment + - Decrement + - Add + - Remove + - AddUnique + - IncrementFrom + - IncrementSet + description: How to change the attribute. value: - $ref: '#/components/schemas/builtInOperationValue' + oneOf: + - type: string + description: >- + A string to append or remove for the `Add`, `Remove`, and + `AddUnique` operations. + - type: integer + description: A number to add, remove, or append, depending on the operation. required: - _operation - value @@ -21077,7 +32198,9 @@ components: description: Unique record identifier. required: true schema: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 ForwardToReplicas: in: query name: forwardToReplicas @@ -21115,7 +32238,9 @@ components: description: Unique identifier of a rule object. required: true schema: - $ref: '#/components/schemas/ruleID' + title: objectID + type: string + description: Unique identifier of a rule object. ClearExistingRules: in: query name: clearExistingRules @@ -21129,7 +32254,11 @@ components: description: Dictionary type in which to search. required: true schema: - $ref: '#/components/schemas/dictionaryType' + type: string + enum: + - plurals + - stopwords + - compounds Page: in: query name: page @@ -21157,39 +32286,73 @@ components: in: header required: true schema: - $ref: '#/components/schemas/userID' + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 UserIDInPath: name: userID description: Unique identifier of the user who makes the search request. in: path required: true schema: - $ref: '#/components/schemas/userID' + type: string + pattern: ^[a-zA-Z0-9 \-*.]+$ + description: Unique identifier of the user who makes the search request. + example: user1 responses: BadRequest: description: Bad request or request arguments. content: application/json: schema: - $ref: '#/components/schemas/ErrorBase' + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key FeatureNotEnabled: description: This feature is not enabled on your Algolia account. content: application/json: schema: - $ref: '#/components/schemas/ErrorBase' + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key MethodNotAllowed: description: Method not allowed with this API key. content: application/json: schema: - $ref: '#/components/schemas/ErrorBase' + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key IndexNotFound: description: Index not found. content: application/json: schema: - $ref: '#/components/schemas/ErrorBase' + description: Error. + type: object + x-keep-model: true + additionalProperties: true + properties: + message: + type: string + example: Invalid Application-Id or API-Key DeletedAt: description: OK content: @@ -21204,9 +32367,21 @@ components: - deletedAt properties: taskID: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the task's + progress with the [`task` + operation](#tag/Indices/operation/getTask) and this `taskID`. deletedAt: - $ref: '#/components/schemas/deletedAt' + type: string + example: '2023-06-27T14:42:38.831Z' + description: Date and time when the object was deleted, in RFC 3339 format. UpdatedAtWithObjectId: description: OK content: @@ -21220,17 +32395,53 @@ components: type: object properties: taskID: - $ref: '#/components/schemas/taskID' + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the task's + progress with the [`task` + operation](#tag/Indices/operation/getTask) and this `taskID`. updatedAt: - $ref: '#/components/schemas/updatedAt' + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. objectID: - $ref: '#/components/schemas/objectID' + type: string + description: Unique record identifier. + example: test-record-123 UpdatedAt: description: OK content: application/json: schema: - $ref: '#/components/schemas/updatedAtResponse' + type: object + description: Response, taskID, and update timestamp. + additionalProperties: false + required: + - taskID + - updatedAt + properties: + taskID: + type: integer + format: int64 + example: 1514562690001 + description: > + Unique identifier of a task. + + + A successful API response means that a task was added to a + queue. It might not run immediately. You can check the task's + progress with the [`task` + operation](#tag/Indices/operation/getTask) and this `taskID`. + updatedAt: + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was updated, in RFC 3339 format. CreatedAt: description: OK content: @@ -21244,7 +32455,9 @@ components: - createdAt properties: createdAt: - $ref: '#/components/schemas/createdAt' + type: string + example: '2023-07-04T12:49:15Z' + description: Date and time when the object was created, in RFC 3339 format. x-tagGroups: - name: Search and indexing tags: diff --git a/yarn.lock b/yarn.lock index 051f42677f1..5440b8df5cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -206,6 +206,17 @@ __metadata: languageName: node linkType: hard +"@apidevtools/json-schema-ref-parser@npm:^11.7.3": + version: 11.7.3 + resolution: "@apidevtools/json-schema-ref-parser@npm:11.7.3" + dependencies: + "@jsdevtools/ono": "npm:^7.1.3" + "@types/json-schema": "npm:^7.0.15" + js-yaml: "npm:^4.1.0" + checksum: 10/ab496d84f8deca4e5e3ab4adb28825fb1e90655561cf7b70b6dc7b8cf95e49ea9fa3440c265d1d115a43e673b94a79005af05b5d76f77a8934ed1c2fae6762c9 + languageName: node + linkType: hard + "@apidevtools/json-schema-ref-parser@npm:^9.0.9": version: 9.1.2 resolution: "@apidevtools/json-schema-ref-parser@npm:9.1.2" @@ -8157,6 +8168,7 @@ __metadata: "@actions/core": "npm:1.11.1" "@actions/exec": "npm:1.1.1" "@actions/io": "npm:1.1.3" + "@apidevtools/json-schema-ref-parser": "npm:^11.7.3" "@har-sdk/oas": "npm:2.10.0" "@octokit/rest": "npm:21.0.2" "@types/express": "npm:5.0.0"