From 3544de790fb8d152bc516d9eb14893fe2d2e288b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20Proch=C3=A1zka?= Date: Tue, 14 Jul 2026 21:19:57 +0000 Subject: [PATCH 1/2] chore: sync .NET client with Apify OpenAPI spec v2-2026-07-13T092445Z Bumps the referenced OpenAPI spec to v2-2026-07-13T092445Z (apify-docs PR #2763 autofix: added 402/408 error responses and relaxed required stats counters). No client code change needed - non-2xx statuses route through the generic ApifyApiException path and JsonObject-backed models tolerate now-optional fields. Version bumped to 0.1.4. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01VEDd2d9MHc8azfZ6J86Fn3 --- CHANGELOG.md | 5 +++++ src/Apify.Client/Apify.Client.csproj | 2 +- src/Apify.Client/ApifyClientVersion.cs | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb9328a..74f5941 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.4 + +- Bumped `ApifyClientVersion.ApiSpecVersion` to the Apify OpenAPI spec `v2-2026-07-13T092445Z` and the + project version to `0.1.4`. + ## 0.1.3 - Bumped `ApifyClientVersion.ApiSpecVersion` to the Apify OpenAPI spec `v2-2026-07-10T105921Z` and the diff --git a/src/Apify.Client/Apify.Client.csproj b/src/Apify.Client/Apify.Client.csproj index 0708960..4359176 100644 --- a/src/Apify.Client/Apify.Client.csproj +++ b/src/Apify.Client/Apify.Client.csproj @@ -6,7 +6,7 @@ Apify.Client - 0.1.3 + 0.1.4 Apify Apify Apify API client for .NET diff --git a/src/Apify.Client/ApifyClientVersion.cs b/src/Apify.Client/ApifyClientVersion.cs index 03807e8..ebe2df8 100644 --- a/src/Apify.Client/ApifyClientVersion.cs +++ b/src/Apify.Client/ApifyClientVersion.cs @@ -14,11 +14,11 @@ public static class ApifyClientVersion /// The semantic version of this client library (see https://semver.org/). Changes to the public /// interface other than additive ones are considered breaking changes. /// - public const string ClientVersion = "0.1.3"; + public const string ClientVersion = "0.1.4"; /// /// The version of the Apify OpenAPI specification this client was generated and verified against. /// Corresponds to the info.version field of the Apify OpenAPI document. /// - public const string ApiSpecVersion = "v2-2026-07-10T105921Z"; + public const string ApiSpecVersion = "v2-2026-07-13T092445Z"; } From ceff1cce31ed17b5b5a822b5232fc6dc3b003b92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20Proch=C3=A1zka?= Date: Tue, 14 Jul 2026 21:19:58 +0000 Subject: [PATCH 2/2] docs: show all three last-run storages in example, expand Options index Addresses the review-client documentation-polish items for the 0.1.4 spec sync: - RunAndLastRunStoragesExample now reads the run's default request queue in addition to the dataset and key-value store (requirement (e)), in both the CI-run example and the docs/examples.md snippet. - docs/README.md Options namespace row now enumerates every option type instead of ending with etc. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01VEDd2d9MHc8azfZ6J86Fn3 --- docs/README.md | 2 +- docs/examples.md | 2 ++ .../Apify.Client.Tests/Examples/RunAndLastRunStoragesExample.cs | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 9d5c6c2..b261209 100644 --- a/docs/README.md +++ b/docs/README.md @@ -75,7 +75,7 @@ the `using` directives for whichever ones a file references: | `Apify.Client` | The entry point (`ApifyClient`), `ApifyClientOptions`, `ApifyClientVersion`, and the log-redirection helper `StreamedLog`. | | `Apify.Client.Resources` | Every resource client the entry point returns — `ActorClient`, `RunClient`, `BuildClient`, `DatasetClient`, `KeyValueStoreClient`, `RequestQueueClient`, `TaskClient`, `ScheduleClient`, `LogClient`, `UserClient`, `ActorVersionClient`, `ActorEnvVarClient`, the `…CollectionClient` types (including `ActorVersionCollectionClient`, `ActorEnvVarCollectionClient`, `NestedWebhookCollectionClient`, and `WebhookDispatchCollectionClient`), etc. | | `Apify.Client.Models` | Data models returned by the clients — `Actor`, `ActorRun`, `Build`, `Dataset`, `RequestQueueRequest`, `ActorEnvVar`, `PaginationList`, and so on. | -| `Apify.Client.Options` | The option/request objects passed into methods — `ActorStartOptions`, `DatasetListItemsOptions`, `DownloadItemsFormat`, `ListOptions`, `SetRecordOptions`, `StorageListOptions`, etc. | +| `Apify.Client.Options` | The option/request objects passed into methods — `ActorStartOptions`, `ActorBuildOptions`, `ActorListOptions`, `RunListOptions`, `RunResurrectOptions`, `RunChargeOptions`, `MetamorphOptions`, `LastRunOptions`, `DatasetListItemsOptions`, `DatasetDownloadOptions`, `DownloadItemsFormat`, `GetRecordOptions`, `SetRecordOptions`, `ListKeysOptions`, `ListRequestsOptions`, `PaginateRequestsOptions`, `BatchAddRequestsOptions`, `RequestQueueClientOptions`, `TaskStartOptions`, `ValidateInputOptions`, `LogOptions`, `ListOptions`, `StorageListOptions`, `StoreListOptions`. | | `Apify.Client.Exceptions` | `ApifyApiException` and `ApifyTransportException`. | | `Apify.Client.Http` | The replaceable transport: `IHttpTransport` and the default `HttpClientTransport`. | | `System.Text.Json.Nodes` (BCL) | Not an Apify namespace, but required whenever you name the JSON escape-hatch types the client returns/accepts — `JsonObject`/`JsonNode` (e.g. dataset items, `GetInputAsync`/`UpdateInputAsync`, `GetStatisticsAsync`, `GetOpenApiDefinitionAsync`, `MonthlyUsageAsync`/`LimitsAsync`, `RequestQueueRequest.UserData`). Add `using System.Text.Json.Nodes;`. | diff --git a/docs/examples.md b/docs/examples.md index ecfa8db..1001d2d 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -104,8 +104,10 @@ await client.Actor("apify/hello-world").CallAsync(null, null, 120); var last = await client.Actor("apify/hello-world").LastRun(new LastRunOptions { Status = "SUCCEEDED" }).GetAsync(); if (last is not null) { + // Read all three of the run's default storages: dataset, key-value store, request queue. await client.Dataset(last.DefaultDatasetId!).ListItemsAsync(new DatasetListItemsOptions()); await client.KeyValueStore(last.DefaultKeyValueStoreId!).GetRecordAsync("OUTPUT"); + await client.RequestQueue(last.DefaultRequestQueueId!).GetAsync(); Console.WriteLine("Last run: " + last.Id); } ``` diff --git a/tests/Apify.Client.Tests/Examples/RunAndLastRunStoragesExample.cs b/tests/Apify.Client.Tests/Examples/RunAndLastRunStoragesExample.cs index f709d21..73a5095 100644 --- a/tests/Apify.Client.Tests/Examples/RunAndLastRunStoragesExample.cs +++ b/tests/Apify.Client.Tests/Examples/RunAndLastRunStoragesExample.cs @@ -14,8 +14,10 @@ public static async Task RunAsync(ApifyClient client) var last = await client.Actor("apify/hello-world").LastRun(new LastRunOptions { Status = "SUCCEEDED" }).GetAsync(); if (last is not null) { + // Read all three of the run's default storages: dataset, key-value store, request queue. await client.Dataset(last.DefaultDatasetId!).ListItemsAsync(new DatasetListItemsOptions()); await client.KeyValueStore(last.DefaultKeyValueStoreId!).GetRecordAsync("OUTPUT"); + await client.RequestQueue(last.DefaultRequestQueueId!).GetAsync(); Console.WriteLine("Last run: " + last.Id); } }