Skip to content

feat!: replace webhook parameter with webhook_ids in monitors and add projects/webhooks modules - #33

Merged
Kizy625 merged 1 commit into
mainfrom
fern-bot/2026-05-27T12-28-19Z
May 27, 2026
Merged

Kizy625 merged 1 commit into
mainfrom
fern-bot/2026-05-27T12-28-19Z

Conversation

@fern-api

@fern-api fern-api Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

⚠️ 2.0.0 → 3.0.0

Breaking: MAJOR because the webhook parameter (type WebhookDto) was removed from MonitorsClient.create_monitor(), MonitorsClient.update_monitor(), JobsClient.submit(), and JobsClient.initialize() and replaced by webhook_ids (type list[str]), breaking all existing callers that pass a WebhookDto argument.

Breaking Changes

  • MonitorsClient.create_monitor() and MonitorsClient.update_monitor() — the webhook parameter (type WebhookDto) has been replaced by webhook_ids (type list[str]); rename the argument and pass a list of webhook ID strings instead of a WebhookDto object.
  • JobsClient.submit() and JobsClient.initialize() — same webhook → webhook_ids rename applies; update all callers to pass a list of webhook ID strings.

Added

  • client.webhooks (WebhooksClient / AsyncWebhooksClient) — new client for full webhook lifecycle management: list_webhooks(), create_webhook(), get_webhook(), update_webhook(), delete_webhook(), test_webhook(), assign_webhook_resource(), remove_webhook_resource(), list_webhook_resources(), list_webhooks_for_resource(), and get_webhook_delivery_history() (sync and async).
  • client.projects (ProjectsClient / AsyncProjectsClient) — new client for project lifecycle management: list_projects(), create_project(), get_project(), update_project(), delete_project(), get_project_overview(), list_project_resources(), add_resource_to_project(), and remove_resource_from_project() (sync and async).
  • JobsClient.validate_query() — new method (sync and async) that checks whether a query is well-formed before job submission, returning a ValidateQueryResponseDto with a status level, issues, and suggestions.
  • project_id and webhook_ids optional parameters — added to get_user_jobs(), list_monitors(), list_datasets(), submit(), initialize(), and create_monitor() to filter or assign resources to a project and attach webhook notifications.
  • See full changelog for all changes

See full changelog

… add projects/webhooks modules

The monitors `create_monitor()` and `update_monitor()` methods replace the
inline `WebhookDto` `webhook` parameter with a `webhook_ids` list of
centralized webhook IDs. Callers passing a `WebhookDto` object will get a
`TypeError` and must migrate to the new webhook management API.

Two new top-level modules are introduced — `projects` and `webhooks` — along
with `JobsClient.validate_query()`, new optional `project_id` and
`webhook_ids` parameters on job/monitor submission, and a large set of new
DTO types supporting projects, webhooks, and query validation.

Key changes:
- `create_monitor()` and `update_monitor()`: `webhook: WebhookDto` renamed to `webhook_ids: Sequence[str]`; callers must switch to pre-created webhook IDs
- New `projects` and `webhooks` top-level submodules with full CRUD clients
- New `JobsClient.validate_query()` method for pre-flight query validation
- New optional `project_id` parameter on `get_user_jobs()`, `list_monitors()`, `initialize()`, and `create_monitor()`
- New optional `webhook_ids` parameter on `initialize()` (job submission)
- Removed hardcoded `content-type: application/json` header from entities raw client (now handled by the HTTP layer)
- Dozens of new DTO types exported from the top-level package: `ProjectResponseDto`, `WebhookResponseDto`, `ValidateQueryResponseDto`, `DeliveryHistoryItemDto`, and more

🌿 Generated with Fern
@Kizy625 Kizy625 self-assigned this May 27, 2026
@Kizy625
Kizy625 self-requested a review May 27, 2026 12:30
@Kizy625
Kizy625 merged commit 045deff into main May 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant