Skip to content

fix(openapi): add missing ad-hoc webhook fields to WebhookRepresentation#2640

Merged
vdusek merged 3 commits into
masterfrom
fix/webhook-representation-missing-fields
Jun 16, 2026
Merged

fix(openapi): add missing ad-hoc webhook fields to WebhookRepresentation#2640
vdusek merged 3 commits into
masterfrom
fix/webhook-representation-missing-fields

Conversation

@vdusek

@vdusek vdusek commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

@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 Jun 11, 2026
@vdusek vdusek self-assigned this Jun 11, 2026
@apify-service-account

apify-service-account commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

🗑️ Preview for this PR was deleted.

@apify-service-account

Copy link
Copy Markdown
Contributor

Important

Action required@vdusek please coordinate this docs PR with the Python API client PR linked below.

Because this PR modifies the OpenAPI specification, the generated models in apify-client-python must be regenerated to stay in sync. This has already been done automatically:

A companion PR has been opened in apify-client-python with the regenerated models: apify/apify-client-python#855

  • Please make sure to review and merge both PRs together to keep the OpenAPI spec and API clients in sync.
  • You can ask for review and help from the Tooling team if needed.

@vdusek vdusek marked this pull request as ready for review June 11, 2026 13:20
@github-actions github-actions Bot added this to the 143rd sprint - Tooling team milestone Jun 16, 2026
@apify-service-account

Copy link
Copy Markdown
Contributor

Important

Action required@vdusek please coordinate this docs PR with the Python API client PR linked below.

Because this PR modifies the OpenAPI specification, the generated models in apify-client-python must be regenerated to stay in sync. This has already been done automatically:

The companion apify-client-python PR has been updated with the latest spec changes: apify/apify-client-python#855

  • Please make sure to review and merge both PRs together to keep the OpenAPI spec and API clients in sync.
  • You can ask for review and help from the Tooling team if needed.

@vdusek vdusek merged commit 8927ec3 into master Jun 16, 2026
16 of 17 checks passed
@vdusek vdusek deleted the fix/webhook-representation-missing-fields branch June 16, 2026 06:47
vdusek added a commit to apify/apify-client-python that referenced this pull request Jun 16, 2026
This PR updates the auto-generated Pydantic models and TypedDicts based
on OpenAPI specification changes in [apify-docs PR
#2640](apify/apify-docs#2640).

On top of the regenerated models, it fixes a related bug: ad-hoc
webhooks passed to `start()` / `call()` silently dropped
`idempotency_key`, `ignore_ssl_errors` and `do_not_retry`.
`WebhookRepresentation` declared only the four templating fields, and
`encode_webhooks_to_base64` keeps only declared fields, so these three
never reached the platform. The platform accepts and honors all three
for ad-hoc webhooks (verified in apify-core: the run-start handler feeds
them into the same webhook-creation path as the create-webhook endpoint,
including the `idempotencyKey` dedup).

What changed:

- The regenerated models add the three fields to `WebhookRepresentation`
and both webhook-representation typed dicts (snake_case + camelCase).
- Reworks the `WebhookCreate` / dict projection in
`encode_webhooks_to_base64` to filter by the fields
`WebhookRepresentation` declares, instead of hand-listing them. New
ad-hoc fields now flow through automatically, so this class of
silent-drop bug cannot recur.

Unblocks apify/apify-sdk-python#963, which forwards these fields from
the SDK `Webhook` dataclass.

---------

Co-authored-by: Vlada Dusek <v.dusek96@gmail.com>
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants