Skip to content

feat: add missing optional parameters to resource clients - #1144

Merged
vdusek merged 3 commits into
masterfrom
feat/missing-resource-client-params
Oct 19, 2026
Merged

vdusek merged 3 commits into
masterfrom
feat/missing-resource-client-params

Conversation

@vdusek

@vdusek vdusek commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Adds optional parameters that the API accepts and the JS client already exposes:

  • Task create() / update(): description, max_total_charge_usd
  • Webhook create() / update(): description, should_interpolate_strings
  • Schedule create() / update(): notifications_email (sent as notifications.email)
  • Store list() / iterate(): include_unrunnable_actors
  • Actor create(): actor_permission_level
  • Dataset, key-value store and request queue update(): title
  • Dataset: flatten and view on iterate_items(), view and attachment on get_items_as_bytes() and stream_items(), item_format on create_items_public_url()

notifications and actor_permission_level go through the generated request models, which got these fields in #1152 (from apify/apify-docs#3087). Task input stays dict-only: the spec allows a list, but the API rejects anything other than an object.

Closes: #1147

✍️ Drafted by Claude Code

@vdusek vdusek 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 Oct 16, 2026
@vdusek vdusek self-assigned this Oct 16, 2026
@codecov

codecov Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.53%. Comparing base (304c8e9) to head (45ef0fd).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1144   +/-   ##
=======================================
  Coverage   95.53%   95.53%           
=======================================
  Files          61       61           
  Lines        5974     5974           
=======================================
  Hits         5707     5707           
  Misses        267      267           
Flag Coverage Δ
integration 90.57% <100.00%> (-0.06%) ⬇️
unit 89.78% <100.00%> (+0.77%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vdusek vdusek removed the adhoc Ad-hoc unplanned task added during the sprint. label Oct 16, 2026
vdusek added a commit to apify/apify-docs that referenced this pull request Oct 19, 2026
Aligns the Actor, version, env var and schedule request schemas with
what the API accepts, checked against apify-core and the live API.
`CreateActorRequest` gets `actorPermissionLevel` and
`CreateOrUpdateScheduleRequest` gets `notifications`, which now has its
own `ScheduleNotifications` schema. Fields drop `null` where the API
rejects it, or where a stored `null` breaks later requests. `versions`
needs at least one item.

`CreateOrUpdateVersionRequest` is split into `CreateVersionRequest`,
which requires `versionNumber` and `sourceType`, and
`UpdateVersionRequest`, where everything stays optional. Both take a new
`WritableVersionSourceType` enum without `SOURCE_CODE`, which the API
rejects. `EnvVarRequest` is now a standalone schema that requires `name`
and `value`. The previous `allOf` over `EnvVar` made the generated
client report an invalid override (apify/apify-client-python#1150).

Value patterns and length limits are left out on purpose:
apify-client-python turns them into local validation that would reject
input before the API sees it. apify/apify-client-python#1151 previews
the regenerated models. Until they're regenerated,
apify/apify-client-python#1144 adds the missing fields to the request
body by hand.

*✍️ Drafted by Claude Code*
@vdusek
vdusek force-pushed the feat/missing-resource-client-params branch from af19452 to d582a5a Compare October 19, 2026 13:59
@vdusek
vdusek marked this pull request as ready for review October 19, 2026 13:59
@apify-service-account apify-service-account added the tested Temporary label used only programatically for some analytics. label Oct 19, 2026
@vdusek
vdusek requested review from Mantisus and Pijukatel October 19, 2026 14:01

@Mantisus Mantisus left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@apify-approval-mirror apify-approval-mirror Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mirroring approval from @Mantisus.

@vdusek
vdusek merged commit 8b3c6f4 into master Oct 19, 2026
34 checks passed
@vdusek
vdusek deleted the feat/missing-resource-client-params branch October 19, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

Add missing optional parameters to resource clients

3 participants