diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e60abb1326..8287ec43ce 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,7 +2,7 @@
Welcome to the contributing guide for the api-clients-automation repository!
-Please read [our contributing guides](https://api-clients-automation.netlify.app/docs/contributing/introduction/) for advanced usage.
+Please read [our contributing guides](https://api-clients-automation.netlify.app/docs/introduction/) for advanced usage.
If you can't find what you are looking for, please [open an issue](https://github.com/algolia/api-clients-automation/issues/new/choose).
diff --git a/README.md b/README.md
index 4fefca0ad4..20ad8f491c 100644
--- a/README.md
+++ b/README.md
@@ -17,15 +17,15 @@ The Algolia API clients are generated from [OpenAPI specs](https://swagger.io/sp
**Migration note from current API clients**
-> In July 2022, we released an alpha version generated API clients for the JavaScript, Java and PHP languages. If you are using the latest stable of those clients and looking to upgrade, read the [migration guide](https://api-clients-automation.netlify.app/docs/clients/migration-guides/). You can still browse the documentation of the stable clients on [the Algolia documentation](https://www.algolia.com/doc/).
+> In July 2022, we released an alpha version generated API clients for the JavaScript, Java and PHP languages. If you are using the latest stable of those clients and looking to upgrade, read the [migration guide](https://www.algolia.com/doc/libraries/). You can still browse the documentation of the stable clients on [the Algolia documentation](https://www.algolia.com/doc/).
## đź’ˇ Getting Started with the clients
-You can read `getting started` guides and how to use the API clients on [our documentation](https://api-clients-automation.netlify.app/docs/clients/installation).
+You can read `getting started` guides and how to use the API clients on [our documentation](https://www.algolia.com/doc/libraries/).
## ✨ Contributing
-> Looking to add a new client, or fix a bug? Make sure to take a look at [our contribution guides](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+> Looking to add a new client, or fix a bug? Make sure to take a look at [our contribution guides](https://api-clients-automation.netlify.app/docs/introduction).
### Setup repository tooling
@@ -41,31 +41,31 @@ nvm use && yarn
yarn docker:setup
```
-[Read more on our documentation](https://api-clients-automation.netlify.app/docs/contributing/setup-repository)
+[Read more on our documentation](https://api-clients-automation.netlify.app/docs/setup-repository)
### CLI
The CLI allows you to make changes locally and run commands through the docker container.
-- [Specs CLI commands](https://api-clients-automation.netlify.app/docs/contributing/CLI/specs-commands)
-- [Clients CLI commands](https://api-clients-automation.netlify.app/docs/contributing/CLI/clients-commands)
-- [CTS CLI commands](https://api-clients-automation.netlify.app/docs/contributing/CLI/cts-commands)
+- [Specs CLI commands](https://api-clients-automation.netlify.app/docs/CLI/specs-commands)
+- [Clients CLI commands](https://api-clients-automation.netlify.app/docs/CLI/clients-commands)
+- [CTS CLI commands](https://api-clients-automation.netlify.app/docs/CLI/cts-commands)
### Guides and requirements
Read the guides and requirements to:
-- [Add a new client](https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client)
-- [Add a new language](https://api-clients-automation.netlify.app/docs/contributing/add-new-api-language)
+- [Add a new client](https://api-clients-automation.netlify.app/docs/add-new-api-client)
+- [Add a new language](https://api-clients-automation.netlify.app/docs/add-new-api-language)
### Tests
Test the generated clients by running:
-- The [`playground`](./playground) (see [documentation](https://api-clients-automation.netlify.app/docs/contributing/testing/playground))
-- The [`Common Test Suite`](./tests/) (see [documentation](https://api-clients-automation.netlify.app/docs/contributing/testing/common-test-suite)).
+- The [`playground`](./playground) (see [documentation](https://api-clients-automation.netlify.app/docs/testing/playground))
+- The [`Common Test Suite`](./tests/) (see [documentation](https://api-clients-automation.netlify.app/docs/testing/common-test-suite)).
-For full documentation, visit the **[online documentation](https://api-clients-automation.netlify.app/docs/contributing/introduction)**.
+For full documentation, visit the **[online documentation](https://api-clients-automation.netlify.app/docs/introduction)**.
## âť“ Troubleshooting
diff --git a/clients/algoliasearch-client-csharp/README.md b/clients/algoliasearch-client-csharp/README.md
index 75e6369c37..ee4a226764 100644
--- a/clients/algoliasearch-client-csharp/README.md
+++ b/clients/algoliasearch-client-csharp/README.md
@@ -12,7 +12,7 @@
- Documentation •
+ Documentation •
Community Forum •
Stack Overflow •
Report a bug •
@@ -98,7 +98,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for CSharp, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for CSharp, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs b/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs
index a59e21966d..474d29713e 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs
@@ -410,7 +410,7 @@ private static async Task RetryUntil(Func> func, Func val
/// Push a new set of objects and remove all previous ones. Settings, synonyms and query rules are untouched.
/// Replace all objects in an index without any downtime. Internally, this method copies the existing index settings, synonyms and query rules and indexes all passed objects.
/// Finally, the temporary one replaces the existing index. (Synchronous version)
- /// See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+ /// See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
///
/// The index in which to perform the request.
/// The list of `objects` to store in the given Algolia `indexName`.
@@ -425,7 +425,7 @@ public ReplaceAllObjectsResponse ReplaceAllObjects(string indexName, IEnumera
/// Push a new set of objects and remove all previous ones. Settings, synonyms and query rules are untouched.
/// Replace all objects in an index without any downtime. Internally, this method copies the existing index settings, synonyms and query rules and indexes all passed objects.
/// Finally, the temporary one replaces the existing index.
- /// See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+ /// See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
///
/// The index in which to perform the request.
/// The list of `objects` to store in the given Algolia `indexName`.
diff --git a/clients/algoliasearch-client-dart/README.md b/clients/algoliasearch-client-dart/README.md
index 14ac9a4889..ea4b2f1c3a 100644
--- a/clients/algoliasearch-client-dart/README.md
+++ b/clients/algoliasearch-client-dart/README.md
@@ -104,7 +104,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Dart, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Dart, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-go/README.md b/clients/algoliasearch-client-go/README.md
index a2942b61f8..b276496ddd 100644
--- a/clients/algoliasearch-client-go/README.md
+++ b/clients/algoliasearch-client-go/README.md
@@ -88,7 +88,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Go, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Go, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-java/README.md b/clients/algoliasearch-client-java/README.md
index 2f998a1d12..d95c5259bd 100644
--- a/clients/algoliasearch-client-java/README.md
+++ b/clients/algoliasearch-client-java/README.md
@@ -77,7 +77,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Java, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Java, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/extensions/SearchClient.kt b/clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/extensions/SearchClient.kt
index 5daa3961b9..7522aa4bd5 100644
--- a/clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/extensions/SearchClient.kt
+++ b/clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/extensions/SearchClient.kt
@@ -397,7 +397,7 @@ public suspend fun SearchClient.partialUpdateObjects(
* Internally, this method copies the existing index settings, synonyms and query rules and indexes all
* passed objects. Finally, the temporary one replaces the existing index.
*
- * See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+ * See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
*
* @param indexName The index in which to perform the request.
* @param objects The list of objects to replace.
diff --git a/clients/algoliasearch-client-php/README.md b/clients/algoliasearch-client-php/README.md
index 3b44d8853b..63c6ffbeda 100644
--- a/clients/algoliasearch-client-php/README.md
+++ b/clients/algoliasearch-client-php/README.md
@@ -81,7 +81,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for PHP, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for PHP, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-python/README.md b/clients/algoliasearch-client-python/README.md
index 3deae47e7a..484d57fd06 100644
--- a/clients/algoliasearch-client-python/README.md
+++ b/clients/algoliasearch-client-python/README.md
@@ -88,7 +88,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Python, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Python, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-ruby/README.md b/clients/algoliasearch-client-ruby/README.md
index 556ef17713..abebdbb367 100644
--- a/clients/algoliasearch-client-ruby/README.md
+++ b/clients/algoliasearch-client-ruby/README.md
@@ -55,7 +55,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Ruby, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Ruby, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-scala/README.md b/clients/algoliasearch-client-scala/README.md
index 346fa273aa..722b223d3b 100644
--- a/clients/algoliasearch-client-scala/README.md
+++ b/clients/algoliasearch-client-scala/README.md
@@ -124,7 +124,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Scala, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Scala, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/extension/package.scala b/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/extension/package.scala
index ba9f3cb911..3223e0bf94 100644
--- a/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/extension/package.scala
+++ b/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/extension/package.scala
@@ -326,7 +326,7 @@ package object extension {
* settings, synonyms and query rules and indexes all passed objects. Finally, the temporary one replaces the
* existing index.
*
- * See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation
+ * See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation
* details.
*
* @param indexName
diff --git a/clients/algoliasearch-client-swift/README.md b/clients/algoliasearch-client-swift/README.md
index c69785571a..e20f3c43c8 100644
--- a/clients/algoliasearch-client-swift/README.md
+++ b/clients/algoliasearch-client-swift/README.md
@@ -161,7 +161,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Swift, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Swift, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/clients/algoliasearch-client-swift/Sources/Search/Extra/SearchClientExtension.swift b/clients/algoliasearch-client-swift/Sources/Search/Extra/SearchClientExtension.swift
index 8f00f6d840..e8100f96f8 100644
--- a/clients/algoliasearch-client-swift/Sources/Search/Extra/SearchClientExtension.swift
+++ b/clients/algoliasearch-client-swift/Sources/Search/Extra/SearchClientExtension.swift
@@ -527,7 +527,7 @@ public extension SearchClient {
/// Replace all objects in an index
///
- /// See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation
+ /// See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation
/// details.
/// - parameter indexName: The name of the index where to replace the objects
/// - parameter objects: The new objects
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
index aabc6d55e4..034e16cadd 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
@@ -136,7 +136,7 @@ public void run(Map models, Map
operationId +
".json'.\n" +
"You can read more on the documentation:" +
- " https://api-clients-automation.netlify.app/docs/contributing/testing/common-test-suite"
+ " https://api-clients-automation.netlify.app/docs/testing/common-test-suite"
);
}
Request[] op = cts.get(operationId);
diff --git a/scripts/specs/format.ts b/scripts/specs/format.ts
index af3f6efffb..3a934d46b5 100644
--- a/scripts/specs/format.ts
+++ b/scripts/specs/format.ts
@@ -70,11 +70,6 @@ export async function transformBundle({
if (docs) {
const snippets = transformCodeSamplesToGuideMethods(JSON.parse(JSON.stringify(snippetSamples)));
- // the JS file will be removed once algolia/doc leverages the JSON one
- await fsp.writeFile(
- toAbsolutePath(`website/src/generated/${clientName}-snippets.js`),
- `export const snippets = ${snippets}`,
- );
await fsp.writeFile(toAbsolutePath(`snippets/guides/${clientName}-snippets.json`), snippets);
}
diff --git a/specs/bundled/README.md b/specs/bundled/README.md
index aef68e3da6..8cfcdd25e3 100644
--- a/specs/bundled/README.md
+++ b/specs/bundled/README.md
@@ -2,4 +2,4 @@
**Please do not edit the files in this folder, they are generated and changes will be overwritten by our scripts**
-[Read more on our documentation](https://api-clients-automation.netlify.app/docs/contributing/introduction)
+[Read more on our documentation](https://api-clients-automation.netlify.app/docs/introduction)
diff --git a/templates/go/search_helpers.mustache b/templates/go/search_helpers.mustache
index a88ec45d2e..e7d684f9a7 100644
--- a/templates/go/search_helpers.mustache
+++ b/templates/go/search_helpers.mustache
@@ -637,7 +637,7 @@ func (c *APIClient) ChunkedBatch(indexName string, objects []map[string]any, act
/*
ReplaceAllObjects replaces all objects (records) in the given `indexName` with the given `objects`. A temporary index is created during this process in order to backup your data.
-See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
@param indexName string - the index name to replace objects into.
@param objects []map[string]any - List of objects to replace.
@@ -690,4 +690,4 @@ func (c *APIClient) ReplaceAllObjects(indexName string, objects []map[string]any
BatchResponses: batchResp,
MoveOperationResponse: *moveResp,
}, nil
-}
+}
\ No newline at end of file
diff --git a/templates/java/api_helpers.mustache b/templates/java/api_helpers.mustache
index ed65a59249..802b4d16cc 100644
--- a/templates/java/api_helpers.mustache
+++ b/templates/java/api_helpers.mustache
@@ -597,7 +597,7 @@ public List chunkedBatch(String indexName, Iterable object
/**
* Push a new set of objects and remove all previous ones. Settings, synonyms and query rules are
* untouched. Replace all records in an index without any downtime. See
-* https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for
+* https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for
* implementation details.
*
* @param indexName The `indexName` to replace `objects` in.
@@ -715,7 +715,7 @@ return chunkedBatch(indexName, objects, createIfNotExists ? Action.PARTIAL_UPDAT
/**
* Push a new set of objects and remove all previous ones. Settings, synonyms and query rules are
* untouched. Replace all records in an index without any downtime.
-* See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+* See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
*
* @param indexName The `indexName` to replace `objects` in.
* @param objects The array of `objects` to store in the given Algolia `indexName`.
diff --git a/templates/javascript/clients/client/api/helpers.mustache b/templates/javascript/clients/client/api/helpers.mustache
index de9c98cbf8..c6bcda57cb 100644
--- a/templates/javascript/clients/client/api/helpers.mustache
+++ b/templates/javascript/clients/client/api/helpers.mustache
@@ -409,7 +409,7 @@ async partialUpdateObjects(
/**
* Helper: Replaces all objects (records) in the given `index_name` with the given `objects`. A temporary index is created during this process in order to backup your data.
- * See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+ * See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
*
* @summary Helper: Replaces all objects (records) in the given `index_name` with the given `objects`. A temporary index is created during this process in order to backup your data.
* @param replaceAllObjects - The `replaceAllObjects` object.
diff --git a/templates/kotlin/README.mustache b/templates/kotlin/README.mustache
index 318efb619b..409953c37f 100644
--- a/templates/kotlin/README.mustache
+++ b/templates/kotlin/README.mustache
@@ -130,7 +130,7 @@ Encountering an issue? Before reaching out to support, we recommend heading to o
## Contributing
-This repository hosts the code of the generated Algolia API client for Kotlin, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/contributing/introduction).
+This repository hosts the code of the generated Algolia API client for Kotlin, if you'd like to contribute, head over to the [main repository](https://github.com/algolia/api-clients-automation). You can also find contributing guides on [our documentation website](https://api-clients-automation.netlify.app/docs/introduction).
## đź“„ License
diff --git a/templates/php/api.mustache b/templates/php/api.mustache
index 290c6c4bdb..ee7eab587f 100644
--- a/templates/php/api.mustache
+++ b/templates/php/api.mustache
@@ -442,7 +442,7 @@ use {{invokerPackage}}\Support\Helpers;
/**
* Helper: Replace all objects in an index using a temporary one.
- * See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+ * See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
*
* @param string $indexName The `indexName` to replace `objects` in.
* @param array $objects The array of `objects` to store in the given Algolia `indexName`.
diff --git a/templates/python/search_helpers.mustache b/templates/python/search_helpers.mustache
index 50762b0eb4..13bc0cde4a 100644
--- a/templates/python/search_helpers.mustache
+++ b/templates/python/search_helpers.mustache
@@ -313,7 +313,7 @@
"""
Helper: Replaces all objects (records) in the given `index_name` with the given `objects`. A temporary index is created during this process in order to backup your data.
- See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
+ See https://api-clients-automation.netlify.app/docs/add-new-api-client#5-helpers for implementation details.
"""
tmp_index_name = self.create_temporary_name(index_name)
diff --git a/website/.gitignore b/website/.gitignore
index f529332347..34fc5af394 100644
--- a/website/.gitignore
+++ b/website/.gitignore
@@ -23,7 +23,5 @@ yarn-error.log*
!.yarn/releases
!.yarn/plugins
-specs
-
src/generated/*.js
src/generated/*.json
diff --git a/website/docs/contributing/CI/overview.md b/website/docs/CI/overview.md
similarity index 100%
rename from website/docs/contributing/CI/overview.md
rename to website/docs/CI/overview.md
diff --git a/website/docs/contributing/CLI/clients-commands.md b/website/docs/CLI/clients-commands.md
similarity index 100%
rename from website/docs/contributing/CLI/clients-commands.md
rename to website/docs/CLI/clients-commands.md
diff --git a/website/docs/contributing/CLI/cts-commands.md b/website/docs/CLI/cts-commands.md
similarity index 100%
rename from website/docs/contributing/CLI/cts-commands.md
rename to website/docs/CLI/cts-commands.md
diff --git a/website/docs/contributing/CLI/release-commands.md b/website/docs/CLI/release-commands.md
similarity index 100%
rename from website/docs/contributing/CLI/release-commands.md
rename to website/docs/CLI/release-commands.md
diff --git a/website/docs/contributing/CLI/specs-commands.md b/website/docs/CLI/specs-commands.md
similarity index 100%
rename from website/docs/contributing/CLI/specs-commands.md
rename to website/docs/CLI/specs-commands.md
diff --git a/website/docs/contributing/add-new-api-client.md b/website/docs/add-new-api-client.md
similarity index 97%
rename from website/docs/contributing/add-new-api-client.md
rename to website/docs/add-new-api-client.md
index 4a49ae1e66..7539460fdc 100644
--- a/website/docs/contributing/add-new-api-client.md
+++ b/website/docs/add-new-api-client.md
@@ -113,7 +113,7 @@ It also improves the readability of the specs.
description: The single quotes are required.
```
-For information about documenting properties and parameters, see [Properties and parameters](/docs/contributing/docs#properties-and-parameter-descriptions).
+For information about documenting properties and parameters, see [Properties and parameters](/docs/docs#properties-and-parameter-descriptions).
### Troubleshooting
@@ -166,13 +166,13 @@ The following fields are required:
Use the CLI to generate the clients:
-- [Commands for working with specs](../contributing/CLI/specs-commands.md)
-- [Commands for working with clients](../contributing/CLI/clients-commands.md)
+- [Commands for working with specs](./CLI/specs-commands.md)
+- [Commands for working with clients](./CLI/clients-commands.md)
## 4. Add tests with the Common Test Suite
You must add tests for your clients.
-For more information, see [Common Test Suite](../contributing/testing/common-test-suite.md).
+For more information, see [Common Test Suite](./testing/common-test-suite.md).
## 5. Helpers
diff --git a/website/docs/contributing/add-new-language.md b/website/docs/add-new-language.md
similarity index 95%
rename from website/docs/contributing/add-new-language.md
rename to website/docs/add-new-language.md
index a380735a94..3f5c56aec2 100644
--- a/website/docs/contributing/add-new-language.md
+++ b/website/docs/add-new-language.md
@@ -4,7 +4,7 @@ title: Support a new language
:::info
-Make sure to first [setup the repository tooling](/docs/contributing/setup-repository) to ease your journey!
+Make sure to first [setup the repository tooling](/docs/setup-repository) to ease your journey!
:::
@@ -30,7 +30,7 @@ docker exec apic_base bash -c "yarn openapi-generator-cli author template -g typ
## Update the generator config
-Please read the [`add a new client guide`](/docs/contributing/add-new-api-client) for information on how to structure your new client and setup the configuration files.
+Please read the [`add a new client guide`](/docs/add-new-api-client) for information on how to structure your new client and setup the configuration files.
### Algolia requirements
@@ -71,7 +71,7 @@ The retry strategy cannot be generated and needs to be implemented outside of th
Some Algolia clients (search and recommend) targets the default appId host (`${appId}-dsn.algolia.net`, `${appId}.algolia.net`, etc.), while clients like `personalization` have their own regional `host` (`eu` | `us` | `de`).
-As the generator does not support reading `servers` in a spec file **yet**, hosts methods and variables are extracted with a custom script and create variables for you to use in the mustache templates, [read more here](/docs/contributing/add-new-api-client#2-configure-the-generator).
+As the generator does not support reading `servers` in a spec file **yet**, hosts methods and variables are extracted with a custom script and create variables for you to use in the mustache templates, [read more here](/docs/add-new-api-client#2-configure-the-generator).
### User Agent
diff --git a/website/docs/clients/guides/copy-index-to-another-application.md b/website/docs/clients/guides/copy-index-to-another-application.md
deleted file mode 100644
index 710fc25d99..0000000000
--- a/website/docs/clients/guides/copy-index-to-another-application.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Copy an index to another application
----
-
-We recommend using the [Algolia CLI](https://www.algolia.com/doc/tools/cli/get-started/overview/) for this kind of operation, please refer to [this guide](https://www.algolia.com/doc/tools/cli/examples/recipes/#copy-indices-with-the-algolia-cli).
diff --git a/website/docs/clients/guides/copy-or-move-index-rules-settings-synonyms.mdx b/website/docs/clients/guides/copy-or-move-index-rules-settings-synonyms.mdx
deleted file mode 100644
index 94872f2d09..0000000000
--- a/website/docs/clients/guides/copy-or-move-index-rules-settings-synonyms.mdx
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: Copy or move an index, rules, settings or synonyms
----
-
-:::caution
-
-This method is made to be used within **the same Algolia application**, for cross application operations, [read our dedicated guide](/docs/clients/guides/copy-index-to-another-application).
-
-:::
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-## Copy an index
-
-When you copy an index, it doesn’t copy the associated analytics data. The new index starts fresh. Be careful when using the `operationIndex` method with the `copy` parameter to overwrite an existing index, as it associates the existing analytics data of the overwritten index with the new one.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('operationIndex', 'copy')}
-
-${waitForTaskSnippet('')}
-`)}/>
-
-## Rename/move an index
-
-Changing the name of an index doesn’t change the name of the index’s analytics. The new name references new analytics; the old and new analytics aren’t merged. If you want to preserve an index’s analytics history, you need to keep using the old name.
-
- (
-`${getSnippet('operationIndex', 'move')}
-
-${waitForTaskSnippet('')}
-`)}/>
-
-## Scope your operation
-
-When the scope is absent from the request, the index will be fully copied, but you can also decide to specify the scope of what you'd like to copy.
-
-The available scopes are: `rules`, `settings`, `synonyms`. You can provide one or many.
-
- (
-`${getSnippet('operationIndex', 'scopes')}
-
-${waitForTaskSnippet('')}
-`)}/>
diff --git a/website/docs/clients/guides/customized-client-usage.mdx b/website/docs/clients/guides/customized-client-usage.mdx
deleted file mode 100644
index 1f8b65c740..0000000000
--- a/website/docs/clients/guides/customized-client-usage.mdx
+++ /dev/null
@@ -1,568 +0,0 @@
----
-title: Customized client usage
----
-
-import { TabsLanguage } from '../../../src/components/TabsLanguage';
-import TabItem from '@theme/TabItem';
-
-You might want to customize how the API client works, by providing additional information to your request, adding user-agents or use your own HTTP requester.
-
-## Setting a logger
-
-You can set a custom logger on the client to enable more or less debug output depending on your need.
-
-
-
-
-```java
-import com.algolia.api.SearchClient;
-import com.algolia.config.ClientOptions;
-
- ClientOptions options = ClientOptions.builder()
- .setLogger(message -> System.out.println(message))
- .build();
- SearchClient client = new SearchClient(
- "",
- "",
- options
- );
-```
-
-
-
-
-
-```kotlin
-import com.algolia.client.api.SearchClient
-import com.algolia.client.configuration.ClientOptions
-import io.ktor.client.plugins.logging.Logger
-
-val client = SearchClient(
- appId = "",
- apiKey = "",
- options = ClientOptions(
- logger = object : Logger {
- override fun log(message: String) {
- println(message)
- }
- },
- )
-)
-```
-
-
-
-
-```dart
-var client = SearchClient(
- appId: '',
- apiKey: '',
- options: ClientOptions(logger: print),
-);
-```
-
-
-
-
- If you enable the `debug` property of the Go API client, it will print the request and response to the standard output.
-
-```go
-searchClient, _ := search.NewClientWithConfig(search.Configuration{
- AppID: "",
- ApiKey: "",
- Debug: true,
-})
-```
-
-
-
-
-```csharp
-using Algolia.Search.Clients;
-using Microsoft.Extensions.Logging;
-
-var loggerFactory = LoggerFactory.Create(builder =>
-{
- // Log everything from Algolia in the console, including debug logs
- builder.AddFilter("Algolia", LogLevel.Debug).AddConsole();
-});
-
-var client = new SearchClient("", "", loggerFactory);
-```
-
-
-
-
-
-## Send additional information in your request with `requestOptions`
-
-The `requestOptions` parameter allows you to merge additional information with the client transporter, such as `headers` or `query parameters`.
-
-**Note: `requestOptions` overrides the default parameters that were previously set in the method and client.**
-
-
-
-
-```js
-await client.search(
- {
- requests: [
- {
- indexName: '',
- query: '',
- hitsPerPage: 50,
- },
- ],
- },
- {
- // This header is added to the request
- headers: {
- 'additional-header': 'hello',
- },
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- queryParameters: {
- hitsPerPage: 100,
- },
- }
-);
-```
-
-
-
-
-```php
-$client->search(
- [
- 'requests' => [
- [
- 'indexName' => '',
- 'query' => '',
- 'hitsPerPage' => 50,
- ],
- ]
- ],
- [
- // This header is added to the request
- 'headers' => ['additional-header' => 'hello'],
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- 'queryParameters' => ['hitsPerPage' => 100],
- ]
-);
-```
-
-
-
-
-```java
-import com.algolia.model.search.*;
-import com.algolia.utils.RequestOptions;
-
-client.search(
- new SearchMethodParams()
- .addRequests(
- new SearchForHits()
- .setIndexName("")
- .setQuery("")
- .setHitsPerPage(50)
- ),
- new RequestOptions()
- // This header is added to the request
- .addExtraHeader("additional-header", "hello")
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- .addExtraQueryParameters("hitsPerPage", 100)
-);
-```
-
-
-
-
-
-```kotlin
-client.search(
- searchMethodParams = SearchMethodParams(
- requests = listOf(
- SearchForHits(
- indexName = "",
- query = "",
- hitsPerPage = 50,
- )
- )
- ),
- requestOptions = RequestOptions(
- // This header is added to the request
- headers = mapOf("additional-header" to "hello"),
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- urlParameters = mapOf("hitsPerPage" to 100)
- )
-)
-```
-
-
-
-
-
-```dart
-await client.search(
- searchMethodParams: SearchMethodParams(
- requests: [
- SearchForHits(
- indexName: '',
- query: '',
- hitsPerPage: 50,
- )
- ],
- ),
- requestOptions: RequestOptions(
- // This header is added to the request
- headers: {'additional-header': 'hello'},
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- urlParameters: {'hitsPerPage': 100},
- ),
-);
-```
-
-
-
-
-
-```go
-import (
- "github.com/algolia/algoliasearch-client-go/v4/algolia/search"
-)
-
-indexName := ""
-appID := ""
-apiKey := ""
-
-searchClient, _ := search.NewClient(appID, apiKey)
-
-searchClient.Search(
- searchClient.NewApiSearchRequest(
- search.NewSearchMethodParams([]search.SearchQuery{
- search.SearchForHitsAsSearchQuery(
- search.NewSearchForHits(
- indexName,
- search.WithSearchForHitsQuery("jeans"),
- search.WithSearchForHitsHitsPerPage(50),
- ),
- ),
- }),
- ),
- // This header is added to the request
- search.HeaderParamOption("additional-header", "hello"),
-
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- search.QueryParamOption("hitsPerPage", 100),
-)
-```
-
-
-
-
-
-```csharp
-using Algolia.Search.Clients;
-using Algolia.Search.Http;
-using Algolia.Search.Models.Search;
-
-var client = new SearchClient("", "");
-
-client.SearchSingleIndex("",
- new SearchParams(new SearchParamsObject { Query = "", HitsPerPage = 50 }),
- // You can use the fluent builder to add extra headers, query parameters, and set the timeout.
- new RequestOptionBuilder()
- // This header is added to the request
- .AddExtraHeader("additional-header", "hello")
- .AddExtraHeader("another-header", "hello again")
- // As we re-define `hitsPerPage`, it will override the value defined in the method's parameters.
- .AddExtraQueryParameters("hitsPerPage", 100)
- .SetTimeout(TimeSpan.FromMinutes(1)).Build());
-
-client.SearchSingleIndex("",
- new SearchParams(new SearchParamsObject { Query = "", HitsPerPage = 50 }),
- // You can also directly instantiate the RequestOptions object
- new RequestOptions
- {
- Headers = new Dictionary { { "additional-header", "hello" } },
- QueryParameters = new Dictionary { { "hitsPerPage", 100 } }
- });
-```
-
-
-
-
-
-## Provide your own user-agent
-
-The API clients offers a method for you to append data to the current user-agent.
-
-
-
-
-> In the JavaScript client, user-agent are sent in the header via the `x-algolia-agent` property.
-
-```js
-import { searchClient } from '@algolia/client-search';
-
-const client = searchClient('', '');
-
-// This will append `; my user agent (optional version)` to the current value of `x-algolia-agent` for every requests
-client.addAlgoliaAgent('my user agent', 'optional version');
-```
-
-
-
-
-```php
-$client = SearchClient::create(
- '',
- ''
-);
-
-// This will append `; my user agent (optional version)` to the current value of `User-Agent` for every requests
-Algolia\AlgoliaSearch\Support\AlgoliaAgent::addAlgoliaAgent(
- $client->getClientConfig()->getClientName(),
- "my user agent",
- "optional version"
-);
-```
-
-
-
-
-```java
-import com.algolia.api.SearchClient;
-import com.algolia.config.ClientOptions;
-
-// This will append `; my user agent (optional version)` to the current value of `x-algolia-agent` for every requests
-ClientOptions options = ClientOptions.builder()
- .addAlgoliaAgentSegment("my user agent", "optional version")
- .build();
-SearchClient client = new SearchClient(
- "",
- "",
- options
-);
-```
-
-
-
-
-
-```kotlin
-val client = SearchClient(
- "",
- "",
- ClientOptions(
- algoliaAgentSegments = listOf(
- AgentSegment(
- value = "my user agent",
- version = "optional version",
- )
- )
- )
-)
-```
-
-
-
-
-
-```dart
-var client = SearchClient(
- appId: 'YOUR_APP_ID>',
- apiKey: '',
- options: ClientOptions(agentSegments: [
- AgentSegment(
- value: 'my user agent',
- version: 'optional version',
- )
- ]),
-);
-```
-
-
-
-
-
-> In the Go client, you can use the NewClientWithConfig method to create a new API client with the given configuration to fully customize the client behaviour. Only the AppID and APIKey are required, other configuration parameters will be defaulted if not provided.
-
-```go
-import (
- "github.com/algolia/algoliasearch-client-go/v4/algolia/search"
-)
-
-searchClient, _ := search.NewClientWithConfig(search.Configuration{
- AppID: appID,
- ApiKey: apiKey,
- Hosts: nil,
- DefaultHeader: nil,
- UserAgent: "my user agent (optional version)",
- Debug: false,
- Requester: nil,
- ReadTimeout: 0,
- WriteTimeout: 0,
- Compression: 0,
-})
-```
-
-
-
-
-
-```csharp
-using Algolia.Search.Clients;
-
-var searchConfig = new SearchConfig("", "");
-
-// This will append `; my user agent (optional version)` to the current value of `x-algolia-agent` for every requests
-searchConfig.UserAgent.AddSegment("my user agent", "optional version");
-var client = new SearchClient(searchConfig);
-```
-
-
-
-
-
-## Use your own HTTP requester
-
-You can override the default requester behavior by providing your requester logic at the initialization of the client.
-
-
-
-
-> The JavaScript client provides an `echoRequester`, that will return the full payload of the request.
-
-```js
-import { searchClient } from '@algolia/client-search';
-import { echoRequester } from '@algolia/requester-node-http';
-
-const client = searchClient('', '', {
- // The first parameter is the status to return
- requester: echoRequester(200),
-});
-```
-
-
-
-
-> In PHP, the requests are handled by the HTTP Client (by default GuzzleHttpClient)
-
-```php
-use Algolia\AlgoliaSearch\Api\SearchClient;
-use Algolia\AlgoliaSearch\Configuration\SearchConfig;
-use Algolia\AlgoliaSearch\Http\HttpClientInterface;
-use Algolia\AlgoliaSearch\RetryStrategy\ApiWrapper;
-use Algolia\AlgoliaSearch\RetryStrategy\ClusterHosts;
-
-// Create a config and a clusterhosts objects with your credentials
-$config = SearchConfig::create('', '');
-$clusterHosts = ClusterHosts::createFromAppId('');
-
-// Instanciate a MyHttpClient object implementing HttpClientInterface (replacing GuzzleHttpClient)
-$myHttpClient = new MyHttpClient(...);
-// Now create you custom Api wrapper
-$apiWrapper = new ApiWrapper($myHttpClient, $config, $clusterHosts);
-
-// Instanciate your client using the constructor
-$client = new SearchClient($apiWrapper, $config);
-```
-
-
-
-
-> Create your own requester by creating a class that implements `com.algolia.utils.Requester`, and use it by passing it to the client constructor.
-
-```java
-import com.algolia.api.SearchClient;
-
-SearchClient client = new SearchClient(
- "",
- "",
- ClientOptions.builder().setRequester(new MyOwnRequester()).build()
-);
-```
-
-
-
-
-
-```kotlin
-val client = SearchClient(
- "",
- "",
- ClientOptions(
- requester = MyOwnRequester()
- )
-)
-```
-
-
-
-
-
-```dart
-var client = SearchClient(
- appId: "",
- apiKey: "",
- options: ClientOptions(requester : MyOwnRequester())
-);
-```
-
-
-
-
-> In the Go client, you can use the NewClientWithConfig method to create a new API client with the given configuration to fully customize the client behaviour. Only the AppID and APIKey are required, other configuration parameters will be defaulted if not provided.
-
-```go
-import (
-"net/http"
-
-"github.com/algolia/algoliasearch-client-go/v4/algolia/search"
-)
-
-type MyCustomRequester struct {
- client *http.Client
-}
-
-func NewCustomRequester() *MyCustomRequester {
- return &MyCustomRequester{
- client: http.DefaultClient,
- }
-}
-
-func (r *MyCustomRequester) Request(req *http.Request) (*http.Response, error) {
- println("MyCustomRequester > Request: ", req.RequestURI)
-
- return r.client.Do(req)
-}
-
-searchClient, _ := search.NewClientWithConfig(search.Configuration{
- AppID: appID,
- ApiKey: apiKey,
- Hosts: nil,
- DefaultHeader: nil,
- UserAgent: "",
- Debug: false,
- Requester: NewCustomerRequester(),
- ReadTimeout: 0,
- WriteTimeout: 0,
- Compression: 0,
-})
-```
-
-
-
-
-
-> Create your own requester by creating a class that implements `IHttpRequester`, and use it by passing it to the client constructor.
-
-```csharp
-using Algolia.Search.Clients;
-
-var config = new SearchConfig("", "");
-var client = new SearchClient(config, new MyOwnRequester());
-```
-
-
-
diff --git a/website/docs/clients/guides/delete-objects.mdx b/website/docs/clients/guides/delete-objects.mdx
deleted file mode 100644
index ae20ca8ca2..0000000000
--- a/website/docs/clients/guides/delete-objects.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Delete Multiple Objects using Batch
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-In Algolia, you can delete multiple objects efficiently using the batch functionality. This guide will show you how to delete multiple objects at once.
-
-## Delete Multiple Objects
-
-To delete multiple objects using batch, create a *batch write params* object that contains the array of delete requests.
-Each delete request should have the `action` set to `deleteObject` and the `body` containing the respective object ID.
-This allows you to define multiple delete operations within the `requests` array.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('batch', 'deleteObject')}
-
-${waitForTaskSnippet()}
-`)}/>
-
-By executing the above code, all the objects with the specified object IDs will be deleted from your index.
-
-That's it! You have successfully deleted multiple objects using `batch`.
diff --git a/website/docs/clients/guides/filtering-your-search.mdx b/website/docs/clients/guides/filtering-your-search.mdx
deleted file mode 100644
index fff710cc6d..0000000000
--- a/website/docs/clients/guides/filtering-your-search.mdx
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: Filtering your search
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-Filtering is primarily used in the context of front-end search. We call this faceting, where filters are displayed on the search UI as clickable items, allowing users to select one or more filters. This enables a more refined, drilled-down search experience.
-
-## How to Filter Your Data
-
-### 1. Define attributes that need to be filterable (at indexing time)
-
-Initially, filter attributes must be defined as facets, using the `attributesForFaceting` parameter. This can be done using the `setSettings` method.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('setSettings', 'setSettingsAttributesForFaceting')}
-
-${waitForTaskSnippet()}
-`)}/>
-
-### 2. Filter by Attributes (at query time)
-
-The actual filtering of records is performed at query time, not at indexing time. For this, you need to use the filters parameter in your search code.
-
-#### Filtering by string using the `filters` field
-
- (
-`${addComment('Only "Scarlett Johansson" actor')}
-${getSnippet('search', 'filterOnly')}
-
-${addComment('Only "Tom Cruise" or "Scarlett Johansson" actor')}
-${getSnippet('search', 'filterOr')}
-
-${addComment('Everything but "Nicolas Cage" actor')}
-${getSnippet('search', 'filterNot')}
-`)}/>
diff --git a/website/docs/clients/guides/manage-dictionary-entries.mdx b/website/docs/clients/guides/manage-dictionary-entries.mdx
deleted file mode 100644
index b3a823f242..0000000000
--- a/website/docs/clients/guides/manage-dictionary-entries.mdx
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: Manage dictionary entries
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-The REST API offers [a single endpoint to manage your dictionary](https://api-clients-automation.netlify.app/specs/search#tag/Dictionaries/operation/batchDictionaryEntries). In this guide, we will demonstrate how to manage entries for different scenarios.
-
-A `dictionaryName` can be either `stopwords`, `plurals` or `compounds`.
-
-## Append new entries to your dictionary
-
-> Useful when you have new data to add to a dictionary and don't want to impact existing entries.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('batchDictionaryEntries', 'append')}
-
-${waitForAppTaskSnippet()}
-`)}/>
-
-## Replace dictionary entries
-
-> Useful when you want to clear every entries of a dictionary and add new ones at the same time.
-
- (
-`${getSnippet('batchDictionaryEntries', 'replace')}
-
-${waitForAppTaskSnippet()}
-`)}/>
-
-## Delete entries in the dictionary
-
-> Useful when deleting one or many entries from a dictionary.
-
- (
-`${getSnippet('batchDictionaryEntries', 'delete')}
-
-${waitForAppTaskSnippet()}
-`)}/>
diff --git a/website/docs/clients/guides/replace-all-rules-synonyms.mdx b/website/docs/clients/guides/replace-all-rules-synonyms.mdx
deleted file mode 100644
index 1aa070534d..0000000000
--- a/website/docs/clients/guides/replace-all-rules-synonyms.mdx
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Replace All Rules and Synonyms
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-In Algolia, you can replace all existing rules and synonyms by leveraging the appropriate methods. This guide will show you how to use `saveRules` and `saveSynonyms` methods to achieve this.
-
-## Replace All Rules
-
-To replace all existing rules in Algolia, you can use the `saveRules` method with the `clearExistingRules` parameter set to `true`.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('saveRules')}
-
-${waitForTaskSnippet()}
-`)}/>
-
-The rules parameter should contain the array of rules you want to save.
-By executing the above code, all existing rules will be removed, and the new rules provided will be saved to your Algolia index.
-
-## Replace All Synonyms
-
-To replace all existing synonyms in Algolia, you can use the `saveSynonyms` method with the `replaceExistingSynonyms` parameter set to `true`.
-
- (
-`${getSnippet('saveSynonyms')}
-
-${waitForTaskSnippet()}
-`)}/>
-The `synonymHit`parameter should contain the synonyms you want to save.
-By executing the above code, all existing synonyms will be replaced with the new synonyms provided.
-
-That's it! You have learned how to replace all existing rules and synonyms in Algolia using the `saveRules` and `saveSynonyms` methods respectively.
-
diff --git a/website/docs/clients/guides/retrieving-facets.mdx b/website/docs/clients/guides/retrieving-facets.mdx
deleted file mode 100644
index d84d800c98..0000000000
--- a/website/docs/clients/guides/retrieving-facets.mdx
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Retrieving facets
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-To retrieve facets and their respective counts as part of the JSON response, you must specify a list of facets in the facets parameter at query time.
-
-For example, you can retrieve your books' facets with the `search` method, and the `facets` parameter.
-
-> When the `facets` parameter is empty, the engine returns no facet information.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('search', 'retrieveFacets')}
-`)}/>
-
-To extract all facet information, you can use a wildcard (`*`).
-
- (
-`${getSnippet('search', 'retrieveFacetsWildcard')}
-`)}/>
diff --git a/website/docs/clients/guides/send-data-to-algolia.mdx b/website/docs/clients/guides/send-data-to-algolia.mdx
deleted file mode 100644
index 918cc2c750..0000000000
--- a/website/docs/clients/guides/send-data-to-algolia.mdx
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Send data to Algolia
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-Algolia doesn’t search directly into your own data source. For data to be searchable, you need to send it to Algolia’s servers.
-
-This happens right after retrieving your data from your data source and reformatting it. Once your data is ready, you can push it to Algolia using the `batch` method.
-
-## Sending your data
-
-:::caution
-
-If the data you are sending is more than 1000 records at once, we recommend you to use [our chunked batch solution](/docs/clients/guides/filtering-your-search) instead.
-
-:::
-
-Before sending anything to Algolia, you need to retrieve your data. You can do this in several ways, in our case we will pick it from the source code directly.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('batch', 'addObject')}
-
-${waitForTaskSnippet()}
-`)}/>
diff --git a/website/docs/clients/guides/wait-for-a-task-to-finish.mdx b/website/docs/clients/guides/wait-for-a-task-to-finish.mdx
deleted file mode 100644
index 28a868b39a..0000000000
--- a/website/docs/clients/guides/wait-for-a-task-to-finish.mdx
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Wait for a task to finish
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-> The `waitForTask` method is only available in the `search` client context.
-
-Some operations related to the Algolia index are not always instantaneous. Doing such operations with our API clients will provide a `taskID` in the response body, so you can later know what is the status of your operation.
-
-We provide a `waitForTask` helper method for you to easily wait for a specific task status.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('deleteObject')}
-
-${waitForTaskSnippet()}
-`)}/>
diff --git a/website/docs/clients/guides/wait-for-api-key-to-be-valid.mdx b/website/docs/clients/guides/wait-for-api-key-to-be-valid.mdx
deleted file mode 100644
index 1b30b0197b..0000000000
--- a/website/docs/clients/guides/wait-for-api-key-to-be-valid.mdx
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Wait for an API key to be valid
----
-
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-
-> The `waitForApiKey` method is only available in the `search` client context.
-
-Adding, updating or deleting API keys is not always instantaneous, which is why you might want to ensure the job has been processed before jumping to an other task.
-
-We provide a `waitForApiKey` helper method for you to easily wait for a specific `operation` made on a `key`.
-
-## `add`
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('addApiKey')}
-
-${waitForApiKeySnippet('add')}
-`)}/>
-
-## `update`
-
- (
-`${getSnippet('updateApiKey')}
-
-${waitForApiKeySnippet('update')}
-`)}/>
-
-## `delete`
-
- (
-`${getSnippet('deleteApiKey')}
-
-${waitForApiKeySnippet('delete')}
-`)}/>
diff --git a/website/docs/clients/introduction.md b/website/docs/clients/introduction.md
deleted file mode 100644
index 2cc7c041b9..0000000000
--- a/website/docs/clients/introduction.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: Introduction
----
-
-# Introduction
-
-This section holds information about [the generated Algolia API clients](https://github.com/algolia/api-clients-automation).
-
-If you wish to contribute, please see [the contributing page](/docs/contributing/introduction).
-
-## Repositories
-
-Generated code in production can be find on repository of the clients.
-
-- [C#](https://github.com/algolia/algoliasearch-client-csharp/tree/main)
-- [Dart](https://github.com/algolia/algoliasearch-client-dart/)
-- [Go](https://github.com/algolia/algoliasearch-client-go/tree/main/)
-- [JavaScript](https://github.com/algolia/algoliasearch-client-javascript/tree/main/)
-- [Java](https://github.com/algolia/algoliasearch-client-java/tree/main/)
-- [Kotlin](https://github.com/algolia/algoliasearch-client-kotlin/tree/main/)
-- [PHP](https://github.com/algolia/algoliasearch-client-php/tree/main/)
-- [Python](https://github.com/algolia/algoliasearch-client-python/tree/main)
-- [Ruby](https://github.com/algolia/algoliasearch-client-ruby/tree/main)
-- [Scala](https://github.com/algolia/algoliasearch-client-scala/tree/main)
-- [Swift](https://github.com/algolia/algoliasearch-client-swift/tree/main)
-
-## Usage
-
-See [the usage](/docs/clients/usage) page.
-
-## Example
-
-Code snippets are available for every APIs, clients and endpoints, [browse our OpenAPI specs](/specs/search).
-
-## Feedbacks
-
-Please use [GitHub issues](https://github.com/algolia/api-clients-automation/issues)
diff --git a/website/docs/clients/migration-guides/index.mdx b/website/docs/clients/migration-guides/index.mdx
deleted file mode 100644
index 0bd1509049..0000000000
--- a/website/docs/clients/migration-guides/index.mdx
+++ /dev/null
@@ -1,305 +0,0 @@
----
-title: Migration guide
----
-
-:::warning
-
-The amount of changes in this new version is significant. If you were using a version older than v4, please also read [this migration guide](https://www.algolia.com/doc/api-client/getting-started/upgrade-guides/javascript/).
-
-**You should thoroughly test your application before deploying to production.**
-
-:::
-
-import TabItem from '@theme/TabItem';
-import { CodeBlockLanguage } from '../../../src/components/CodeBlockLanguage';
-import { TabsLanguage } from '../../../src/components/TabsLanguage';
-
-This document lists every known breaking change, not all of them may affect your application.
-
-## Common breaking changes
-
-> The changes below are effective on all of the API clients.
-
-### `initIndex`
-
-Methods previously available at the `initIndex` level are now available at the `root` level of the API client.
-
-The `indexName` parameter is now **required** when calling those methods.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-${getSnippet('search', 'withHitsPerPage')}
-`)}/>
-
-### A/B testing client
-
-The A/B testing methods were previously available under the `Analytics` client, we've decided to make a client out of it to split concerns.
-
-The `Abtesting` client now hosts all of the `A/B testing` related methods.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('getABTest')}
-`)}/>
-
-### `wait`
-
-The chainable `wait` method that was available on a few methods has been replaced with an helper called `waitForTask`.
-
-You can now optionally configure how the wait logic behaves by passing the `taskID` returned when calling the Algolia API.
-
-[Read more in our dedicated guide](/docs/clients/guides/wait-for-a-task-to-finish)
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('saveObject')}
-
-${waitForTaskSnippet()}
-`)}/>
-
-### `moveIndex`/`copyIndex`
-
-The `operationIndex` allows you to either `copy` or `move` a `source` index to a `destination` index **within the same Algolia application**.
-
-You can also decide what `scope` of the `source` index should be copied, [read more in our dedicated guide](/docs/clients/guides/copy-or-move-index-rules-settings-synonyms).
-
-This method can be used as a replacement for the `copyRules`, `copySynonyms`, and `copySettings` method when using the associated `scope`.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('operationIndex', 'scopes')}
-
-${waitForTaskSnippet('')}
-`)}/>
-
-### `saveObjects`
-
-The `saveObjects` method has been removed, you can leverage the already existing `batch` method instead.
-
-[Read more in our dedicated guide](/docs/clients/guides/send-data-to-algolia) or [the API reference](/specs/search/#tag/Records/operation/batch).
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${getSnippet('batch', 'addObject')}
-
-${waitForTaskSnippet()}
-`)}/>
-
-### `browseObjects`/`browseRules`/`browseSynonyms`
-
-The `browseObjects`/`browseRules`/`browseSynonyms` signature have changed to match the general usage of the API clients.
-
-
-
-
-```js
-// browse records
-const records: Record = [];
-
-await client.browseObjects({
- // all base `browse` options are forwarded to the `browse` method
- indexName: '',
-
- // the aggregator to execute right after the API call has been resolved
- aggregator: (response) => records.push(...response.hits),
-});
-
-console.log(records, records.length);
-
-// browse rules
-const rules: Record = [];
-
-await client.browseRules({
- // all base `searchRules` options are forwarded to the `searchRules` method
- indexName: '',
-
- // the aggregator to execute right after the API call has been resolved
- aggregator: (response) => rules.push(...response.hits),
-});
-
-console.log(rules, rules.length);
-
-// browse synonyms
-const synonyms: Record = [];
-
-await client.browseSynonyms({
- // all base `searchSynonyms` options are forwarded to the `searchSynonyms` method
- indexName: '',
-
- // the aggregator to execute right after the API call has been resolved
- aggregator: (response) => synonyms.push(...response.hits),
-});
-
-console.log(synonyms, synonyms.length);
-```
-
-
-
-
-```py
-# browse records
-responses = []
-
-await client.browse_objects(
- # all base `browse` options are forwarded to the `browse` method
- index_name=""
- aggregator=lambda _resp, responses.append(_resp)
-)
-
-print(responses)
-
-# browse rules
-rules = []
-
-await client.browse_rules(
- # all base `search_rules` options are forwarded to the `search_rules` method
- index_name=""
- aggregator=lambda _resp, rules.append(_resp)
-)
-
-print(rules)
-
-# browse synonyms
-synonyms = []
-
-await client.browse_synonyms(
- # all base `search_synonyms` options are forwarded to the `search_synonyms` method
- index_name=""
- aggregator=lambda _resp, synonyms.append(_resp)
-)
-
-print(synonyms)
-```
-
-
-
-```php
-
-// browse records
-$results = $client->browseObjects($indexName);
-
-$objects = [];
-foreach ($results as $object) {
- $objects[] = $object;
-}
-var_dump($objects);
-
-// browse synonyms
-$results = $client->browseSynonyms($indexName);
-
-$synonyms = [];
-foreach ($results as $synonym) {
- $synonyms[] = $synonym;
-}
-var_dump($synonyms);
-
-// browse rules
-$results = $client->browseRules($indexName);
-
-$rules = [];
-foreach ($results as $rule) {
- $rules[] = $rule;
-}
-var_dump($rules);
-
-```
-
-
-
-
-```java
-// browse records
-Iterable objects = client.browseObjects(
- "",
- // all base `browse` options are forwarded to the `browse` method
- new BrowseParamsObject()
-);
-for (MyObject object : objects) {
- System.out.println(object.myProperty);
-}
-
-// browse rules
-Iterable rules = client.browseRules(
- "",
- // all base `searchRules` options are forwarded to the `searchRules` method (optional)
- new SearchRulesParams()
-);
-for (Rule rule : rules) {
- System.out.println(rule);
-}
-
-// browse synonyms
-Iterable synonyms = client.browseRules(
- "",
- // only search for specific types of synonyms. (optional)
- null,
- // all base `searchSynonyms` options are forwarded to the `searchSynonyms` method (optional)
- new SearchSynonymsParams()
-);
-for (SynonymHit synonym : synonyms) {
- System.out.println(synonym);
-}
-
-```
-
-
-
-
-```csharp
-using Algolia.Search.Clients;
-using Algolia.Search.Models.Search;
-using Algolia.Search.Utils;
-
-var client = new SearchClient("", "");
-
-var browseObjects = await client.BrowseObjectsAsync("",
- // all base `browse` options are forwarded to the `browse` method
- new BrowseParamsObject());
-
-foreach (var actor in browseObjects)
-{
- Console.WriteLine(actor.Name);
-}
-
-var browseRules = await client.BrowseRulesAsync("",
- // all base `searchRules` options are forwarded to the `searchRules` method (optional)
- new SearchRulesParams());
-
-foreach (var rule in browseRules)
-{
- Console.WriteLine(rule);
-}
-
-var browseSynonyms = await client.BrowseSynonymsAsync("",
- // all base `searchSynonyms` options are forwarded to the `searchSynonyms` method (optional)
- new SearchSynonymsParams());
-
-foreach (var synonym in browseSynonyms)
-{
- Console.WriteLine(synonym);
-}
-```
-
-
-
-
-## Client's specific breaking changes
-
-You can find specific client breaking changes in their own section:
-
-- [JavaScript migration guide](/docs/clients/migration-guides/javascript)
-- [PHP migration guide](/docs/clients/migration-guides/php)
diff --git a/website/docs/clients/migration-guides/javascript.md b/website/docs/clients/migration-guides/javascript.md
deleted file mode 100644
index d67ec84d43..0000000000
--- a/website/docs/clients/migration-guides/javascript.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: JavaScript
----
-
-| Previous | Latest | Description |
-|-----------|:---------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `search` | `searchClient` | Exported clients are suffixed by `Client`. |
-| `destroy` | **removed** | This method has not been implemented in the new clients, if you feel the need for it, [please open an issue](https://github.com/algolia/api-clients-automation/issues/new?assignees=&labels=&template=Feature_request.md) |
diff --git a/website/docs/clients/migration-guides/php.md b/website/docs/clients/migration-guides/php.md
deleted file mode 100644
index 9eb1a286cb..0000000000
--- a/website/docs/clients/migration-guides/php.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: PHP
----
-
-| Previous | Latest | Description |
-|-----------------------------------------------|:---------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `"algolia/algoliasearch-client-php": "^3.2"` | `"algolia/algoliasearch-client-php": "^4.0"` | **During the beta phase**, the clients are available under the package 4.x.x-alpha , you can find a full list [here](https://packagist.org/packages/algolia/algoliasearch-client-php). |
-| `Algolia\AlgoliaSearch` | `Algolia\AlgoliaSearch\Api` | Exported clients have now the namespace suffixed by `Api`. |
-| `Algolia\AlgoliaSearch\Config` | `Algolia\AlgoliaSearch\Configuration` | Configuration classes are now located in a `Configuration` directory (instead of `Config` before). |
-| `Algolia\AlgoliaSearch\Support\UserAgent` | `Algolia\AlgoliaSearch\Support\AlgoliaAgent` | `UserAgent` class has been renamed to `AlgoliaAgent` for consistency across client languages (`addCustomUserAgent` method also became `addAlgoliaAgent`). |
-| `Algolia\AlgoliaSearch\SearchIndex` | **removed** | Since the method `initIndex` doesn't exist anymore, we decided to merge the `SearchIndex` class inside the `SearchClient` one, now all the methods related to search endpoints are located there. |
-| `Algolia\AlgoliaSearch\Cache\FileCacheDriver` | **removed** | This implementation of the `CacheInterface` is not available anymore in the Client. If you feel the need for it, [please open an issue](https://github.com/algolia/api-clients-automation/issues/new?assignees=&labels=&template=Feature_request.md) |
diff --git a/website/docs/clients/usage.mdx b/website/docs/clients/usage.mdx
deleted file mode 100644
index c955d43d78..0000000000
--- a/website/docs/clients/usage.mdx
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: Usage
----
-
-:::warning
-
-The amount of changes in this new version is significant. **If you are upgrading for v4, you should thoroughly test your application before deploying to production.**
-
-:::
-
-## Installation
-
-import CodeBlock from '@theme/CodeBlock';
-import Link from '@docusaurus/Link';
-import TabItem from '@theme/TabItem';
-import { CodeBlockLanguage } from '../../src/components/CodeBlockLanguage';
-import { TabsLanguage } from '../../src/components/TabsLanguage';
-import { versions } from '../../src/generated/variables';
-
-
-
-
-To get started, you first need to install `algoliasearch` (or any other available API client package).
-
-All of our clients comes with type definition, and are available for both `browser` and `node` environments.
-
-```bash
-yarn add algoliasearch
-# or
-npm install algoliasearch
-```
-
-Or use a specific package:
-
-```bash
-yarn add @algolia/client-search
-# or
-npm install @algolia/client-search
-```
-
-**Without a package manager**
-
-Add the following JavaScript snippet to the `` of your website:
-
-```html
-
-```
-
-
-
-
-First, install Algolia Python API Client via the [pip](https://pip.pypa.io/en/stable/installing) package manager:
-
-```bash
-pip install --upgrade 'algoliasearch>=4.0,<5.0'
-```
-
-
-
-
-First, install Algolia PHP API Client via the composer package manager:
-
-```bash
-composer require algolia/algoliasearch-client-php "^4.0"
-```
-
-
-
-
-To get started, add the algoliasearch-client-java dependency to your project, either with [Maven](https://maven.apache.org/):
-
-
-{`
- com.algolia
- algoliasearch
- ${versions.java}
-`}
-
-
-or [Gradle](https://gradle.org/):
-
-
-{`dependencies {
- implementation 'com.algolia:algoliasearch:${versions.java}'
-}`}
-
-
-
-
-
-**JVM**
-
-1. Install the Kotlin client by adding the following dependency to your `gradle.build` file:
-
-
-{`repositories {
- mavenCentral()
-}
-
-dependencies {
- implementation "com.algolia:algoliasearch-client-kotlin:${versions.kotlin}"
-}`}
-
-
-2. Choose and add to your dependencies one of [Ktor's engines](https://ktor.io/docs/http-client-engines.html).
-
-**BOM**
-
-Alternatively, you can use `algoliasearch-client-kotlin-bom` by adding the following dependency to your `build.gradle` file
-
-
-{`dependencies {
- // import Kotlin API client BOM
- implementation platform("com.algolia:algoliasearch-client-kotlin-bom:${versions.kotlin}}")
-
- // define dependencies without versions
- implementation 'com.algolia:algoliasearch-client-kotlin'
- runtimeOnly 'io.ktor:ktor-client-okhttp'
-}`}
-
-
-**Multiplaform**
-
-In multiplatform projects, add Algolia API client dependency to `commonMain`, and choose an [engine](https://ktor.io/docs/http-client-engines.html) for each target.
-
-
-
-
-First, install the Algolia API Go Client via the `go get` command:
-
-```bash
-go get github.com/algolia/algoliasearch-client-go/v4
-```
-
-
-
-
-To get started, first install the `Algolia.Search` client.
-
-You can get the last version of the client from [NuGet](https://www.nuget.org/packages/Algolia.Search/).
-
-If you are using the .NET CLI, you can install the package using the following command:
-
-```bash
-dotnet add package Algolia.Search --version
-```
-
-Or directly in your `.csproj` file:
-```xml
-
-```
-
-
-
-## Example
-
-You can now import the Algolia API client in your project and play with it.
-
- (
-`${getSnippet('import')}
-
-${getSnippet('init')}
-
-${addComment('Add a new record to your Algolia index')}
-${getSnippet('saveObject')}
-
-${addComment('Poll the task status to know when it has been indexed')}
-${waitForTaskSnippet()}
-
-${addComment('Fetch search results, with typo tolerance')}
-${getSnippet('search', 'withHitsPerPage')}
-`)}/>
-
-## Advanced use cases
-
-> If you don't find a use case that suits your needs, please [request it](https://github.com/algolia/api-clients-automation/issues/new?assignees=&labels=&template=Feature_request.md).
-
-You can learn more on how to use Algolia in your project by reading [our dedicated guides](/docs/clients/guides/send-data-to-algolia) for advanced use cases.
diff --git a/website/docs/contributing/commit-and-pull-request.md b/website/docs/commit-and-pull-request.md
similarity index 100%
rename from website/docs/contributing/commit-and-pull-request.md
rename to website/docs/commit-and-pull-request.md
diff --git a/website/docs/contributing/introduction.md b/website/docs/contributing/introduction.md
deleted file mode 100644
index c38e521a0f..0000000000
--- a/website/docs/contributing/introduction.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Introduction
----
-
-# Introduction
-
-This section hosts informations about the [API clients automation](https://github.com/algolia/api-clients-automation) repository. For informations regarding the clients usage, see [the clients page](/docs/clients/introduction).
-
-## Contributing
-
-To contribute to the repository, make sure to take a look at our guidelines and recommendations:
-
-- [Setup the repository tooling](/docs/contributing/setup-repository): to install our tooling.
- - CLI commands can be found at [CLI > specs commands](/docs/contributing/CLI/specs-commands), [CLI > clients commands](/docs/contributing/CLI/clients-commands) and [CLI > CTS commands](/docs/contributing/CLI/cts-commands).
-- [Add a new client](/docs/contributing/add-new-api-client): to add a new API spec to generate a client.
-- [Support a new language](/docs/contributing/add-new-language): to add a new supported language to the API clients.
-- [Commit and Pull-request](/docs/contributing/commit-and-pull-request): to see what to commit and send pull-requests.
-- [Release process](/docs/contributing/release-process): to see how to release API clients.
-
-## Testing
-
-Generated clients can be tested via the:
-
-- [Common Test Suite](/docs/contributing/testing/common-test-suite)
-- [Playground](/docs/contributing/testing/playground)
-
-## Feedbacks
-
-To report feedbacks, please use:
-
-- [GitHub issues](https://github.com/algolia/api-clients-automation/issues)
-- [#api-clients-beta-testers slack channel](https://algolia.slack.com/archives/C0341QDM3EG)
diff --git a/website/docs/contributing/docs.md b/website/docs/docs.md
similarity index 91%
rename from website/docs/contributing/docs.md
rename to website/docs/docs.md
index fa0095f915..96540de070 100644
--- a/website/docs/contributing/docs.md
+++ b/website/docs/docs.md
@@ -85,21 +85,21 @@ For APIs with clients that implement the retry strategy,
the documentation must mention that to be covered by Algolia's SLA,
users must use the API clients.
-**Example:** [Search API](/specs/search#section/Client-libraries)
+**Example:** [Search API](https://www.algolia.com/doc/rest-api/search#section/Client-libraries)
### Base URLs
All APIs must list the base URLs for making requests.
If there are multiple base URLs, help users choose by providing guidance and explanations.
-**Example:** [Search API](/specs/search#section/Base-URLs)
+**Example:** [Search API](https://www.algolia.com/doc/rest-api/search#section/Base-URLs)
### Retry strategy
For APIs with clients that implement the retry strategy,
the documentation must explain the retry strategy.
-**Example:** [Search API](/specs/search#section/Base-URLs)
+**Example:** [Search API](https://www.algolia.com/doc/rest-api/search#section/Base-URLs)
### Availability and authentication
@@ -109,7 +109,7 @@ include an _Availability and authentication_ section.
For APIs that are available to every Algolia subscription, see [Authentication](#authentication).
-**Example:** [Analytics API](/specs/analytics#section/Availability-and-authentication)
+**Example:** [Analytics API](https://www.algolia.com/doc/rest-api/analytics#section/Availability-and-authentication)
### Authentication
@@ -118,7 +118,7 @@ describe the authentication method and where to find the credentials.
For APIs that require a specific Algolia plan, see [Availability and authentication](#availability-and-authentication).
-**Example:** [Search API](/specs/search#section/Authentication)
+**Example:** [Search API](https://www.algolia.com/doc/rest-api/search#section/Authentication)
### Rate limits
@@ -126,7 +126,7 @@ For APIs with rate limits per request,
describe what the rate limits are and how to check the current rate limits,
usually with response headers.
-**Example:** [Analytics API](/specs/analytics#section/Rate-limits)
+**Example:** [Analytics API](https://www.algolia.com/doc/rest-api/analytics#section/Rate-limits)
### Request format
@@ -134,7 +134,7 @@ If the API has `POST`, `PUT`, or `PATCH` requests that require request bodies,
explain what the expected format is.
Omit this section if the API only has `GET` or `DELETE` requests.
-**Example:** [Search API](/specs/search#section/Request-format)
+**Example:** [Search API](https://www.algolia.com/doc/rest-api/search#section/Request-format)
### Parameters
@@ -142,7 +142,7 @@ If the API accepts query or path parameters,
explain what their expected format is.
Omit this section if the API doesn't use query or path parameters.
-**Example:** [Search API](/specs/search#section/Parameters)
+**Example:** [Search API](https://www.algolia.com/doc/rest-api/search#section/Parameters)
### Response status and errors
diff --git a/website/docs/introduction.md b/website/docs/introduction.md
new file mode 100644
index 0000000000..3354b92b46
--- /dev/null
+++ b/website/docs/introduction.md
@@ -0,0 +1,32 @@
+---
+title: Introduction
+---
+
+# Introduction
+
+This section hosts informations about the [API clients automation](https://github.com/algolia/api-clients-automation) repository. For informations regarding the clients usage, see [the Algolia documentation](https://www.algolia.com/doc/libraries/).
+
+## Contributing
+
+To contribute to the repository, make sure to take a look at our guidelines and recommendations:
+
+- [Setup the repository tooling](/docs/setup-repository): to install our tooling.
+ - CLI commands can be found at [CLI > specs commands](/docs/CLI/specs-commands), [CLI > clients commands](/docs/CLI/clients-commands) and [CLI > CTS commands](/docs/CLI/cts-commands).
+- [Add a new client](/docs/add-new-api-client): to add a new API spec to generate a client.
+- [Support a new language](/docs/add-new-language): to add a new supported language to the API clients.
+- [Commit and Pull-request](/docs/commit-and-pull-request): to see what to commit and send pull-requests.
+- [Release process](/docs/release-process): to see how to release API clients.
+
+## Testing
+
+Generated clients can be tested via the:
+
+- [Common Test Suite](/docs/testing/common-test-suite)
+- [Playground](/docs/testing/playground)
+
+## Feedbacks
+
+To report feedbacks, please use:
+
+- [GitHub issues](https://github.com/algolia/api-clients-automation/issues)
+- [#api-clients-beta-testers slack channel](https://algolia.slack.com/archives/C0341QDM3EG)
diff --git a/website/docs/contributing/release-process.md b/website/docs/release-process.md
similarity index 92%
rename from website/docs/contributing/release-process.md
rename to website/docs/release-process.md
index 255155ab1f..f247e0c714 100644
--- a/website/docs/contributing/release-process.md
+++ b/website/docs/release-process.md
@@ -17,7 +17,7 @@ GITHUB_TOKEN=
Once setup, you can run:
:::info
-See [Use CLI release commands](/docs/contributing/CLI/release-commands) for the detailed release commands
+See [Use CLI release commands](/docs/CLI/release-commands) for the detailed release commands
:::
```bash
diff --git a/website/docs/contributing/setup-repository.md b/website/docs/setup-repository.md
similarity index 83%
rename from website/docs/contributing/setup-repository.md
rename to website/docs/setup-repository.md
index afd619c43b..328d682edf 100644
--- a/website/docs/contributing/setup-repository.md
+++ b/website/docs/setup-repository.md
@@ -56,12 +56,12 @@ docker compose down --rmi all
Once you've successfully built and mounted the Docker image, you can now play with the repository! Read our guides on:
-- [How to add a new client](/docs/contributing/add-new-api-client)
-- [How to add a new language](/docs/contributing/add-new-language)
-- [Use CLI specs commands](/docs/contributing/CLI/specs-commands)
-- [Use CLI clients commands](/docs/contributing/CLI/clients-commands)
-- [Use CLI release commands](/docs/contributing/CLI/release-commands)
-- [Use CLI Common Test Suite commands](/docs/contributing/CLI/specs-commands)
+- [How to add a new client](/docs/add-new-api-client)
+- [How to add a new language](/docs/add-new-language)
+- [Use CLI specs commands](/docs/CLI/specs-commands)
+- [Use CLI clients commands](/docs/CLI/clients-commands)
+- [Use CLI release commands](/docs/CLI/release-commands)
+- [Use CLI Common Test Suite commands](/docs/CLI/specs-commands)
## Troubleshooting
diff --git a/website/docs/contributing/testing/common-test-suite.md b/website/docs/testing/common-test-suite.md
similarity index 99%
rename from website/docs/contributing/testing/common-test-suite.md
rename to website/docs/testing/common-test-suite.md
index 7196a3790e..f7e1078aa0 100644
--- a/website/docs/contributing/testing/common-test-suite.md
+++ b/website/docs/testing/common-test-suite.md
@@ -9,7 +9,7 @@ It is automatically generated for all languages from JSON files and ensure prope
:::info
-While some clients can run tests from source, languages like Java or JavaScript and other requires clients to be built, see [CLI > clients commands page](/docs/contributing/CLI/clients-commands)
+While some clients can run tests from source, languages like Java or JavaScript and other requires clients to be built, see [CLI > clients commands page](/docs/CLI/clients-commands)
:::
diff --git a/website/docs/contributing/testing/playground.md b/website/docs/testing/playground.md
similarity index 90%
rename from website/docs/contributing/testing/playground.md
rename to website/docs/testing/playground.md
index 2a71b862ac..bfb8a8915e 100644
--- a/website/docs/contributing/testing/playground.md
+++ b/website/docs/testing/playground.md
@@ -8,7 +8,7 @@ All of the existing clients should have an active playground for you to test gen
:::info
-Make sure to first [setup the repository tooling](/docs/contributing/setup-repository) to ease your journey!
+Make sure to first [setup the repository tooling](/docs/setup-repository) to ease your journey!
:::
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index f2573d1f32..52fb1834cf 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -2,71 +2,16 @@
/* eslint-disable import/no-commonjs */
const remarkSmartypants = require('remark-smartypants');
-const fs = require('fs');
-const path = require('path');
-
-function getSpecFiles() {
- const bundledSpecsPath = path.resolve(process.cwd(), '../specs/bundled');
- const specs = [];
-
- fs.readdirSync(bundledSpecsPath).forEach((file) => {
- if (file.endsWith('.doc.yml')) {
- const fileName = file.replace('.doc.yml', '');
-
- specs.push({
- fileName,
- path: `${bundledSpecsPath}/${file}`,
- route: `/specs/${fileName}`,
- });
- }
- });
-
- if (specs.length === 0) {
- throw new Error('Unable to find spec files');
- }
-
- return specs;
-}
-
-function getSpecsForPlugin() {
- return getSpecFiles().map((specFile) => {
- return {
- id: specFile.fileName,
- spec: specFile.path,
- route: specFile.route,
- };
- });
-}
-
-function getSpecsForNavBar() {
- return getSpecFiles().map((specFile) => {
- /** @type {import('@docusaurus/theme-common').NavbarItem} */
- return {
- label: getLabel(specFile.fileName),
- href: specFile.route,
- className: 'header-restapi',
- };
- });
-}
-
-function getLabel(str) {
- const dict = {
- abtesting: 'A/B Testing',
- 'query-suggestions': 'Query Suggestions',
- };
- return dict[str] || str;
-}
-
/** @type {import('@docusaurus/types').Config} */
(
module.exports = {
- title: 'Algolia API',
- tagline: 'Documentation for the Algolia API and Clients.',
+ title: 'Algolia API clients automation',
+ tagline: 'Documentation for the API clients automation repository',
url: 'https://api-clients-automation.netlify.app/',
baseUrl: '/',
favicon: 'img/logo-small.svg',
organizationName: 'Algolia',
- projectName: 'Algolia API and Clients',
+ projectName: 'Algolia API clients automation',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'throw',
@@ -90,62 +35,26 @@ function getLabel(str) {
},
}),
],
- [
- 'redocusaurus',
- {
- specs: getSpecsForPlugin(),
- theme: {
- primaryColor: '#003DFF',
- },
- },
- ],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
- prism: {
- // scala is required to make java work
- additionalLanguages: [
- 'php',
- 'java',
- 'scala',
- 'dart',
- 'go',
- 'groovy',
- 'csharp',
- 'python',
- 'ruby',
- ],
- },
navbar: {
- title: 'Algolia API',
+ title: 'Algolia API clients Automation',
logo: {
alt: 'Algolia',
src: 'img/logo-small.svg',
srcDark: 'img/logo-small.svg',
},
items: [
- // left
- {
- label: 'Clients',
- to: 'docs/clients/introduction',
- position: 'left',
- },
- {
- label: 'HTTP API',
- position: 'left',
- type: 'dropdown',
- items: getSpecsForNavBar(),
- },
- // right
{
label: 'Contributing',
- to: 'docs/contributing/introduction',
- position: 'right',
+ to: 'docs/introduction',
+ position: 'left',
},
{
- label: 'Algolia documentation',
+ label: 'Algolia API clients documentation',
href: 'https://www.algolia.com/doc/',
position: 'right',
},
@@ -181,6 +90,10 @@ function getLabel(str) {
label: 'Algolia Website',
to: 'https://algolia.com/',
},
+ {
+ label: 'Algolia Documentation',
+ to: 'https://algolia.com/doc',
+ },
{
label: 'Algolia Blog',
to: 'https://algolia.com/blog',
diff --git a/website/package.json b/website/package.json
index bb85c7ae14..2449ffa22b 100644
--- a/website/package.json
+++ b/website/package.json
@@ -28,7 +28,6 @@
"clsx": "2.1.1",
"react": "18.3.1",
"react-dom": "18.3.1",
- "redocusaurus": "2.1.1",
"remark-smartypants": "3.0.2"
}
}
diff --git a/website/redocly.yaml b/website/redocly.yaml
deleted file mode 100644
index 06083f7d2c..0000000000
--- a/website/redocly.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-# NOTE: Only supports options marked as "Supported in Redoc CE"
-# See https://redocly.com/docs/cli/configuration/ for more information.
-
-extends:
- - recommended
-
-theme:
- # See https://redocly.com/docs/api-reference-docs/configuration/functionality/
- openapi:
- disableSearch: true
- downloadDefinitionUrl: https://github.com/algolia/api-clients-automation/tree/main/specs/bundled
- hideRequestPayloadSample: true
- hideSchemaPatterns: true
- hideSchemaTitles: true
- hideSecuritySection: true
- requiredPropsFirst: true
- showExtensions:
- - x-acl
- # See https://redocly.com/docs/api-reference-docs/configuration/theming/
- sortEnumValuesAlphabetically: true
- sortPropsAlphabetically: true
diff --git a/website/sidebars.js b/website/sidebars.js
index fb11c91424..0b235cec73 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -4,22 +4,22 @@
const sidebars = {
// Everything related to the API Clients Automation
automation: [
- 'contributing/introduction',
+ 'introduction',
{
type: 'category',
label: 'Getting Started',
collapsed: false,
items: [
- 'contributing/setup-repository',
+ 'setup-repository',
{
type: 'category',
label: 'CLI',
collapsed: false,
items: [
- 'contributing/CLI/specs-commands',
- 'contributing/CLI/clients-commands',
- 'contributing/CLI/release-commands',
- 'contributing/CLI/cts-commands',
+ 'CLI/specs-commands',
+ 'CLI/clients-commands',
+ 'CLI/release-commands',
+ 'CLI/cts-commands',
],
},
],
@@ -29,72 +29,29 @@ const sidebars = {
label: 'Contributing',
collapsed: false,
items: [
- 'contributing/add-new-api-client',
- 'contributing/docs',
- 'contributing/add-new-language',
+ 'add-new-api-client',
+ 'docs',
+ 'add-new-language',
{
type: 'category',
label: 'Testing',
collapsed: false,
items: [
- 'contributing/testing/common-test-suite',
- 'contributing/testing/playground',
+ 'testing/common-test-suite',
+ 'testing/playground',
],
},
- 'contributing/commit-and-pull-request',
- 'contributing/release-process',
+ 'commit-and-pull-request',
+ 'release-process',
{
type: 'category',
label: 'CI',
collapsed: false,
- items: ['contributing/CI/overview'],
+ items: ['CI/overview'],
},
],
},
],
- // Everything related to the generated clients usage
- clients: [
- 'clients/introduction',
- {
- type: 'category',
- label: 'Getting Started',
- collapsed: false,
- items: [
- 'clients/usage',
- {
- type: 'category',
- label: 'Migration guide',
- collapsed: false,
- link: {
- type: 'doc',
- id: 'clients/migration-guides/index',
- },
- items: [
- 'clients/migration-guides/javascript',
- 'clients/migration-guides/php',
- ],
- },
- ],
- },
- {
- type: 'category',
- label: 'Guides',
- collapsed: false,
- items: [
- 'clients/guides/send-data-to-algolia',
- 'clients/guides/filtering-your-search',
- 'clients/guides/retrieving-facets',
- 'clients/guides/customized-client-usage',
- 'clients/guides/wait-for-a-task-to-finish',
- 'clients/guides/wait-for-api-key-to-be-valid',
- 'clients/guides/copy-or-move-index-rules-settings-synonyms',
- 'clients/guides/copy-index-to-another-application',
- 'clients/guides/manage-dictionary-entries',
- 'clients/guides/delete-objects',
- 'clients/guides/replace-all-rules-synonyms',
- ],
- },
- ],
};
// eslint-disable-next-line import/no-commonjs
diff --git a/website/src/components/CodeBlockLanguage.js b/website/src/components/CodeBlockLanguage.js
deleted file mode 100644
index 40639e952c..0000000000
--- a/website/src/components/CodeBlockLanguage.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import React from 'react';
-import CodeBlock from '@theme/CodeBlock';
-import TabItem from '@theme/TabItem';
-import { languagesTabValues, TabsLanguage } from './TabsLanguage';
-import { addComment, getSnippet, waitForTaskSnippet, waitForApiKeySnippet, waitForAppTaskSnippet } from '../snippets';
-
-export function CodeBlockLanguage(props) {
- return
- {languagesTabValues.map((languageTabValue) => {
- const language = languageTabValue.value;
- return (
-
-
- {props.snippet({
- getSnippet: (...args) => getSnippet(language, props.client || 'search', ...args),
- addComment: (comment) => addComment(language, comment),
- waitForTaskSnippet: (indexName = '') => waitForTaskSnippet(language, indexName),
- waitForAppTaskSnippet: () => waitForAppTaskSnippet(language),
- waitForApiKeySnippet: (operation) => waitForApiKeySnippet(language, operation),
- language,
- })}
-
-
- )
- })}
- ;
-}
diff --git a/website/src/components/TabsLanguage.js b/website/src/components/TabsLanguage.js
deleted file mode 100644
index 5e1344120b..0000000000
--- a/website/src/components/TabsLanguage.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import Tabs from '@theme/Tabs';
-import React from 'react';
-
-export const languagesTabValues = [
- { label: 'C#', value: 'csharp' },
- { label: 'Dart', value: 'dart' },
- { label: 'Go', value: 'go' },
- { label: 'Java', value: 'java' },
- { label: 'JavaScript', value: 'javascript' },
- { label: 'Kotlin', value: 'kotlin' },
- { label: 'PHP', value: 'php' },
- { label: 'Python', value: 'python' },
- { label: 'Ruby', value: 'ruby' },
- { label: 'Scala', value: 'scala' },
- { label: 'Swift', value: 'swift' },
-];
-
-export function TabsLanguage(props) {
- return (
-
- {props.children}
-
- );
-}
-
-TabsLanguage.defaultProps = {
- values: languagesTabValues,
-};
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index e29f162d76..6171c64dd1 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -22,16 +22,9 @@ function Hero() {
- Get started
- ,