From 57e2bbbe04d1e8b4e67260fa210f4500e6d74f0c Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Tue, 7 Oct 2025 13:48:59 +0200 Subject: [PATCH 01/14] chore: update pre-signed URLs docs --- .../collaboration/general-resource-access.md | 110 ++++++++++++++++-- .../copy-record-url-kv-store.png | Bin 0 -> 183356 bytes 2 files changed, 101 insertions(+), 9 deletions(-) create mode 100644 sources/platform/collaboration/images/general-resouce-access/copy-record-url-kv-store.png diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index f3b771fe65..12b1416646 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -125,25 +125,117 @@ await datasetClient.update({ Even when a resource is restricted, you might still want to share it with someone outside your team — for example, to send a PDF report to a client, or include a screenshot in an automated email or Slack message. In these cases, **storage resources** (like key-value stores, datasets, and request queues) support generating **pre-signed URLs**. These are secure, time-limited links that let others access individual files without needing an Apify account or authentication. -Pre-signed URLs: +#### How pre-signed URLs work +A pre-signed URL is a regular HTTPS link that includes a cryptographic signature verifying that access has been explicitly granted by someone with valid permissions. +When the signed URL is used, Apify validates the signature and grants temporary access only to the file or record it refers to - no API token required. -- Work even when General resource access is restricted -- Expire automatically after 14 days (by default) -- Are scoped to a single resource (prevents access to other records) -- Are ideal for sharing screenshots, reports, or any other one-off files +**Key properties**: +- **Works with restricted resources** – Even if “General resource access” is set to **Restricted**, the signed URL will work without asking for API token. +**Time-limited (optional)** – Links can be either **temporary** (expiring after a specified duration) or **permanent**, depending on how they’re generated. +**Lightweight** - Ideal for embedding in emails, webhooks, reports, or notifications where authentication isn’t possible. + +#### What links can be pre-signed + +Only selected **dataset** and **key-value store** endpoints support pre-signed URLs. +This allows fine-grained control over what data can be shared without authentication. + +| Resource | Link | Validity | Notes | +|-----------|-----------------------|------|-------| +| **Datasets** | Dataset items (`/v2/datasets/:datasetId/items`) | Temporary or Permanent | The link provides access to all dataset items. | +| **Key-value stores** | List of keys (`/v2/key-value-stores/:storeId/keys`) | Temporary or Permanent | Returns the list of keys in a store. | +| **Key-value stores** | Single record (`/v2/key-value-stores/:storeId/records/:recordKey`) | **Permanent only** | The public URL for a specific record is always permanent - it stays valid as long as the record exists. | + +:::info Automatically generated signed URLs + +When you retrieve dataset or key-value store details using: + +- `GET https://api.apify.com/v2/datasets/:datasetId` +- `GET https://api.apify.com/v2/key-value-stores/:storeId` + +the API response includes automatically generated fields: + +- `itemsPublicUrl` – a pre-signed URL providing access to dataset items +- `keysPublicUrl` – a pre-signed URL providing access to key-value store keys + +These automatically generated URLs are **valid for 14 days**. + +The response also contains: +- `consoleUrl` - provides a stable link to the resource's page in the Apify Console. Unlike a direct API link, Console link will prompt unauthenticated users to sign in, ensuring they have required permissions to view the resource. + +::: + +#### How to generate pre-signed URLs +You can create pre-signed URLs either through the Apify Console or programmatically via the API or SDK. + +**In console:** To generate a pre-signed link, you can use the **Export** button in Console, or call the appropriate API client method. -![Generating shareable link for a restricted storage resource](./images/general-resouce-access/copy-shareable-link.png) +**1. Using the Apify Console** + +:::note + +The link will include a signature **only if the general resource access is set to Restricted**. For unrestricted datasets, the link will work without a signature. + +::: + +- **Dataset items:** + 1. Click the **Export** button. + 2. In the modal that appears, click **Copy shareable link**. -:::info Console links for resources + ![Generating shareable link for a restricted storage resource](./images/general-resouce-access/copy-shareable-link.png) -Resource objects returned by the API and clients (like `apify-client-js`) include a `consoleUrl` property. This provides a stable link to the resource's page in the Apify Console. Unlike a direct API link, Console link will prompt unauthenticated users to sign in, ensuring they have required permissions to view the resource. +- **Key-value store records:** + 1. Open a key-value store. + 2. Navigate to the record you want to share. + 3. In the **Actions** column, click the link icon to **copy signed link**. -This is ideal for use-cases like email notifications or other automated workflows. + ![Copy pre-signed URL for KV store record](./images/general-resouce-access/copy-record-url-kv-store.png) + +**2. Using the Apify Client** + +You can generate pre-signed URLs programmatically for datasets and key-value stores: + +```js +import { ApifyClient } from "apify-client"; +const client = new ApifyClient({ token: process.env.APIFY_TOKEN }); + +// Dataset items +const dataset = client.dataset('my-dataset-id'); + +// Creates pre-signed URL for items (expires in 7 days) +const itemsUrl = await dataset.createItemsPublicUrl({ expiresInSecs: 7 * 24 * 3600 }); + +// Creates permanent pre-signed URL for items +const permanentItemsUrl = await dataset.createItemsPublicUrl(); + +// Key-value store +const store = client.keyValueStore('my-store-id'); + +// Get permanent URL for a single record +const recordUrl = store.getRecordPublicUrl('report.pdf'); + +// Create pre-signed URL for list of keys (expires in 1 day) +const keysPublicUrl = await store.createKeysPublicUrl({ expiresInSecs: 24 * 3600 }); + +// Create permanent pre-signed URL for list of keys +const permanentKeysPublicUrl = await store.createKeysPublicUrl(); +``` + +:::tip Permanent signed URL + +If the `expiresInSecs` option is not specified, the generated link will be **permanent**. ::: +**3. Signing URLs manually (Advanced)** + +If you need finer control - for example, generating links without using Apify client — you can sign URLs manually using our reference implementation. + +👉 [See reference implementation in Apify clients](https://github.com/apify/apify-client-js/blob/5efd68a3bc78c0173a62775f79425fad78f0e6d1/src/resource_clients/dataset.ts#L179) + +Manual signing uses standard **HMAC (SHA-256)** with `urlSigningSecretKey` of the resource and can be easily integrated. + ### Sharing storages by name A convenient feature of storages is that you can name them. If you choose to do so there is an extra access level setting that applies to storages only, which is **Anyone with name or ID can read**. In that case anyone that knows the storage name is able to read it via API or view it using the storages Console URL. diff --git a/sources/platform/collaboration/images/general-resouce-access/copy-record-url-kv-store.png b/sources/platform/collaboration/images/general-resouce-access/copy-record-url-kv-store.png new file mode 100644 index 0000000000000000000000000000000000000000..40c6f338ef3fb960079fbd96f526ec0c9c8684ba GIT binary patch literal 183356 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

7xlVQQ*vzZC?vg45yPlX9ZZe?C@Kab@Q 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 Date: Tue, 7 Oct 2025 13:56:13 +0200 Subject: [PATCH 02/14] chore: improve docs --- .../collaboration/general-resource-access.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index 12b1416646..94244e971b 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -196,11 +196,10 @@ The link will include a signature **only if the general resource access is set t You can generate pre-signed URLs programmatically for datasets and key-value stores: +- **Dataset items** ```js import { ApifyClient } from "apify-client"; const client = new ApifyClient({ token: process.env.APIFY_TOKEN }); - -// Dataset items const dataset = client.dataset('my-dataset-id'); // Creates pre-signed URL for items (expires in 7 days) @@ -208,13 +207,12 @@ const itemsUrl = await dataset.createItemsPublicUrl({ expiresInSecs: 7 * 24 * 36 // Creates permanent pre-signed URL for items const permanentItemsUrl = await dataset.createItemsPublicUrl(); +``` -// Key-value store +- **Key-value store list of keys** +```js const store = client.keyValueStore('my-store-id'); -// Get permanent URL for a single record -const recordUrl = store.getRecordPublicUrl('report.pdf'); - // Create pre-signed URL for list of keys (expires in 1 day) const keysPublicUrl = await store.createKeysPublicUrl({ expiresInSecs: 24 * 3600 }); @@ -222,6 +220,12 @@ const keysPublicUrl = await store.createKeysPublicUrl({ expiresInSecs: 24 * 3600 const permanentKeysPublicUrl = await store.createKeysPublicUrl(); ``` +- **Key-value store list of keys** +```js +// Get permanent URL for a single record +const recordUrl = store.getRecordPublicUrl('report.pdf'); +``` + :::tip Permanent signed URL If the `expiresInSecs` option is not specified, the generated link will be **permanent**. From 540ca2dc47db1836280fe888ddfe9005eb3370d0 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:23:08 +0200 Subject: [PATCH 03/14] chore: updated docs --- .../collaboration/general-resource-access.md | 68 ++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index 94244e971b..f7d13d9e67 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -47,7 +47,9 @@ The default setting strikes a good balance for casual or internal use, but **Res You can switch to **Restricted** access at any time. If it causes issues in your workflow, you can revert to the default setting just as easily. :::note Support in public Actors + Because this is a new setting, some existing public Actors and integrations might not support it yet. Their authors need to update them to provide a valid token on all API calls. + ::: @@ -260,7 +262,10 @@ To test your public Actor, run it using an account with **General resource acces ::: -In practice, this means that all API calls originating from the Actor need to have a valid API token. If you are using Apify SDK, this should be the default behavior. +In practice, this means that: +- All API requests made by your Actor must include a valid API token. +- When using the Apify SDK or Apify Client, this is handled automatically. +- Avoid relying on URLs that require unrestricted access or authentication by default. :::caution Actor Runs Inherit User Permissions @@ -268,3 +273,64 @@ In practice, this means that all API calls originating from the Actor need to ha Keep in mind that when users run your public Actor, the Actor makes API calls under the user account, not your developer account. This means that it follows the **General resource access** configuration of the user account. The configuration of your developer account has no effect on the Actor users. ::: + +### How to migrate Actors to support **Restricted** general resource access +This section provides a practical guide and best practices to help you update your public Actors so they fully support **Restricted general resource access**. + +--- + +#### 1. Always authenticate API requests + +All API requests from your Actor should use authenticated methods. +When using the [Apify SDK](https://docs.apify.com/sdk/js/) or [Apify Client](https://docs.apify.com/api/client/js/), this is done automatically. + +If your Actor makes direct API calls, include the API token manually: +```js + const response = await fetch(`https://api.apify.com/v2/key-value-stores/${storeId}`, { + headers: { Authorization: `Bearer ${process.env.APIFY_TOKEN}` }, + }); +``` + +#### 2. Generate pre-signed URLs for external sharing +If your Actor outputs or shares links to storages (such as datasets or key-value store records), make sure to generate pre-signed URLs instead of hardcoding API URLs. + +Pre-signed URLs allow secure, tokenless access for external users. + +For example: + +```js +import { ApifyClient } from "apify-client"; + +// ❌ Avoid hardcoding raw API URLs +const recordUrl = `https://api.apify.com/v2/key-value-stores/${storeId}/records/${recordKey}`; + +// ✅ Use Apify Client methods instead +const kvStore = client.keyValueStore(storeId); +const recordUrl = kvStore.getRecordPublicUrl(recordKey); + +// Save pre-signed URL — accessible without authentication +await Actor.pushData({ recordUrl }); +``` + +For details on how to generate pre-signed URLs, see the section +👉 [Sharing restricted resources with pre-signed URLs](/platform/collaboration/general-resource-access#pre-signed-urls). + +:::note Using Console URLs + +Datasets and key-value stores also include a `consoleUrl` property. +Console URLs provide stable links to the resource’s page in Apify Console. +Unauthenticated users will be prompted to sign in, ensuring they have required permissions. + +::: + +#### Test your Actor under restricted access +Before publishing or updating your Actor, it’s important to verify that it works correctly for users with **restricted general resource access**. + +You can easily test this by switching your own account’s setting to **Restricted**, or by creating an organization under your account and enabling restricted access there. This approach ensures your tests accurately reflect how your public Actor will behave for end users. + +:::tip Make sure links work as expected + +Once you’ve enabled restricted access, run your Actor and confirm that all links generated in logs, datasets, key-value stores, and status messages remain accessible as expected. Make sure any shared URLs - especially those stored in results or notifications — work without requiring an API token. + +::: + From b57d05a21076d290ccfe1ae9c888621fb10fbd5f Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:23:56 +0200 Subject: [PATCH 04/14] fix: lint --- .../actor_definition/dataset_schema/validation.md | 1 + .../collaboration/general-resource-access.md | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/sources/platform/actors/development/actor_definition/dataset_schema/validation.md b/sources/platform/actors/development/actor_definition/dataset_schema/validation.md index dee3ab181c..7cc8bcf769 100644 --- a/sources/platform/actors/development/actor_definition/dataset_schema/validation.md +++ b/sources/platform/actors/development/actor_definition/dataset_schema/validation.md @@ -132,6 +132,7 @@ async with Actor: except ApifyApiError as error: if 'invalidItems' in error.data: validation_errors = error.data['invalidItems'] + ``` diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index f7d13d9e67..c1461743b9 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -128,10 +128,12 @@ await datasetClient.update({ Even when a resource is restricted, you might still want to share it with someone outside your team — for example, to send a PDF report to a client, or include a screenshot in an automated email or Slack message. In these cases, **storage resources** (like key-value stores, datasets, and request queues) support generating **pre-signed URLs**. These are secure, time-limited links that let others access individual files without needing an Apify account or authentication. #### How pre-signed URLs work + A pre-signed URL is a regular HTTPS link that includes a cryptographic signature verifying that access has been explicitly granted by someone with valid permissions. When the signed URL is used, Apify validates the signature and grants temporary access only to the file or record it refers to - no API token required. **Key properties**: + - **Works with restricted resources** – Even if “General resource access” is set to **Restricted**, the signed URL will work without asking for API token. **Time-limited (optional)** – Links can be either **temporary** (expiring after a specified duration) or **permanent**, depending on how they’re generated. **Lightweight** - Ideal for embedding in emails, webhooks, reports, or notifications where authentication isn’t possible. @@ -162,11 +164,13 @@ the API response includes automatically generated fields: These automatically generated URLs are **valid for 14 days**. The response also contains: + - `consoleUrl` - provides a stable link to the resource's page in the Apify Console. Unlike a direct API link, Console link will prompt unauthenticated users to sign in, ensuring they have required permissions to view the resource. ::: #### How to generate pre-signed URLs + You can create pre-signed URLs either through the Apify Console or programmatically via the API or SDK. **In console:** @@ -181,7 +185,7 @@ The link will include a signature **only if the general resource access is set t ::: -- **Dataset items:** +- **Dataset items:** 1. Click the **Export** button. 2. In the modal that appears, click **Copy shareable link**. @@ -199,6 +203,7 @@ The link will include a signature **only if the general resource access is set t You can generate pre-signed URLs programmatically for datasets and key-value stores: - **Dataset items** + ```js import { ApifyClient } from "apify-client"; const client = new ApifyClient({ token: process.env.APIFY_TOKEN }); @@ -212,6 +217,7 @@ const permanentItemsUrl = await dataset.createItemsPublicUrl(); ``` - **Key-value store list of keys** + ```js const store = client.keyValueStore('my-store-id'); @@ -223,6 +229,7 @@ const permanentKeysPublicUrl = await store.createKeysPublicUrl(); ``` - **Key-value store list of keys** + ```js // Get permanent URL for a single record const recordUrl = store.getRecordPublicUrl('report.pdf'); @@ -263,6 +270,7 @@ To test your public Actor, run it using an account with **General resource acces ::: In practice, this means that: + - All API requests made by your Actor must include a valid API token. - When using the Apify SDK or Apify Client, this is handled automatically. - Avoid relying on URLs that require unrestricted access or authentication by default. @@ -275,6 +283,7 @@ Keep in mind that when users run your public Actor, the Actor makes API calls un ::: ### How to migrate Actors to support **Restricted** general resource access + This section provides a practical guide and best practices to help you update your public Actors so they fully support **Restricted general resource access**. --- @@ -285,6 +294,7 @@ All API requests from your Actor should use authenticated methods. When using the [Apify SDK](https://docs.apify.com/sdk/js/) or [Apify Client](https://docs.apify.com/api/client/js/), this is done automatically. If your Actor makes direct API calls, include the API token manually: + ```js const response = await fetch(`https://api.apify.com/v2/key-value-stores/${storeId}`, { headers: { Authorization: `Bearer ${process.env.APIFY_TOKEN}` }, @@ -292,6 +302,7 @@ If your Actor makes direct API calls, include the API token manually: ``` #### 2. Generate pre-signed URLs for external sharing + If your Actor outputs or shares links to storages (such as datasets or key-value store records), make sure to generate pre-signed URLs instead of hardcoding API URLs. Pre-signed URLs allow secure, tokenless access for external users. @@ -324,6 +335,7 @@ Unauthenticated users will be prompted to sign in, ensuring they have required p ::: #### Test your Actor under restricted access + Before publishing or updating your Actor, it’s important to verify that it works correctly for users with **restricted general resource access**. You can easily test this by switching your own account’s setting to **Restricted**, or by creating an organization under your account and enabling restricted access there. This approach ensures your tests accurately reflect how your public Actor will behave for end users. From 8e7188dc01fd2bbc43d5da41022908fbf230a272 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:52:02 +0200 Subject: [PATCH 05/14] chore: improve docs --- ...pi-token-scoped-default-storage-access.png | Bin 31339 -> 58164 bytes .../platform/integrations/programming/api.md | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sources/platform/integrations/images/api-token-scoped-default-storage-access.png b/sources/platform/integrations/images/api-token-scoped-default-storage-access.png index 22ad2351edfcc5b6f1422981b1fbac0c1ba6a28e..8db7fed9dfd64030fd3862eeca6f6a95baa56f19 100644 GIT binary patch literal 58164 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൴{u^NH@9o;q$<9VKeE2sD@BJRSLRDiHri_SBv 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 literal 31339 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 V Date: Tue, 7 Oct 2025 16:52:19 +0200 Subject: [PATCH 06/14] chore: fix lint --- sources/platform/integrations/programming/api.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/platform/integrations/programming/api.md b/sources/platform/integrations/programming/api.md index 1b35705878..3a08e749c1 100644 --- a/sources/platform/integrations/programming/api.md +++ b/sources/platform/integrations/programming/api.md @@ -175,6 +175,7 @@ You can configure whether the scoped token you are going use to run the Actor sh If it’s **on**, the token can implicitly access the default storage of the Actor runs it triggers, or in general, of any Actor run in your account that falls within its scope. This is useful if you want to allow a third-party service to run an Actor and then read the Actor’s output (think AI agents). If the toggle is **off**, the token can still trigger and inspect runs, but access to the default storages is restricted: + - For accounts with **Restricted general resource access**, the token cannot read or write default storages. [Learn more about restricted general resource access](/platform/collaboration/general-resource-access). - For accounts with **Unrestricted general resource access**, the default storages can still be read anonymously using their IDs, but writing is prevented. From aaf5273421c59ba333ba044745737f4255103d66 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Wed, 8 Oct 2025 10:16:16 +0200 Subject: [PATCH 07/14] refactor: clean up --- .../collaboration/general-resource-access.md | 19 ++++++------------- .../platform/integrations/programming/api.md | 2 +- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index c1461743b9..55015b0fe6 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -130,13 +130,12 @@ Even when a resource is restricted, you might still want to share it with someon #### How pre-signed URLs work A pre-signed URL is a regular HTTPS link that includes a cryptographic signature verifying that access has been explicitly granted by someone with valid permissions. -When the signed URL is used, Apify validates the signature and grants temporary access only to the file or record it refers to - no API token required. +When the signed URL is used, Apify validates the signature and grants access - no API token required. **Key properties**: - **Works with restricted resources** – Even if “General resource access” is set to **Restricted**, the signed URL will work without asking for API token. -**Time-limited (optional)** – Links can be either **temporary** (expiring after a specified duration) or **permanent**, depending on how they’re generated. -**Lightweight** - Ideal for embedding in emails, webhooks, reports, or notifications where authentication isn’t possible. +- **Time-limited or permantent** – Links can be either **temporary** (expiring after a specified duration) or **permanent**, depending on how they’re generated. #### What links can be pre-signed @@ -171,7 +170,7 @@ The response also contains: #### How to generate pre-signed URLs -You can create pre-signed URLs either through the Apify Console or programmatically via the API or SDK. +You can create pre-signed URLs either through the Apify Console or programmatically via the Apify API client. **In console:** @@ -263,12 +262,6 @@ This is very useful if you wish to expose a storage publicly with an easy to rem If you own a public Actor in the Apify Store, you need to make sure that your Actor will work even for users who have restricted access to their resources. Over time, you might see a growing number of users with **General resource access** set to **Restricted**. -:::tip Testing public access behavior - -To test your public Actor, run it using an account with **General resource access** set to restricted. You can use your developer account, or create a temporary testing Apify account. - -::: - In practice, this means that: - All API requests made by your Actor must include a valid API token. @@ -290,7 +283,7 @@ This section provides a practical guide and best practices to help you update yo #### 1. Always authenticate API requests -All API requests from your Actor should use authenticated methods. +All API requests from your Actor should be authenticated. When using the [Apify SDK](https://docs.apify.com/sdk/js/) or [Apify Client](https://docs.apify.com/api/client/js/), this is done automatically. If your Actor makes direct API calls, include the API token manually: @@ -323,8 +316,8 @@ const recordUrl = kvStore.getRecordPublicUrl(recordKey); await Actor.pushData({ recordUrl }); ``` -For details on how to generate pre-signed URLs, see the section -👉 [Sharing restricted resources with pre-signed URLs](/platform/collaboration/general-resource-access#pre-signed-urls). +To learn more about generating pre-signed URLs, refer to the section [Sharing restricted resources with pre-signed URLs](/platform/collaboration/general-resource-access#pre-signed-urls). + :::note Using Console URLs diff --git a/sources/platform/integrations/programming/api.md b/sources/platform/integrations/programming/api.md index 3a08e749c1..6923b2d64f 100644 --- a/sources/platform/integrations/programming/api.md +++ b/sources/platform/integrations/programming/api.md @@ -176,7 +176,7 @@ If it’s **on**, the token can implicitly access the default storage of the Act If the toggle is **off**, the token can still trigger and inspect runs, but access to the default storages is restricted: -- For accounts with **Restricted general resource access**, the token cannot read or write default storages. [Learn more about restricted general resource access](/platform/collaboration/general-resource-access). +- For accounts with **Restricted general resource access**, the token cannot read or write to default storages. [Learn more about restricted general resource access](/platform/collaboration/general-resource-access). - For accounts with **Unrestricted general resource access**, the default storages can still be read anonymously using their IDs, but writing is prevented. From 57f3c965f17468cfe9ecdd1b17a0565ab10f40f0 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Thu, 9 Oct 2025 13:14:04 +0200 Subject: [PATCH 08/14] refactor: clean up --- .../collaboration/general-resource-access.md | 51 ++++++++----------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index 55015b0fe6..f6ebacbf82 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -130,12 +130,9 @@ Even when a resource is restricted, you might still want to share it with someon #### How pre-signed URLs work A pre-signed URL is a regular HTTPS link that includes a cryptographic signature verifying that access has been explicitly granted by someone with valid permissions. -When the signed URL is used, Apify validates the signature and grants access - no API token required. +When a pre-signed URL is used, Apify validates the signature and grants access without requiring an API token. -**Key properties**: - -- **Works with restricted resources** – Even if “General resource access” is set to **Restricted**, the signed URL will work without asking for API token. -- **Time-limited or permantent** – Links can be either **temporary** (expiring after a specified duration) or **permanent**, depending on how they’re generated. +The signature can be temporary (set to expire after a specified duration) or permanent, depending on the expiration date set when it's generated. #### What links can be pre-signed @@ -168,40 +165,38 @@ The response also contains: ::: -#### How to generate pre-signed URLs - You can create pre-signed URLs either through the Apify Console or programmatically via the Apify API client. -**In console:** +#### How to generate pre-signed URLs in Apify Console To generate a pre-signed link, you can use the **Export** button in Console, or call the appropriate API client method. -**1. Using the Apify Console** - :::note The link will include a signature **only if the general resource access is set to Restricted**. For unrestricted datasets, the link will work without a signature. ::: -- **Dataset items:** - 1. Click the **Export** button. - 2. In the modal that appears, click **Copy shareable link**. +**Dataset items:** - ![Generating shareable link for a restricted storage resource](./images/general-resouce-access/copy-shareable-link.png) +1. Click the **Export** button. +2. In the modal that appears, click **Copy shareable link**. -- **Key-value store records:** - 1. Open a key-value store. - 2. Navigate to the record you want to share. - 3. In the **Actions** column, click the link icon to **copy signed link**. +![Generating shareable link for a restricted storage resource](./images/general-resouce-access/copy-shareable-link.png) - ![Copy pre-signed URL for KV store record](./images/general-resouce-access/copy-record-url-kv-store.png) +**Key-value store records:** -**2. Using the Apify Client** +1. Open a key-value store. +2. Navigate to the record you want to share. +3. In the **Actions** column, click the link icon to **copy signed link**. + +![Copy pre-signed URL for KV store record](./images/general-resouce-access/copy-record-url-kv-store.png) + +#### How to generate pre-signed URLs using Apify Client You can generate pre-signed URLs programmatically for datasets and key-value stores: -- **Dataset items** +**Dataset items** ```js import { ApifyClient } from "apify-client"; @@ -215,7 +210,7 @@ const itemsUrl = await dataset.createItemsPublicUrl({ expiresInSecs: 7 * 24 * 36 const permanentItemsUrl = await dataset.createItemsPublicUrl(); ``` -- **Key-value store list of keys** +**Key-value store list of keys** ```js const store = client.keyValueStore('my-store-id'); @@ -227,7 +222,7 @@ const keysPublicUrl = await store.createKeysPublicUrl({ expiresInSecs: 24 * 3600 const permanentKeysPublicUrl = await store.createKeysPublicUrl(); ``` -- **Key-value store list of keys** +**Key-value store record** ```js // Get permanent URL for a single record @@ -240,7 +235,7 @@ If the `expiresInSecs` option is not specified, the generated link will be **per ::: -**3. Signing URLs manually (Advanced)** +#### Signing URLs manually If you need finer control - for example, generating links without using Apify client — you can sign URLs manually using our reference implementation. @@ -275,13 +270,13 @@ Keep in mind that when users run your public Actor, the Actor makes API calls un ::: -### How to migrate Actors to support **Restricted** general resource access +### Migration guide to support restricted general resource access This section provides a practical guide and best practices to help you update your public Actors so they fully support **Restricted general resource access**. --- -#### 1. Always authenticate API requests +#### Always authenticate API requests All API requests from your Actor should be authenticated. When using the [Apify SDK](https://docs.apify.com/sdk/js/) or [Apify Client](https://docs.apify.com/api/client/js/), this is done automatically. @@ -294,12 +289,10 @@ If your Actor makes direct API calls, include the API token manually: }); ``` -#### 2. Generate pre-signed URLs for external sharing +#### Generate pre-signed URLs for external sharing If your Actor outputs or shares links to storages (such as datasets or key-value store records), make sure to generate pre-signed URLs instead of hardcoding API URLs. -Pre-signed URLs allow secure, tokenless access for external users. - For example: ```js From fe6b89e036c975b07ad8e4b18a3d9858d4d471b7 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Thu, 9 Oct 2025 13:26:03 +0200 Subject: [PATCH 09/14] refactor: clean up --- sources/platform/collaboration/general-resource-access.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index f6ebacbf82..d965d07b06 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -141,9 +141,9 @@ This allows fine-grained control over what data can be shared without authentica | Resource | Link | Validity | Notes | |-----------|-----------------------|------|-------| -| **Datasets** | Dataset items (`/v2/datasets/:datasetId/items`) | Temporary or Permanent | The link provides access to all dataset items. | -| **Key-value stores** | List of keys (`/v2/key-value-stores/:storeId/keys`) | Temporary or Permanent | Returns the list of keys in a store. | -| **Key-value stores** | Single record (`/v2/key-value-stores/:storeId/records/:recordKey`) | **Permanent only** | The public URL for a specific record is always permanent - it stays valid as long as the record exists. | +| **Datasets** | [Dataset items](/api/v2/dataset-items-get) (`/v2/datasets/:datasetId/items`) | Temporary or Permanent | The link provides access to all dataset items. | +| **Key-value stores** | [List of keys](/api/v2/key-value-store-keys-get) (`/v2/key-value-stores/:storeId/keys`) | Temporary or Permanent | Returns the list of keys in a store. | +| **Key-value stores** | [Single record](/api/v2/key-value-store-record-get) (`/v2/key-value-stores/:storeId/records/:recordKey`) | **Permanent only** | The public URL for a specific record is always permanent - it stays valid as long as the record exists. | :::info Automatically generated signed URLs From 30801e581b7781a76ef945bf9e5623c3d8690277 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Tue, 14 Oct 2025 10:31:25 +0200 Subject: [PATCH 10/14] refactor: clean up --- .../collaboration/general-resource-access.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index d965d07b06..1fffce7006 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -169,7 +169,7 @@ You can create pre-signed URLs either through the Apify Console or programmatica #### How to generate pre-signed URLs in Apify Console -To generate a pre-signed link, you can use the **Export** button in Console, or call the appropriate API client method. +To generate a pre-signed link, you can use the **Export** button in Console. :::note @@ -237,7 +237,7 @@ If the `expiresInSecs` option is not specified, the generated link will be **per #### Signing URLs manually -If you need finer control - for example, generating links without using Apify client — you can sign URLs manually using our reference implementation. +If you need finer control — for example, generating links without using Apify client — you can sign URLs manually using our reference implementation. 👉 [See reference implementation in Apify clients](https://github.com/apify/apify-client-js/blob/5efd68a3bc78c0173a62775f79425fad78f0e6d1/src/resource_clients/dataset.ts#L179) @@ -257,14 +257,10 @@ This is very useful if you wish to expose a storage publicly with an easy to rem If you own a public Actor in the Apify Store, you need to make sure that your Actor will work even for users who have restricted access to their resources. Over time, you might see a growing number of users with **General resource access** set to **Restricted**. -In practice, this means that: +In practice, this means that all API calls originating from the Actor need to have a valid API token. If you are using Apify SDK, this should be the default behavior. See the detailed guide below for more information. -- All API requests made by your Actor must include a valid API token. -- When using the Apify SDK or Apify Client, this is handled automatically. -- Avoid relying on URLs that require unrestricted access or authentication by default. - -:::caution Actor Runs Inherit User Permissions +:::caution Actor runs inherit user permissions Keep in mind that when users run your public Actor, the Actor makes API calls under the user account, not your developer account. This means that it follows the **General resource access** configuration of the user account. The configuration of your developer account has no effect on the Actor users. @@ -328,7 +324,7 @@ You can easily test this by switching your own account’s setting to **Restrict :::tip Make sure links work as expected -Once you’ve enabled restricted access, run your Actor and confirm that all links generated in logs, datasets, key-value stores, and status messages remain accessible as expected. Make sure any shared URLs - especially those stored in results or notifications — work without requiring an API token. +Once you’ve enabled restricted access, run your Actor and confirm that all links generated in logs, datasets, key-value stores, and status messages remain accessible as expected. Make sure any shared URLs — especially those stored in results or notifications — work without requiring an API token. ::: From af5d0ffce621027884f4e34ba42fae1d60d96954 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Tue, 14 Oct 2025 10:51:49 +0200 Subject: [PATCH 11/14] refactor: clean up --- .../collaboration/general-resource-access.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index 1fffce7006..32e2a0985e 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -201,32 +201,32 @@ You can generate pre-signed URLs programmatically for datasets and key-value sto ```js import { ApifyClient } from "apify-client"; const client = new ApifyClient({ token: process.env.APIFY_TOKEN }); -const dataset = client.dataset('my-dataset-id'); +const datasetClient = client.dataset('my-dataset-id'); // Creates pre-signed URL for items (expires in 7 days) -const itemsUrl = await dataset.createItemsPublicUrl({ expiresInSecs: 7 * 24 * 3600 }); +const itemsUrl = await datasetClient.createItemsPublicUrl({ expiresInSecs: 7 * 24 * 3600 }); // Creates permanent pre-signed URL for items -const permanentItemsUrl = await dataset.createItemsPublicUrl(); +const permanentItemsUrl = await datasetClient.createItemsPublicUrl(); ``` **Key-value store list of keys** ```js -const store = client.keyValueStore('my-store-id'); +const storeClient = client.keyValueStore('my-store-id'); // Create pre-signed URL for list of keys (expires in 1 day) -const keysPublicUrl = await store.createKeysPublicUrl({ expiresInSecs: 24 * 3600 }); +const keysPublicUrl = await storeClient.createKeysPublicUrl({ expiresInSecs: 24 * 3600 }); // Create permanent pre-signed URL for list of keys -const permanentKeysPublicUrl = await store.createKeysPublicUrl(); +const permanentKeysPublicUrl = await storeClient.createKeysPublicUrl(); ``` **Key-value store record** ```js // Get permanent URL for a single record -const recordUrl = store.getRecordPublicUrl('report.pdf'); +const recordUrl = await storeClient.getRecordPublicUrl('report.pdf'); ``` :::tip Permanent signed URL @@ -298,8 +298,8 @@ import { ApifyClient } from "apify-client"; const recordUrl = `https://api.apify.com/v2/key-value-stores/${storeId}/records/${recordKey}`; // ✅ Use Apify Client methods instead -const kvStore = client.keyValueStore(storeId); -const recordUrl = kvStore.getRecordPublicUrl(recordKey); +const storeClient = client.keyValueStore(storeId); +const recordUrl = await storeClient.getRecordPublicUrl(recordKey); // Save pre-signed URL — accessible without authentication await Actor.pushData({ recordUrl }); From 49d39ee15209c14c2185f207416ebcaac097ace0 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:25:32 +0200 Subject: [PATCH 12/14] refactor: clean up --- .../collaboration/general-resource-access.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index 32e2a0985e..7becb2407d 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -125,7 +125,7 @@ await datasetClient.update({ ### Sharing restricted resources with pre-signed URLs {#pre-signed-urls} -Even when a resource is restricted, you might still want to share it with someone outside your team — for example, to send a PDF report to a client, or include a screenshot in an automated email or Slack message. In these cases, **storage resources** (like key-value stores, datasets, and request queues) support generating **pre-signed URLs**. These are secure, time-limited links that let others access individual files without needing an Apify account or authentication. +Even when a resource is restricted, you might still want to share it with someone outside your team — for example, to send a PDF report to a client, or include a screenshot in an automated email or Slack message. In these cases, _storage resources_ (like key-value stores, datasets, and request queues) support generating _pre-signed URLs_. These are secure, time-limited links that let others access individual files without needing an Apify account or authentication. #### How pre-signed URLs work @@ -136,14 +136,14 @@ The signature can be temporary (set to expire after a specified duration) or per #### What links can be pre-signed -Only selected **dataset** and **key-value store** endpoints support pre-signed URLs. +Only selected _dataset_ and _key-value store_ endpoints support pre-signed URLs. This allows fine-grained control over what data can be shared without authentication. | Resource | Link | Validity | Notes | |-----------|-----------------------|------|-------| -| **Datasets** | [Dataset items](/api/v2/dataset-items-get) (`/v2/datasets/:datasetId/items`) | Temporary or Permanent | The link provides access to all dataset items. | -| **Key-value stores** | [List of keys](/api/v2/key-value-store-keys-get) (`/v2/key-value-stores/:storeId/keys`) | Temporary or Permanent | Returns the list of keys in a store. | -| **Key-value stores** | [Single record](/api/v2/key-value-store-record-get) (`/v2/key-value-stores/:storeId/records/:recordKey`) | **Permanent only** | The public URL for a specific record is always permanent - it stays valid as long as the record exists. | +| _Datasets_ | [Dataset items](/api/v2/dataset-items-get) (`/v2/datasets/:datasetId/items`) | Temporary or Permanent | The link provides access to all dataset items. | +| _Key-value stores_ | [List of keys](/api/v2/key-value-store-keys-get) (`/v2/key-value-stores/:storeId/keys`) | Temporary or Permanent | Returns the list of keys in a store. | +| _Key-value stores_ | [Single record](/api/v2/key-value-store-record-get) (`/v2/key-value-stores/:storeId/records/:recordKey`) | _Permanent only_ | The public URL for a specific record is always permanent - it stays valid as long as the record exists. | :::info Automatically generated signed URLs @@ -157,7 +157,7 @@ the API response includes automatically generated fields: - `itemsPublicUrl` – a pre-signed URL providing access to dataset items - `keysPublicUrl` – a pre-signed URL providing access to key-value store keys -These automatically generated URLs are **valid for 14 days**. +These automatically generated URLs are _valid for 14 days_. The response also contains: @@ -173,22 +173,22 @@ To generate a pre-signed link, you can use the **Export** button in Console. :::note -The link will include a signature **only if the general resource access is set to Restricted**. For unrestricted datasets, the link will work without a signature. +The link will include a signature _only if the general resource access is set to Restricted_. For unrestricted datasets, the link will work without a signature. ::: -**Dataset items:** +##### Dataset items: 1. Click the **Export** button. 2. In the modal that appears, click **Copy shareable link**. ![Generating shareable link for a restricted storage resource](./images/general-resouce-access/copy-shareable-link.png) -**Key-value store records:** +##### Key-value store records: 1. Open a key-value store. 2. Navigate to the record you want to share. -3. In the **Actions** column, click the link icon to **copy signed link**. +3. In the **Actions** column, click the link icon to copy signed link. ![Copy pre-signed URL for KV store record](./images/general-resouce-access/copy-record-url-kv-store.png) @@ -196,7 +196,7 @@ The link will include a signature **only if the general resource access is set t You can generate pre-signed URLs programmatically for datasets and key-value stores: -**Dataset items** +##### Dataset items: ```js import { ApifyClient } from "apify-client"; @@ -210,7 +210,7 @@ const itemsUrl = await datasetClient.createItemsPublicUrl({ expiresInSecs: 7 * 2 const permanentItemsUrl = await datasetClient.createItemsPublicUrl(); ``` -**Key-value store list of keys** +##### Key-value store list of keys: ```js const storeClient = client.keyValueStore('my-store-id'); @@ -222,7 +222,7 @@ const keysPublicUrl = await storeClient.createKeysPublicUrl({ expiresInSecs: 24 const permanentKeysPublicUrl = await storeClient.createKeysPublicUrl(); ``` -**Key-value store record** +##### Key-value store record: ```js // Get permanent URL for a single record @@ -231,7 +231,7 @@ const recordUrl = await storeClient.getRecordPublicUrl('report.pdf'); :::tip Permanent signed URL -If the `expiresInSecs` option is not specified, the generated link will be **permanent**. +If the `expiresInSecs` option is not specified, the generated link will be _permanent_. ::: @@ -239,9 +239,9 @@ If the `expiresInSecs` option is not specified, the generated link will be **per If you need finer control — for example, generating links without using Apify client — you can sign URLs manually using our reference implementation. -👉 [See reference implementation in Apify clients](https://github.com/apify/apify-client-js/blob/5efd68a3bc78c0173a62775f79425fad78f0e6d1/src/resource_clients/dataset.ts#L179) +[Check the reference implementation in Apify clients](https://github.com/apify/apify-client-js/blob/5efd68a3bc78c0173a62775f79425fad78f0e6d1/src/resource_clients/dataset.ts#L179) -Manual signing uses standard **HMAC (SHA-256)** with `urlSigningSecretKey` of the resource and can be easily integrated. +Manual signing uses standard _HMAC (SHA-256)_ with `urlSigningSecretKey` of the resource and can be easily integrated. ### Sharing storages by name @@ -255,20 +255,20 @@ This is very useful if you wish to expose a storage publicly with an easy to rem ## Implications for public Actor developers -If you own a public Actor in the Apify Store, you need to make sure that your Actor will work even for users who have restricted access to their resources. Over time, you might see a growing number of users with **General resource access** set to **Restricted**. +If you own a public Actor in the Apify Store, you need to make sure that your Actor will work even for users who have restricted access to their resources. Over time, you might see a growing number of users with _General resource access_ set to _Restricted_. In practice, this means that all API calls originating from the Actor need to have a valid API token. If you are using Apify SDK, this should be the default behavior. See the detailed guide below for more information. :::caution Actor runs inherit user permissions -Keep in mind that when users run your public Actor, the Actor makes API calls under the user account, not your developer account. This means that it follows the **General resource access** configuration of the user account. The configuration of your developer account has no effect on the Actor users. +Keep in mind that when users run your public Actor, the Actor makes API calls under the user account, not your developer account. This means that it follows the _General resource access_ configuration of the user account. The configuration of your developer account has no effect on the Actor users. ::: ### Migration guide to support restricted general resource access -This section provides a practical guide and best practices to help you update your public Actors so they fully support **Restricted general resource access**. +This section provides a practical guide and best practices to help you update your public Actors so they fully support _Restricted general resource access_. --- @@ -318,9 +318,9 @@ Unauthenticated users will be prompted to sign in, ensuring they have required p #### Test your Actor under restricted access -Before publishing or updating your Actor, it’s important to verify that it works correctly for users with **restricted general resource access**. +Before publishing or updating your Actor, it’s important to verify that it works correctly for users with _restricted general resource access_. -You can easily test this by switching your own account’s setting to **Restricted**, or by creating an organization under your account and enabling restricted access there. This approach ensures your tests accurately reflect how your public Actor will behave for end users. +You can easily test this by switching your own account’s setting to _Restricted_, or by creating an organization under your account and enabling restricted access there. This approach ensures your tests accurately reflect how your public Actor will behave for end users. :::tip Make sure links work as expected From 6057eed0a682360a0928fd05ae49079156e9e1e1 Mon Sep 17 00:00:00 2001 From: Daniil Poletaev <44584010+danpoletaev@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:26:42 +0200 Subject: [PATCH 13/14] refactor: clean up --- .../platform/collaboration/general-resource-access.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sources/platform/collaboration/general-resource-access.md b/sources/platform/collaboration/general-resource-access.md index 7becb2407d..3731f9d5f9 100644 --- a/sources/platform/collaboration/general-resource-access.md +++ b/sources/platform/collaboration/general-resource-access.md @@ -177,14 +177,14 @@ The link will include a signature _only if the general resource access is set to ::: -##### Dataset items: +##### Dataset items 1. Click the **Export** button. 2. In the modal that appears, click **Copy shareable link**. ![Generating shareable link for a restricted storage resource](./images/general-resouce-access/copy-shareable-link.png) -##### Key-value store records: +##### Key-value store records 1. Open a key-value store. 2. Navigate to the record you want to share. @@ -196,7 +196,7 @@ The link will include a signature _only if the general resource access is set to You can generate pre-signed URLs programmatically for datasets and key-value stores: -##### Dataset items: +##### Dataset items ```js import { ApifyClient } from "apify-client"; @@ -210,7 +210,7 @@ const itemsUrl = await datasetClient.createItemsPublicUrl({ expiresInSecs: 7 * 2 const permanentItemsUrl = await datasetClient.createItemsPublicUrl(); ``` -##### Key-value store list of keys: +##### Key-value store list of keys ```js const storeClient = client.keyValueStore('my-store-id'); @@ -222,7 +222,7 @@ const keysPublicUrl = await storeClient.createKeysPublicUrl({ expiresInSecs: 24 const permanentKeysPublicUrl = await storeClient.createKeysPublicUrl(); ``` -##### Key-value store record: +##### Key-value store record ```js // Get permanent URL for a single record From 0938857337fa1ea5ec3e15e1b7e962f65cc41997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Fri, 17 Oct 2025 11:21:28 +0200 Subject: [PATCH 14/14] fix lint errors --- .../actor_definition/dataset_schema/validation.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sources/platform/actors/development/actor_definition/dataset_schema/validation.md b/sources/platform/actors/development/actor_definition/dataset_schema/validation.md index 7cc8bcf769..745c48db65 100644 --- a/sources/platform/actors/development/actor_definition/dataset_schema/validation.md +++ b/sources/platform/actors/development/actor_definition/dataset_schema/validation.md @@ -104,12 +104,13 @@ If the data you attempt to store in the dataset is _invalid_ (meaning any of the } ``` -The type of the AJV validation error object is [here](https://github.com/ajv-validator/ajv/blob/master/lib/types/index.ts#L86). +For the complete AJV validation error object type definition, refer to the [AJV type definitions on GitHub](https://github.com/ajv-validator/ajv/blob/master/lib/types/index.ts#L86). If you use the Apify JS client or Apify SDK and call `pushData` function you can access the validation errors in a `try catch` block like this: + ```javascript try { const response = await Actor.pushData(items); @@ -120,8 +121,10 @@ try { }); } ``` + + ```python from apify import Actor from apify_client.errors import ApifyApiError @@ -132,8 +135,8 @@ async with Actor: except ApifyApiError as error: if 'invalidItems' in error.data: validation_errors = error.data['invalidItems'] - ``` +