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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'