Skip to content

feat: add Server Actor client and sync with Apify OpenAPI spec v2-2026-11-04T151257Z - #33

Merged
Pijukatel merged 5 commits into
masterfrom
claude/upbeat-faraday-3x9r01
Nov 9, 2026
Merged

Pijukatel merged 5 commits into
masterfrom
claude/upbeat-faraday-3x9r01

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Syncs the Go client with OpenAPI spec v2-2026-11-04T151257Z (apify/apify-docs#3083, #3084, #3152) and apify-client-js #1179, #1187, #1188, #1190 and #1197. ClientVersion goes to 0.15.0.

Spec sync

  • APISpecVersion is v2-2026-11-04T151257Z.
  • actorPath is a typed ActorVersion.ActorPath field. The docs note that updating the source without it removes it.
  • The tenancy enum (apify-docs #3152) is kept in Extra. The zip wording for TARBALL is documented.

Server Actors (JS #1179)

  • ActorClient.Server() returns an ActorServerClient with GetURL, GetOpenAPISpec, Request and RequestStream. Standby() is kept as a deprecated alias.
  • The token goes in X-Apify-Authorization.
  • Only 429 and 503 are retried. Transport errors and timeouts are never retried.
  • Redirects are not followed.
  • Paths always resolve against the server URL.
  • Compression is off unless the caller asks for it.
  • New: ErrNotServerActor, FollowsRedirects, and a typed Actor.StandbyURL.
  • A shared backoff/newRequest helper in http_client.go keeps the Server Actor path from duplicating the API retry code.

Dataset page Count (JS #1187, #1190)

  • PaginationList.Count from DatasetClient.ListItems is now the larger of the scanned-rows header and the item count. Iterators step by Count, capped at the requested limit.
  • The docs say which page size an iterator uses when chunkSize is not set.

Signed URL validity (JS #1188)

  • A zero or negative expiresInSecs is rejected before any request is sent.

Behaviour changes

These are listed in the CHANGELOG under "Changed":

  • Count on dataset pages has a new meaning.
  • standbyUrl and actorPath moved out of Extra into typed fields.
  • A custom HTTPBackend that follows redirects must check apify.FollowsRedirects(req) itself. Otherwise the token can reach a redirect target. The default backend handles this.

Docs and tests

  • New docs/server_actors.md, a README note, and a CHANGELOG entry for 0.15.0.
  • New offline and live tests for the Server Actor client, dataset Count, and expiresInSecs validation.

@Pijukatel Pijukatel added adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. labels Nov 6, 2026 — with Claude
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Nov 6, 2026
@Pijukatel
Pijukatel merged commit 60f1b39 into master Nov 9, 2026
3 of 8 checks passed
@Pijukatel
Pijukatel deleted the claude/upbeat-faraday-3x9r01 branch November 9, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. tested Temporary label used only programatically for some analytics.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants