Skip to content

chore: sync Rust client with Apify OpenAPI spec v2-2026-09-24T114302Z - #26

Open
Pijukatel wants to merge 2 commits into
masterfrom
claude/focused-carson-e3qykv
Open

Pijukatel wants to merge 2 commits into
masterfrom
claude/focused-carson-e3qykv

Conversation

@Pijukatel

@Pijukatel Pijukatel commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Syncs the Rust client against the OpenAPI spec version bump from v2-2026-09-10T091137Z to
v2-2026-09-24T114302Z (apify/apify-docs#3002, apify/apify-docs#3013). No new/removed
endpoints; both source PRs only changed descriptions and one required flag:

  • The charge endpoint's idempotency-key header is now required: true and documented to
    expire 3 minutes after the charge. The client already always sends this header
    (auto-generating one when omitted), so this is a documentation-only update
    (RunChargeOptions::idempotency_key, docs/runs.md).
  • The task-publish limits changed from "50 per Actor" to "10 per Actor, 100 per account"
    (contact support to raise). Documentation-only update (TaskClient::publish, docs/tasks.md).

Also added a hermetic unit test (charge_sends_required_idempotency_key_header) covering the
charge request's header, URL and body shape, since a live integration test isn't feasible — the
endpoint must be called from inside the Actor run itself with that run's own token.

Bumped crate version 0.10.1 -> 0.10.2 (patch, no breaking changes) and API_SPEC_VERSION.

Review

Reviewed via /review-client: Approved, no open items. Verified independently against the
live OpenAPI spec (fetched directly, not from the implementer's summary); full endpoint-coverage
check found no missing in-scope endpoints; staff-review, coding-style and cheating checks clean.

Test plan

  • cargo build
  • cargo fmt --all -- --check
  • cargo clippy --all-targets -- -D warnings
  • cargo test --lib --tests -- --skip example_ --test-threads=4 (all pass, live APIFY_TOKEN)
  • cargo test --test examples --test-threads=4 (8/8 pass, live)
  • cargo test --doc --test-threads=4 (35/35 pass)

Charge endpoint's idempotency-key header is now required and documented to
expire 3 minutes after the charge (client already always sends it); task
publish limits changed to 10/Actor and 100/account. Both are doc-only
changes, plus a hermetic unit test covering the charge request shape.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014rjxmcnw3QwFHZhZyM6udx
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Sep 25, 2026
@apify-service-account apify-service-account added the t-tooling Issues with this label are in the ownership of the tooling team. label Sep 25, 2026
Addresses the review's two non-blocking observations: docs/tasks.md now
mirrors the "contact support" clause from the publish() doc comment, and
the charge unit test also asserts the request URL.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014rjxmcnw3QwFHZhZyM6udx
@Pijukatel Pijukatel added the adhoc Ad-hoc unplanned task added during the sprint. label Sep 25, 2026 — with Claude
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