GitLab · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for GitLab Groups API

11 actions 11 updates phrasing extends openapi/gitlab-groups-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 11

$.info
$.paths['/api/v4/groups/{id}/badges/{badge_id}'].get
$.paths['/api/v4/groups/{id}/badges/{badge_id}'].put
$.paths['/api/v4/groups/{id}/badges/{badge_id}'].delete
$.paths['/api/v4/groups/{id}/badges'].get
$.paths['/api/v4/groups/{id}/badges'].post
$.paths['/api/v4/groups/{id}/badges/render'].get
$.paths['/api/v4/groups/{id}/access_requests/{user_id}'].delete
$.paths['/api/v4/groups/{id}/access_requests/{user_id}/approve'].put
$.paths['/api/v4/groups/{id}/access_requests'].get
$.paths['/api/v4/groups/{id}/access_requests'].post

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 Groups API
  version: 1.0.0
extends: openapi/gitlab-groups-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: 10
- target: $.paths['/api/v4/groups/{id}/badges/{badge_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a group badge
      effect: read
      questions:
      - How do I look up a single badge defined on a group?
      - What link and image does a specific group badge point to?
      instructions:
      - text: Show group badge {badge_id} in group {id}.
        slots:
          badge_id: path.badge_id
          id: path.id
      - text: Get the URLs of badge {badge_id} on group {id}.
        slots:
          badge_id: path.badge_id
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/badges/{badge_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a group badge
      effect: write
      questions:
      - How do I change the image or link on a badge shared across a group?
      - Can I rename an existing group badge?
      instructions:
      - text: Change the image URL of group badge {badge_id} in group {id} to {image_url}.
        slots:
          badge_id: path.badge_id
          id: path.id
          image_url: requestBody.image_url
      - text: Point group badge {badge_id} of group {id} at {link_url}.
        slots:
          badge_id: path.badge_id
          id: path.id
          link_url: requestBody.link_url
      - text: Rename group badge {badge_id} in group {id} to {name}.
        slots:
          badge_id: path.badge_id
          id: path.id
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/badges/{badge_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a badge from a group
      effect: destructive
      questions:
      - How do I delete a badge that shows on every project in a group?
      - Can I remove one group-level badge by ID?
      instructions:
      - text: Remove badge {badge_id} from group {id}.
        slots:
          badge_id: path.badge_id
          id: path.id
      - text: Delete the group badge {badge_id} in group {id}.
        slots:
          badge_id: path.badge_id
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/badges'].get
  update:
    x-apievangelist-phrasing:
      intent: List a group's badges
      effect: read
      questions:
      - Which badges are defined at the group level?
      - Can I filter a group's badges by name?
      instructions:
      - text: List the badges on group {id}.
        slots:
          id: path.id
      - text: Find group badges named {name} in group {id}.
        slots:
          name: query.name
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/badges'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a badge to a group
      effect: write
      questions:
      - How do I add a badge that appears on all projects in a GitLab group?
      - What is required to create a group-level badge?
      instructions:
      - text: Add a badge to group {id} linking to {link_url} with image {image_url}.
        slots:
          id: path.id
          link_url: requestBody.link_url
          image_url: requestBody.image_url
      - text: Create a group badge {name} on group {id} with image {image_url} and link {link_url}.
        slots:
          name: requestBody.name
          id: path.id
          image_url: requestBody.image_url
          link_url: requestBody.link_url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/badges/render'].get
  update:
    x-apievangelist-phrasing:
      intent: Preview how a group badge will render
      effect: read
      questions:
      - Can I preview a group badge's resolved URLs before saving it?
      - How do I test badge URL placeholders against a group?
      instructions:
      - text: Preview a group badge for group {id} with link {link_url} and image {image_url}.
        slots:
          id: path.id
          link_url: query.link_url
          image_url: query.image_url
      - text: Render group badge URLs {image_url} and {link_url} for group {id} without saving.
        slots:
          image_url: query.image_url
          link_url: query.link_url
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/access_requests/{user_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Deny a user's request to join a group
      effect: destructive
      questions:
      - How do I reject someone's request to join my group?
      - Can I deny a pending group membership request?
      instructions:
      - text: Deny user {user_id}'s request to join group {id}.
        slots:
          user_id: path.user_id
          id: path.id
      - text: Reject the group access request from {user_id} on group {id}.
        slots:
          user_id: path.user_id
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/access_requests/{user_id}/approve'].put
  update:
    x-apievangelist-phrasing:
      intent: Approve a user's request to join a group
      effect: write
      questions:
      - How do I approve a pending request to join a group?
      - Can I set the member's role when approving a group access request?
      instructions:
      - text: Approve user {user_id}'s request to join group {id}.
        slots:
          user_id: path.user_id
          id: path.id
      - text: Admit {user_id} to group {id} at access level {access_level}.
        slots:
          user_id: path.user_id
          id: path.id
          access_level: requestBody.access_level
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/access_requests'].get
  update:
    x-apievangelist-phrasing:
      intent: List pending access requests for a group
      effect: read
      questions:
      - Who is waiting for approval to join my group?
      - Where do I see outstanding group membership requests?
      instructions:
      - text: List pending access requests for group {id}.
        slots:
          id: path.id
      - text: Show who has asked to join group {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/groups/{id}/access_requests'].post
  update:
    x-apievangelist-phrasing:
      intent: Request access to a group for yourself
      effect: write
      questions:
      - How do I ask to become a member of a GitLab group?
      - Can I file a group access request for my own account?
      instructions:
      - text: Request access to group {id} for me.
        slots:
          id: path.id
      - text: Submit my request to join group {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'