GitLab · Arazzo Workflow

GitLab Rotate a Project Badge by Name

Version 1.0.0

Find an existing project badge by name and update its link and image.

1 workflow 1 source API 1 provider
View Spec View on GitHub CodePlatformSoftware DevelopmentSource ControlArazzoWorkflows

Provider

gitlab

Workflows

rotate-project-badge
Update an existing project badge's URLs, matched by name.
Lists project badges by name, and when a match is found updates that badge's link and image URLs in place.
2 steps inputs: name, newImageUrl, newLinkUrl, privateToken, projectId outputs: badgeId, renderedImageUrl
1
findBadge
List badges filtered by name to locate the badge to rotate.
2
updateBadge
Update the matched badge with the new link and image URLs.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: GitLab Rotate a Project Badge by Name
  summary: Find an existing project badge by name and update its link and image.
  description: >-
    A badge maintenance flow. The workflow looks up the project badges filtered
    by name, branches on whether a match exists, and when it does it updates that
    badge's link and image URLs. When no badge matches the name the flow ends
    without changes. Every step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-4200.40
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4200.40
      capability_name: Software Construction Management
      spec: gitlab-projects-api-openapi.yml
      confidence: 0.8
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: projectsApi
  url: ../openapi/gitlab-projects-api-openapi.yml
  type: openapi
workflows:
- workflowId: rotate-project-badge
  summary: Update an existing project badge's URLs, matched by name.
  description: >-
    Lists project badges by name, and when a match is found updates that badge's
    link and image URLs in place.
  inputs:
    type: object
    required:
    - privateToken
    - projectId
    - name
    - newLinkUrl
    - newImageUrl
    properties:
      privateToken:
        type: string
        description: GitLab Private-Token used to authenticate the API calls.
      projectId:
        type: string
        description: The ID or URL-encoded path of the project.
      name:
        type: string
        description: The badge name to locate.
      newLinkUrl:
        type: string
        description: The new badge link URL.
      newImageUrl:
        type: string
        description: The new badge image URL.
  steps:
  - stepId: findBadge
    description: List badges filtered by name to locate the badge to rotate.
    operationId: getApiV4ProjectsIdBadges
    parameters:
    - name: Private-Token
      in: header
      value: $inputs.privateToken
    - name: id
      in: path
      value: $inputs.projectId
    - name: name
      in: query
      value: $inputs.name
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      matchedBadgeId: $response.body#/0/id
    onSuccess:
    - name: found
      type: goto
      stepId: updateBadge
      criteria:
      - context: $response.body
        condition: $.length > 0
        type: jsonpath
    - name: notFound
      type: end
      criteria:
      - context: $response.body
        condition: $.length == 0
        type: jsonpath
  - stepId: updateBadge
    description: Update the matched badge with the new link and image URLs.
    operationId: putApiV4ProjectsIdBadgesBadgeId
    parameters:
    - name: Private-Token
      in: header
      value: $inputs.privateToken
    - name: id
      in: path
      value: $inputs.projectId
    - name: badge_id
      in: path
      value: $steps.findBadge.outputs.matchedBadgeId
    requestBody:
      contentType: application/json
      payload:
        link_url: $inputs.newLinkUrl
        image_url: $inputs.newImageUrl
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      updatedBadgeId: $response.body#/id
      renderedImageUrl: $response.body#/rendered_image_url
  outputs:
    badgeId: $steps.updateBadge.outputs.updatedBadgeId
    renderedImageUrl: $steps.updateBadge.outputs.renderedImageUrl

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow 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.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/gitlab-rotate-project-badge-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.