# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for GitLab Webhooks Project Webhooks API version: 1.0.0 extends: openapi/gitlab-project-webhooks-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 5 - target: $.paths['/projects/{id}/hooks'].get update: x-apievangelist-phrasing: intent: List a project's webhooks effect: read questions: - Which webhooks are configured on my GitLab project? - How can I see the URLs and triggers of every hook on a project? instructions: - text: List the webhooks on project {id}. slots: id: path.id - text: Show all hooks configured for project {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/projects/{id}/hooks'].post update: x-apievangelist-phrasing: intent: Add a webhook to a project effect: write questions: - How do I send a notification to my server whenever someone pushes to a project? - Can a new webhook fire only for pushes to certain branches? - Is there a way to sign new webhook deliveries with a secret token? instructions: - text: Add a webhook to project {id} that posts to {url}. slots: id: path.id url: requestBody.url - text: Create a hook on project {id} for {url} with secret token {secret_token}. slots: id: path.id url: requestBody.url secret_token: requestBody.secret_token - text: Add a webhook to {url} on project {id} that only fires for pushes to {push_events_branch_filter}. slots: url: requestBody.url id: path.id push_events_branch_filter: requestBody.push_events_branch_filter method: generated generated: '2026-09-26' - target: $.paths['/projects/{id}/hooks/{hook_id}'].get update: x-apievangelist-phrasing: intent: Get a project webhook's configuration effect: read questions: - How do I check which events a specific webhook is subscribed to? - Is SSL verification turned on for one of my project hooks? instructions: - text: Show webhook {hook_id} on project {id}. slots: hook_id: path.hook_id id: path.id - text: Get the configuration of hook {hook_id} in project {id}. slots: hook_id: path.hook_id id: path.id method: generated generated: '2026-09-26' - target: $.paths['/projects/{id}/hooks/{hook_id}'].put update: x-apievangelist-phrasing: intent: Update a project webhook effect: write questions: - How do I change the delivery URL of an existing project webhook? - Can I turn merge request events on for a hook that already exists? instructions: - text: Change webhook {hook_id} on project {id} to post to {url}. slots: hook_id: path.hook_id id: path.id url: requestBody.url - text: Update hook {hook_id} in {id} to {url} and set merge request events to {merge_requests_events}. slots: hook_id: path.hook_id id: path.id url: requestBody.url merge_requests_events: requestBody.merge_requests_events - text: Rotate the secret token on existing hook {hook_id} of {id} to {secret_token}, keeping URL {url}. slots: hook_id: path.hook_id id: path.id secret_token: requestBody.secret_token url: requestBody.url method: generated generated: '2026-09-26' - target: $.paths['/projects/{id}/hooks/{hook_id}'].delete update: x-apievangelist-phrasing: intent: Delete a project webhook effect: destructive questions: - How do I stop a project webhook from receiving deliveries altogether? - Can I remove a hook from a project permanently? instructions: - text: Delete webhook {hook_id} from project {id}. slots: hook_id: path.hook_id id: path.id - text: Remove hook {hook_id} on project {id}. slots: hook_id: path.hook_id id: path.id method: generated generated: '2026-09-26'