Repository navigation
feat!: replace webhook parameter with webhook_ids in monitors and add projects/webhooks modules - #33
Merged
Merged
Conversation
… 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
self-requested a review
May 27, 2026 12:30
Kizy625
approved these changes
May 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Breaking: MAJOR because the
webhookparameter (typeWebhookDto) was removed fromMonitorsClient.create_monitor(),MonitorsClient.update_monitor(),JobsClient.submit(), andJobsClient.initialize()and replaced bywebhook_ids(typelist[str]), breaking all existing callers that pass aWebhookDtoargument.Breaking Changes
MonitorsClient.create_monitor()andMonitorsClient.update_monitor()— thewebhookparameter (typeWebhookDto) has been replaced bywebhook_ids(typelist[str]); rename the argument and pass a list of webhook ID strings instead of aWebhookDtoobject.JobsClient.submit()andJobsClient.initialize()— samewebhook→webhook_idsrename 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(), andget_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(), andremove_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 aValidateQueryResponseDtowith a status level, issues, and suggestions.project_idandwebhook_idsoptional parameters — added toget_user_jobs(),list_monitors(),list_datasets(),submit(),initialize(), andcreate_monitor()to filter or assign resources to a project and attach webhook notifications.See full changelog