From 9a8f165b3fff7709186962a8413222e95a933b92 Mon Sep 17 00:00:00 2001 From: Christian Nwamba Date: Mon, 6 Jan 2025 12:55:45 +0000 Subject: [PATCH 1/4] feat: Add API REST Pagination doc --- .../_static/pagination/token-pagination.png | Bin 0 -> 103951 bytes .../_static/pagination/token-pointer.png | Bin 0 -> 12962 bytes docs/guides/pagination.mdx | 234 ++++++++++++++++++ src/sidebar.ts | 1 + 4 files changed, 235 insertions(+) create mode 100644 docs/guides/_static/pagination/token-pagination.png create mode 100644 docs/guides/_static/pagination/token-pointer.png create mode 100644 docs/guides/pagination.mdx diff --git a/docs/guides/_static/pagination/token-pagination.png b/docs/guides/_static/pagination/token-pagination.png new file mode 100644 index 0000000000000000000000000000000000000000..75460551bf247493f94a93049aa634cae4b4efb3 GIT binary patch literal 103951 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 LtDnm{r-UW|FQR>0 literal 0 HcmV?d00001 diff --git a/docs/guides/_static/pagination/token-pointer.png b/docs/guides/_static/pagination/token-pointer.png new file mode 100644 index 0000000000000000000000000000000000000000..d2858178ebb2bda36cd9174b80825a9d06661f66 GIT binary patch literal 12962 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 literal 0 HcmV?d00001 diff --git a/docs/guides/pagination.mdx b/docs/guides/pagination.mdx new file mode 100644 index 000000000..574b6ff97 --- /dev/null +++ b/docs/guides/pagination.mdx @@ -0,0 +1,234 @@ +--- +id: api-rest-pagination +title: API REST Pagination +sidebar_label: Pagination +--- + +Pagination is a strategy that limits access to large datasets by dividing the data into manageable chunks or "pages." This +approach provides mechanisms for accessing subsequent or previous pages of data. + +When dealing with API responses that could potentially return large datasets, pagination becomes essential for two main reasons: + +1. **Mitigate data access abuse**: Pagination limits the amount of data that can be accessed in a single request. Clients or + consumers can only retrieve a defined subset of data per page, preventing potential system overload or abuse. + +2. **Improve response performance**: By returning smaller sets of data, pagination ensures faster response times. This is + particularly beneficial when dealing with large datasets, as it reduces the load on both the server and the client. + +Ory supports two pagination strategies: + +- **Token-based pagination**: The primary and recommended method for paginating through data in Ory's API. +- **Offset pagination**: A deprecated method that is still supported but not recommended for new implementations. + +In the following sections, we'll explore each of these pagination strategies in detail, with a focus on the recommended +token-based approach. + +## Token pagination + +Ory implements token-based pagination as the primary method for handling large datasets in list operations. This approach offers +better performance and consistency compared to traditional offset-based pagination. + +![Token pagination illustration](./_static/pagination/token-pagination.png) + +### Default behavior and parameters + +By default, Ory paginates list data with a page size of 250 items per page. However, you can customize this behavior using two key +parameters: + +1. `page_size`: Determines the number of items returned per page. +2. `page_token`: Acts as a pointer to a specific page in the dataset. + +### How it works + +![Token pointer illustration](./_static/pagination/token-pointer.png) + +Let's walk through an example to illustrate how token pagination works in Ory: + +Imagine you have 300 customers in your Ory project, and you want to list them 100 at a time. + +1. **Initial request**: Set the `page_size` query parameter to 100 for your first request: + + ```shell + GET https://$PROJECT_SLUG.projects.oryapis.com/admin/identities?page_size=100 + Authorization: Bearer $ACCESS_TOKEN + ``` + +2. **Response**: You'll receive a response payload containing the first 100 customers. Additionally, the response header will + include a `link` header with details about the first and next pages: + + ```shell + link: + ; rel="first", + ; rel="next" + ``` + +3. **Understanding the Link Header**: + + - The `first` link always points to the first page of results. Its token (in this case, `00000000-0000-0000-0000-000000000000`) + remains constant. + - The `next` link points to the next page of results. Its token (e.g., `30f8507f-40e6-44b9-924f-5f814e3f072e`) is unique and + changes with each page. + +4. **Subsequent requests**: To retrieve the next page, use the `next` token in your follow-up request: + + ```shell + GET https://$PROJECT_SLUG.projects.oryapis.com/admin/identities?page_size=100&page_token=30f8507f-40e6-44b9-924f-5f814e3f072e + Authorization: Bearer $ACCESS_TOKEN + ``` + +### Best practices + +- Always use the tokens provided in the `link` header for navigation. Do not attempt to generate or modify these tokens yourself. +- If you need to start from the beginning, use the `first` link or omit the `page_token` parameter. +- Keep track of the previous/current `next` token to allow for backward pagination through your results. + +By leveraging token-based pagination, you can efficiently navigate through large datasets in Ory, ensuring consistent and +performant data retrieval. + +## Usage examples + +The following examples demonstrate how to use token-based pagination with Ory's SDKs in Python and Ruby. + +### Scenario 1: Python SDK + +This example shows how to fetch a single page of identities using the Python SDK: + +```python +import os +from pprint import pprint +from ory_client.api_client import ApiClient +from ory_client.configuration import Configuration +from ory_client.api.identity_api import IdentityApi + +# Configure your Ory credentials +configuration = Configuration( + access_token="{API_KEY}", + host="https://{PROJECT_SLUG}.projects.oryapis.com", +) + +# Enter a context with an instance of the API client +with ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = IdentityApi(api_client) + + try: + # List Identities + api_response = api_instance.list_identities( + page_size=1, + page_token="", + ) + pprint(api_response) + except Exception as e: + print("Error fetching identities: %s\n" % e) +``` + +Key points: + +- Replace `{API_KEY}` with your actual Ory API key. +- Replace `{PROJECT_SLUG}` with your Ory project slug. +- The `page_size` is set to 1 for demonstration purposes. Adjust this value based on your needs. +- Replace `` with the actual page token received from a previous request, or omit it for the first request. + +For more details, see the +[IdentityApi list documentation](https://github.com/ory/sdk/blob/master/clients/client/python/docs/IdentityApi.md#list_identities). + +### Scenario 2: Ruby SDK + +This example demonstrates how to fetch a single page of identities using the Ruby SDK: + +```ruby +require 'ory-client' + +# Configure your Ory credentials +OryClient.configure do |config| + config.host = 'https://{PROJECT_SLUG}.projects.oryapis.com' + config.access_token = '{API_KEY}' +end + +# Create an OryClient instance +api_instance = OryClient::IdentityApi.new +opts = { + page_size: 1, + page_token: '' +} + +begin + # List Identities based on pagination + result = api_instance.list_identities(opts) + p result +rescue OryClient::ApiError => e + puts "Error fetching identities: #{e}" +end +``` + +Key points: + +- Replace `{PROJECT_SLUG}` with your Ory project slug. +- Replace `{API_KEY}` with your actual Ory API key. +- The `page_size` is set to 1 for demonstration purposes. Adjust this value based on your needs. +- Replace `` with the actual page token received from a previous request, or omit it for the first request. + +For more information, refer to the +[IdentityApi list documentation](https://github.com/ory/sdk/blob/master/clients/client/ruby/docs/IdentityApi.md#list_identities). + +## Offset Pagination (Deprecated) + +:::caution + +Offset pagination is deprecated. It is strongly recommended to use Token pagination instead. + +::: + +While not recommended for new implementations, Ory still supports offset-based pagination for backwards compatibility. This method +allows you to paginate through data using an offset and a page size. + +### How It Works + +Offset pagination uses two query parameters: + +1. `per_page`: The number of items you want for each page. +2. `page`: The page number you want to retrieve (starts at 0). + +### Example Usage + +Let's consider a scenario where you have 300 customers and you want to retrieve customers 101 to 200: + +```shell +GET https://{PROJECT_SLUG}.projects.oryapis.com/admin/identities?per_page=100&page=2 +Authorization: Bearer {YOUR_API_KEY} +``` + +In this example: + +- `per_page` is set to 100, indicating you want 100 items per page. +- `page` is set to 2, which will return items 201-300. + +### Migrating to Token Pagination + +If you're currently using offset pagination, it's highly recommended to transition to token-based pagination. Refer to the +[Token Pagination section](#token-pagination) for implementation details and best practices. + +## Handling Pagination Errors + +Ory typically returns a 400 Bad Request error for pagination-related issues. Here's an example of an error response when supplying +an invalid token: + +```json +{ + "error": { + "code": 400, + "status": "Bad Request", + "request": "38308051-dd5e-9f91-b053-5b32f751b281", + "reason": "The page token is invalid, do not craft your own page tokens", + "message": "The request was malformed or contained invalid parameters" + } +} +``` + +Key fields in the error response: + +- `code`: The HTTP status code (e.g., 400 for Bad Request) +- `status`: A text representation of the HTTP status +- `request`: A unique identifier for the request, useful for troubleshooting +- `reason`: A specific description of what went wrong +- `message`: A general error message diff --git a/src/sidebar.ts b/src/sidebar.ts index d998b6ec1..348ed3b1c 100644 --- a/src/sidebar.ts +++ b/src/sidebar.ts @@ -40,6 +40,7 @@ const referenceSidebar: ExtendSidebar = [ "concepts/personal-access-token", "guides/cors", "guides/custom-domains", + "guides/api-rest-pagination", "guides/workspaces", "guides/rate-limits", "guides/ip-allowlist", From 7a3ca60d4cf7cb186bf996d267220d95fce815d4 Mon Sep 17 00:00:00 2001 From: Christian Nwamba Date: Wed, 8 Jan 2025 13:41:33 +0000 Subject: [PATCH 2/4] fix: clarify pagination best practices --- docs/guides/pagination.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/guides/pagination.mdx b/docs/guides/pagination.mdx index 574b6ff97..bb8017b2f 100644 --- a/docs/guides/pagination.mdx +++ b/docs/guides/pagination.mdx @@ -30,10 +30,9 @@ better performance and consistency compared to traditional offset-based paginati ![Token pagination illustration](./_static/pagination/token-pagination.png) -### Default behavior and parameters +### Pagination parameters -By default, Ory paginates list data with a page size of 250 items per page. However, you can customize this behavior using two key -parameters: +Ory uses two parameters to paginate through data: 1. `page_size`: Determines the number of items returned per page. 2. `page_token`: Acts as a pointer to a specific page in the dataset. @@ -81,6 +80,8 @@ Imagine you have 300 customers in your Ory project, and you want to list them 10 - Always use the tokens provided in the `link` header for navigation. Do not attempt to generate or modify these tokens yourself. - If you need to start from the beginning, use the `first` link or omit the `page_token` parameter. - Keep track of the previous/current `next` token to allow for backward pagination through your results. +- Be prepared for the maximum `page_size` to change. Your implementation should handle such changes gracefully. +- Do not attempt to reverse engineer or make assumptions about the `page_token` format, as it may change without notice. Always treat it as an opaque string. By leveraging token-based pagination, you can efficiently navigate through large datasets in Ory, ensuring consistent and performant data retrieval. From 9de993ef567f1047b05012fa63c297004f19c879 Mon Sep 17 00:00:00 2001 From: Christian Nwamba Date: Wed, 8 Jan 2025 13:45:32 +0000 Subject: [PATCH 3/4] fix: use sentence case for subtitles --- docs/guides/pagination.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guides/pagination.mdx b/docs/guides/pagination.mdx index bb8017b2f..773b26d30 100644 --- a/docs/guides/pagination.mdx +++ b/docs/guides/pagination.mdx @@ -172,7 +172,7 @@ Key points: For more information, refer to the [IdentityApi list documentation](https://github.com/ory/sdk/blob/master/clients/client/ruby/docs/IdentityApi.md#list_identities). -## Offset Pagination (Deprecated) +## Offset pagination (Deprecated) :::caution @@ -183,14 +183,14 @@ Offset pagination is deprecated. It is strongly recommended to use Token paginat While not recommended for new implementations, Ory still supports offset-based pagination for backwards compatibility. This method allows you to paginate through data using an offset and a page size. -### How It Works +### How it works Offset pagination uses two query parameters: 1. `per_page`: The number of items you want for each page. 2. `page`: The page number you want to retrieve (starts at 0). -### Example Usage +### Example usage Let's consider a scenario where you have 300 customers and you want to retrieve customers 101 to 200: @@ -204,12 +204,12 @@ In this example: - `per_page` is set to 100, indicating you want 100 items per page. - `page` is set to 2, which will return items 201-300. -### Migrating to Token Pagination +### Migrating to token pagination If you're currently using offset pagination, it's highly recommended to transition to token-based pagination. Refer to the [Token Pagination section](#token-pagination) for implementation details and best practices. -## Handling Pagination Errors +## Handling pagination errors Ory typically returns a 400 Bad Request error for pagination-related issues. Here's an example of an error response when supplying an invalid token: From 1a29836826fbcccef81937f8455669b816c27df5 Mon Sep 17 00:00:00 2001 From: Christian Nwamba Date: Wed, 8 Jan 2025 14:15:04 +0000 Subject: [PATCH 4/4] fix: Format pagination doc --- docs/guides/pagination.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/guides/pagination.mdx b/docs/guides/pagination.mdx index 773b26d30..453a8d3af 100644 --- a/docs/guides/pagination.mdx +++ b/docs/guides/pagination.mdx @@ -81,7 +81,8 @@ Imagine you have 300 customers in your Ory project, and you want to list them 10 - If you need to start from the beginning, use the `first` link or omit the `page_token` parameter. - Keep track of the previous/current `next` token to allow for backward pagination through your results. - Be prepared for the maximum `page_size` to change. Your implementation should handle such changes gracefully. -- Do not attempt to reverse engineer or make assumptions about the `page_token` format, as it may change without notice. Always treat it as an opaque string. +- Do not attempt to reverse engineer or make assumptions about the `page_token` format, as it may change without notice. Always + treat it as an opaque string. By leveraging token-based pagination, you can efficiently navigate through large datasets in Ory, ensuring consistent and performant data retrieval.