openapi: 3.0.2 info: title: Search API description: |- Use the Search REST API to manage your data (indices and records), implement search, and improve relevance (with Rules, synonyms, and language dictionaries). Although Algolia provides a REST API, you should use the official open source API [clients, libraries, and tools](https://www.algolia.com/doc/guides/getting-started/how-algolia-works/in-depth/ecosystem/) instead. There's no [SLA](https://www.algolia.com/policies/sla/) if you use the REST API directly. version: 1.0.0 components: securitySchemes: appId: $ref: '../common/securitySchemes.yml#/appId' apiKey: $ref: '../common/securitySchemes.yml#/apiKey' servers: - url: https://{appId}.algolia.net variables: appId: default: myAppId - url: https://{appId}-1.algolianet.com variables: appId: default: myAppId - url: https://{appId}-2.algolianet.com variables: appId: default: myAppId - url: https://{appId}-3.algolianet.com variables: appId: default: myAppId - url: https://{appId}-dsn.algolia.net variables: appId: default: myAppId security: - appId: [] apiKey: [] tags: - name: Advanced description: Advanced operations. - name: Api Keys description: Manage your API keys. - name: Clusters description: > Multi-cluster operations. Algolia no longer offers [multi-cluster management](https://www.algolia.com/doc/guides/scaling/managing-multiple-clusters-mcm/). - If you want to partition your data per user, use facets and secured API keys instead. - If you need more data, consider upgrading to a bigger cluster to suit your needs. Contact [Algolia's support team](https://support.algolia.com/hc/en-us/requests/new) for details. - name: Dictionaries description: Dictionary operations allow you to customize linguistic features such as [stop words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-stop-words/), [plurals](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-plurals-and-other-declensions/), and [segmentation (compounds)](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-segmentation/). - name: Indices description: Manage indices, including listing them, checking and updating settings, deleting, copying, and renaming. - name: Records description: Record operations. - name: Rules description: Rules operations. - name: Search description: Search operations. - name: Synonyms description: Synonym operations. - name: Vaults description: > Vault operations. Algolia Vault allows you to restrict network-level access to your cluster to a specific set of IP addresses: for non-authorized IP addresses, the cluster is invisible. You should authorize the IP addresses of team members who need to access the Alglolia dashboard, as it's also affected by the restricted list you set up. To access this feature, [Algolia Vault](https://www.algolia.com/doc/guides/security/algolia-vault/) must be enabled on your server. Contact [Algolia's support team](https://support.algolia.com/hc/en-us/requests/new) for details. > **Note**: The maximum number of allowed sources is 1,000. - name: _model_index_settings x-displayName: Index settings description: | . x-tagGroups: - name: Search and indexing tags: - Indices - Records - Search - name: Relevance tags: - Rules - Synonyms - Dictionaries - name: Others tags: - Api Keys - Clusters - Vaults - Advanced - name: Models tags: - _model_index_settings paths: # ###################### # ### Custom request ### # ###################### /1{path}: $ref: '../common/paths/customRequest.yml' # ######################## # ### Search Endpoints ### # ######################## /1/indexes/{indexName}/query: $ref: 'paths/search/searchSingleIndex.yml' /1/indexes/*/queries: $ref: 'paths/search/search.yml' /1/indexes/{indexName}/facets/{facetName}/query: $ref: 'paths/search/searchForFacetValues.yml' /1/indexes/{indexName}/browse: $ref: 'paths/search/browse.yml' # ######################### # ### Objects Endpoints ### # ######################### /1/indexes/{indexName}: $ref: 'paths/objects/objects.yml' /1/indexes/{indexName}/{objectID}: $ref: 'paths/objects/object.yml' /1/indexes/{indexName}/deleteByQuery: $ref: 'paths/objects/deleteBy.yml' /1/indexes/{indexName}/clear: $ref: 'paths/objects/clearObjects.yml' /1/indexes/{indexName}/{objectID}/partial: $ref: 'paths/objects/partialUpdate.yml' /1/indexes/{indexName}/batch: $ref: 'paths/objects/batch.yml' /1/indexes/*/batch: $ref: 'paths/objects/multipleBatch.yml' /1/indexes/*/objects: $ref: 'paths/objects/getObjects.yml' # ########################## # ### Settings Endpoints ### # ########################## /1/indexes/{indexName}/settings: $ref: 'paths/settings/settings.yml' # ########################## # ### Synonyms Endpoints ### # ########################## /1/indexes/{indexName}/synonyms/{objectID}: $ref: 'paths/synonyms/synonym.yml' /1/indexes/{indexName}/synonyms/batch: $ref: 'paths/synonyms/saveSynonyms.yml' /1/indexes/{indexName}/synonyms/clear: $ref: 'paths/synonyms/clearAllSynonyms.yml' /1/indexes/{indexName}/synonyms/search: $ref: 'paths/synonyms/searchSynonyms.yml' # ###################### # ### Keys Endpoints ### # ###################### /1/keys: $ref: 'paths/keys/keys.yml' /1/keys/{key}: $ref: 'paths/keys/key.yml' /1/keys/{key}/restore: $ref: 'paths/keys/restoreApiKey.yml' # ####################### # ### Rules Endpoints ### # ####################### /1/indexes/{indexName}/rules/{objectID}: $ref: 'paths/rules/rule.yml' /1/indexes/{indexName}/rules/batch: $ref: 'paths/rules/saveRules.yml' /1/indexes/{indexName}/rules/clear: $ref: 'paths/rules/clearRules.yml' /1/indexes/{indexName}/rules/search: $ref: 'paths/rules/searchRules.yml' # ############################## # ### Dictionaries Endpoints ### # ############################## /1/dictionaries/{dictionaryName}/batch: $ref: 'paths/dictionaries/batchDictionaryEntries.yml' /1/dictionaries/{dictionaryName}/search: $ref: 'paths/dictionaries/searchDictionaryEntries.yml' /1/dictionaries/*/settings: $ref: 'paths/dictionaries/dictionarySettings.yml' /1/dictionaries/*/languages: $ref: 'paths/dictionaries/getDictionaryLanguages.yml' # ############################### # ### MultiClusters Endpoints ### # ############################### /1/clusters/mapping: $ref: 'paths/multiclusters/userIds.yml' /1/clusters/mapping/batch: $ref: 'paths/multiclusters/batchAssignUserIds.yml' /1/clusters/mapping/top: $ref: 'paths/multiclusters/getTopUserIds.yml' /1/clusters/mapping/{userID}: $ref: 'paths/multiclusters/userId.yml' /1/clusters: $ref: 'paths/multiclusters/listClusters.yml' /1/clusters/mapping/search: $ref: 'paths/multiclusters/searchUserIds.yml' /1/clusters/mapping/pending: $ref: 'paths/multiclusters/hasPendingMappings.yml' # ####################### # ### Vault Endpoints ### # ####################### /1/security/sources: $ref: 'paths/vault/vaultSources.yml' /1/security/sources/append: $ref: 'paths/vault/appendSource.yml' /1/security/sources/{source}: $ref: 'paths/vault/deleteSource.yml' # ########################## # ### Advanced Endpoints ### # ########################## /1/logs: $ref: 'paths/advanced/getLogs.yml' /1/indexes/{indexName}/task/{taskID}: $ref: 'paths/advanced/getTask.yml' # ################################ # ### Manage Indices Endpoints ### # ################################ /1/indexes/{indexName}/operation: $ref: 'paths/manage_indices/operationIndex.yml' /1/indexes: $ref: 'paths/manage_indices/listIndices.yml'