GitLab · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for GitLab Webhooks Project Webhooks API
6 actions
6 updates
phrasing
extends
openapi/gitlab-project-webhooks-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for GitLab's API. It is a proposal applied on top of the contract, not a document GitLab publishes.
What the actions change
x-apievangelist-phrasing
Targets 6
$.info
$.paths['/projects/{id}/hooks'].get
$.paths['/projects/{id}/hooks'].post
$.paths['/projects/{id}/hooks/{hook_id}'].get
$.paths['/projects/{id}/hooks/{hook_id}'].put
$.paths['/projects/{id}/hooks/{hook_id}'].delete
OpenAPI Overlay
# 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'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/gitlab-project-webhooks-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.