> For the complete documentation index, see [llms.txt](https://docs.planetcrust.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.planetcrust.com/human-connections/gitlab/gitlab.md).

# GitLab

<p align="center"><a class="button primary" data-icon="circle-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>

<figure><img src="/files/DOMWM02TfCDxLy0uVLRh" alt="" width="375"><figcaption></figcaption></figure>

<h3 align="center">Put GitLab to Work with @Human Automations and @Human Agents</h3>

<p align="center">The GitLab Connection documents all Triggers, Actions and Query Operations available for creating automations via the GitLab API.</p>

{% embed url="<https://www.youtube.com/watch?v=CyuUuaBSZzA>" %}

#### What can you do with the GitLab Connection?

* Connect to the GitLab API in a few clicks
* Use the related GitLab Operations (see below) in @Human Automations or @Human Agents

### Related Operations

#### Trigger Operations

**Project Created**

Triggers on: projects/project\_created

Triggered when a new GitLab project is created.

**Issue Created**

Triggers on: issues/issue\_created

Triggered when a new issue is created in a GitLab project.

**Merge Request Created**

Triggers on: merge\_requests/merge\_request\_created

Triggered when a new merge request is opened in a GitLab project.

#### Action Operations

[Action: Create Branch](/human-connections/gitlab/gitlab/action-create-branch.md)

[Action: Create Issue](/human-connections/gitlab/gitlab/action-create-issue.md)

[Action: Create Merge Request](/human-connections/gitlab/gitlab/action-create-merge-request.md)

[Action: Update Merge Request](/human-connections/gitlab/gitlab/action-update-merge-request.md)

[Action: Create Commit](/human-connections/gitlab/gitlab/action-create-commit.md)

[Action: Add Note to Issue](/human-connections/gitlab/gitlab/action-add-note-to-issue.md)

[Action: Add Note to Merge Request](/human-connections/gitlab/gitlab/action-add-note-to-merge-request.md)

[Action: API Request](/human-connections/gitlab/gitlab/action-api-request.md)

#### Query Operations

[Query: Find All Merge Requests](/human-connections/gitlab/gitlab/query-find-all-merge-requests.md)

[Query: Find Group Merge Requests](/human-connections/gitlab/gitlab/query-find-group-merge-requests.md)

[Query: Find Project Merge Requests](/human-connections/gitlab/gitlab/query-find-project-merge-requests.md)

### Related Automations

Example link

### Obtaining Access Credentials

To obtain a **Personal Access Token (PAT)** for **GitLab**, follow these steps:

#### **Prerequisites**

* A **GitLab account** (Free or Paid tier).
* Access to the GitLab UI (web interface).

#### **Steps to Generate a PAT**

1. **Log in** to your GitLab account at <https://gitlab.com> (or your self-hosted instance).
2. **Click your profile picture** (top-right) → Select **"Edit profile"**.
3. In the left sidebar, go to **"Access Tokens"** (under *Preferences*).
4. **Configure the token:**
   * **Name:** Give it a descriptive name (e.g., `CI/CD Automation`).
   * **Expiration date:** Set as needed (or leave blank for no expiry).
   * **Scopes (Permissions):**
     * Select the required scopes (e.g., `api`, `read_repository`, `write_repository`).
     * For full access (not recommended), check `sudo`.
5. **Click "Create personal access token"**.
6. **Copy the token immediately** (it will only be shown once).

**Done.** Use this token for system-to-system authentication.

### Configuring Webhooks

1. **Navigate to your GitLab project.**
2. In the left sidebar, select **Settings > Webhooks**.
3. Click the **Add new webhook** button.
4. **Enter the URL** of the receiving endpoint in the **URL** field.
5. **Enter a Secret Token** (optional) to secure the webhook.
6. **Select the Trigger Events** for which you want to receive notifications (e.g., **Push events**, **Merge request events**).
7. **Configure SSL Verification** preferences for the endpoint.
8. **Click Add webhook** to finalize the configuration.
9. **Test the webhook** by clicking the **Test** dropdown next to your webhook and selecting an event type.

### Code (Apache v2.0): Service Connectivity and Metadata

```
{
  "handle": "gitlab",
  "status": "active",
  "meta": {
    "short": "GitLab",
    "description": "Connect to GitLab for repository management, CI/CD, and issue tracking.",
    "icon": "gitlab",
    "tags": ["version-control", "devops", "ci-cd", "code-hosting"]
  },
  "service": {
    "baseURL": {
      "value": "https://{{gitlabInstance}}/api/v4",
      "placeholders": [
        {
          "name": "gitlabInstance",
          "type": "String",
          "description": "GitLab instance URL (e.g., gitlab.com or your self-hosted domain).",
          "required": true
        }
      ]
    },
    "protocol": "https",
    "contentType": "application/json",
    "headers": {
      "PRIVATE-TOKEN": {
        "value": "{{privateToken}}",
        "placeholders": [
          {
            "name": "privateToken",
            "type": "String",
            "description": "GitLab personal access token or project access token.",
            "required": true
          }
        ]
      }
    },
    "auth": {
      "method": "api_token",
      "params": {
        "apiToken": {
          "token": {
            "value": "{{privateToken}}",
            "placeholders": [
              {
                "name": "privateToken",
                "type": "String",
                "description": "GitLab personal access token or project access token.",
                "required": true
              }
            ]
          },
          "headerName": {
            "value": "PRIVATE-TOKEN"
          }
        }
      }
    }
  }
}

```

### Code (Apache v2.0): List of External Resources and Internal Mapping

```
[
  {
    "handle": "projects",
    "meta": {
      "short": "Projects",
      "description": "Manage and interact with GitLab projects."
    },
    "endpoint": {
      "value": "/projects"
    },
    "fields": [
      {
        "name": "id",
        "type": "Integer",
        "selector": ["id"],
        "meta": {
          "description": "The unique identifier of the project."
        }
      },
      {
        "name": "name",
        "type": "String",
        "selector": ["name"],
        "meta": {
          "description": "The name of the project."
        }
      },
      {
        "name": "description",
        "type": "String",
        "selector": ["description"],
        "meta": {
          "description": "The description of the project."
        }
      },
      {
        "name": "web_url",
        "type": "String",
        "selector": ["web_url"],
        "meta": {
          "description": "The URL to access the project in GitLab."
        }
      }
    ],
    "operations": {
      "list": {
        "method": "GET",
        "path": {
          "value": ""
        },
        "headers": {},
        "queryParams": {
          "per_page": {
            "value": "20",
            "placeholders": []
          }
        }
      },
      "read": {
        "method": "GET",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the project.",
              "required": true
            }
          ]
        }
      },
      "create": {
        "method": "POST",
        "path": {
          "value": ""
        },
        "bodyTemplate": {
          "value": "{\"name\": \"{{name}}\", \"description\": \"{{description}}\"}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "The name of the project.",
              "required": true
            },
            {
              "name": "description",
              "type": "String",
              "description": "The description of the project.",
              "required": false
            }
          ]
        }
      },
      "update": {
        "method": "PUT",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the project.",
              "required": true
            }
          ]
        },
        "bodyTemplate": {
          "value": "{\"name\": \"{{name}}\", \"description\": \"{{description}}\"}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "The name of the project.",
              "required": false
            },
            {
              "name": "description",
              "type": "String",
              "description": "The description of the project.",
              "required": false
            }
          ]
        }
      },
      "delete": {
        "method": "DELETE",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the project.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": [
      {
        "event": "project_created",
        "path": "/webhooks/gitlab/projects/created",
        "payload": [
          {
            "name": "project_id",
            "type": "Integer",
            "selector": ["project_id"],
            "meta": {
              "description": "The ID of the project that was created."
            }
          },
          {
            "name": "project_name",
            "type": "String",
            "selector": ["project_name"],
            "meta": {
              "description": "The name of the project that was created."
            }
          }
        ]
      }
    ]
  },
  {
    "handle": "issues",
    "meta": {
      "short": "Issues",
      "description": "Manage and interact with GitLab issues."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/issues",
      "placeholders": [
        {
          "name": "project_id",
          "type": "Integer",
          "description": "The ID of the project.",
          "required": true
        }
      ]
    },
    "fields": [
      {
        "name": "id",
        "type": "Integer",
        "selector": ["id"],
        "meta": {
          "description": "The unique identifier of the issue."
        }
      },
      {
        "name": "title",
        "type": "String",
        "selector": ["title"],
        "meta": {
          "description": "The title of the issue."
        }
      },
      {
        "name": "description",
        "type": "String",
        "selector": ["description"],
        "meta": {
          "description": "The description of the issue."
        }
      },
      {
        "name": "state",
        "type": "String",
        "selector": ["state"],
        "meta": {
          "description": "The state of the issue (e.g., opened, closed)."
        }
      }
    ],
    "operations": {
      "list": {
        "method": "GET",
        "path": {
          "value": ""
        },
        "headers": {},
        "queryParams": {
          "per_page": {
            "value": "20",
            "placeholders": []
          }
        }
      },
      "read": {
        "method": "GET",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the issue.",
              "required": true
            }
          ]
        }
      },
      "create": {
        "method": "POST",
        "path": {
          "value": ""
        },
        "bodyTemplate": {
          "value": "{\"title\": \"{{title}}\", \"description\": \"{{description}}\"}",
          "placeholders": [
            {
              "name": "title",
              "type": "String",
              "description": "The title of the issue.",
              "required": true
            },
            {
              "name": "description",
              "type": "String",
              "description": "The description of the issue.",
              "required": false
            }
          ]
        }
      },
      "update": {
        "method": "PUT",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the issue.",
              "required": true
            }
          ]
        },
        "bodyTemplate": {
          "value": "{\"title\": \"{{title}}\", \"description\": \"{{description}}\", \"state_event\": \"{{state_event}}\"}",
          "placeholders": [
            {
              "name": "title",
              "type": "String",
              "description": "The title of the issue.",
              "required": false
            },
            {
              "name": "description",
              "type": "String",
              "description": "The description of the issue.",
              "required": false
            },
            {
              "name": "state_event",
              "type": "String",
              "description": "The state event (e.g., close, reopen).",
              "required": false,
              "options": ["close", "reopen"]
            }
          ]
        }
      }
    },
    "webhooks": [
      {
        "event": "issue_created",
        "path": "/webhooks/gitlab/issues/created",
        "payload": [
          {
            "name": "issue_id",
            "type": "Integer",
            "selector": ["object_attributes", "id"],
            "meta": {
              "description": "The ID of the issue that was created."
            }
          },
          {
            "name": "issue_title",
            "type": "String",
            "selector": ["object_attributes", "title"],
            "meta": {
              "description": "The title of the issue that was created."
            }
          }
        ]
      }
    ]
  },
  {
    "handle": "merge_requests",
    "meta": {
      "short": "Merge Requests",
      "description": "Manage and interact with GitLab merge requests."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/merge_requests",
      "placeholders": [
        {
          "name": "project_id",
          "type": "Integer",
          "description": "The ID of the project.",
          "required": true
        }
      ]
    },
    "fields": [
      {
        "name": "id",
        "type": "Integer",
        "selector": ["id"],
        "meta": {
          "description": "The unique identifier of the merge request."
        }
      },
      {
        "name": "title",
        "type": "String",
        "selector": ["title"],
        "meta": {
          "description": "The title of the merge request."
        }
      },
      {
        "name": "state",
        "type": "String",
        "selector": ["state"],
        "meta": {
          "description": "The state of the merge request (e.g., opened, closed, merged)."
        }
      },
      {
        "name": "source_branch",
        "type": "String",
        "selector": ["source_branch"],
        "meta": {
          "description": "The source branch of the merge request."
        }
      },
      {
        "name": "target_branch",
        "type": "String",
        "selector": ["target_branch"],
        "meta": {
          "description": "The target branch of the merge request."
        }
      }
    ],
    "operations": {
      "list": {
        "method": "GET",
        "path": {
          "value": ""
        },
        "headers": {},
        "queryParams": {
          "per_page": {
            "value": "20",
            "placeholders": []
          }
        }
      },
      "read": {
        "method": "GET",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the merge request.",
              "required": true
            }
          ]
        }
      },
      "create": {
        "method": "POST",
        "path": {
          "value": ""
        },
        "bodyTemplate": {
          "value": "{\"source_branch\": \"{{source_branch}}\", \"target_branch\": \"{{target_branch}}\", \"title\": \"{{title}}\"}",
          "placeholders": [
            {
              "name": "source_branch",
              "type": "String",
              "description": "The source branch of the merge request.",
              "required": true
            },
            {
              "name": "target_branch",
              "type": "String",
              "description": "The target branch of the merge request.",
              "required": true
            },
            {
              "name": "title",
              "type": "String",
              "description": "The title of the merge request.",
              "required": true
            }
          ]
        }
      },
      "update": {
        "method": "PUT",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "Integer",
              "description": "The ID of the merge request.",
              "required": true
            }
          ]
        },
        "bodyTemplate": {
          "value": "{\"title\": \"{{title}}\", \"state_event\": \"{{state_event}}\"}",
          "placeholders": [
            {
              "name": "title",
              "type": "String",
              "description": "The title of the merge request.",
              "required": false
            },
            {
              "name": "state_event",
              "type": "String",
              "description": "The state event (e.g., close, reopen, merge).",
              "required": false,
              "options": ["close", "reopen", "merge"]
            }
          ]
        }
      }
    },
    "webhooks": [
      {
        "event": "merge_request_created",
        "path": "/webhooks/gitlab/merge_requests/created",
        "payload": [
          {
            "name": "merge_request_id",
            "type": "Integer",
            "selector": ["object_attributes", "id"],
            "meta": {
              "description": "The ID of the merge request that was created."
            }
          },
          {
            "name": "merge_request_title",
            "type": "String",
            "selector": ["object_attributes", "title"],
            "meta": {
              "description": "The title of the merge request that was created."
            }
          }
        ]
      }
    ]
  },
  {
    "handle": "branches",
    "meta": {
      "short": "Branches",
      "description": "Manage repository branches in a GitLab project."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/repository/branches",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Branch name." } },
      { "name": "merged", "type": "Boolean", "selector": ["merged"], "meta": { "description": "Whether the branch is merged." } },
      { "name": "protected", "type": "Boolean", "selector": ["protected"], "meta": { "description": "Whether the branch is protected." } },
      { "name": "default", "type": "Boolean", "selector": ["default"], "meta": { "description": "Whether this is the default branch." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the branch on GitLab." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{branch}", "placeholders": [ { "name": "branch", "type": "String", "description": "Branch name.", "required": true } ] } },
      "create": {
        "method": "POST", "path": { "value": "" },
        "bodyTemplate": { "value": "{\"branch\": \"{{branch}}\", \"ref\": \"{{ref}}\"}", "placeholders": [
          { "name": "branch", "type": "String", "description": "Name of the new branch.", "required": true },
          { "name": "ref", "type": "String", "description": "Branch, tag or commit SHA to create branch from.", "required": true }
        ] }
      },
      "delete": { "method": "DELETE", "path": { "value": "/{{branch}}", "placeholders": [ { "name": "branch", "type": "String", "description": "Branch name.", "required": true } ] } }
    }
  },
  {
    "handle": "commits",
    "meta": {
      "short": "Commits",
      "description": "Access and create commits in a GitLab project repository."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/repository/commits",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Commit SHA." } },
      { "name": "short_id", "type": "String", "selector": ["short_id"], "meta": { "description": "Short commit SHA." } },
      { "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Commit title." } },
      { "name": "message", "type": "String", "selector": ["message"], "meta": { "description": "Full commit message." } },
      { "name": "author_name", "type": "String", "selector": ["author_name"], "meta": { "description": "Name of the commit author." } },
      { "name": "authored_date", "type": "String", "selector": ["authored_date"], "meta": { "description": "Date the commit was authored." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the commit on GitLab." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "ref_name": { "value": "{{ref_name}}", "placeholders": [ { "name": "ref_name", "type": "String", "description": "Branch, tag or commit SHA to list commits from.", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{sha}}", "placeholders": [ { "name": "sha", "type": "String", "description": "Commit SHA.", "required": true } ] } },
      "create": {
        "method": "POST", "path": { "value": "" },
        "bodyTemplate": { "value": "{\"branch\": \"{{branch}}\", \"commit_message\": \"{{commit_message}}\", \"actions\": {{actions}}}", "placeholders": [
          { "name": "branch", "type": "String", "description": "Branch name to commit to.", "required": true },
          { "name": "commit_message", "type": "String", "description": "Commit message.", "required": true },
          { "name": "actions", "type": "String", "description": "JSON array of file actions (create/update/delete/move/chmod).", "required": true }
        ] }
      }
    }
  },
  {
    "handle": "pipelines",
    "meta": {
      "short": "Pipelines",
      "description": "Manage and trigger CI/CD pipelines in a GitLab project."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/pipelines",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Pipeline ID." } },
      { "name": "status", "type": "String", "selector": ["status"], "meta": { "description": "Pipeline status (e.g., running, success, failed)." } },
      { "name": "ref", "type": "String", "selector": ["ref"], "meta": { "description": "Branch or tag the pipeline ran on." } },
      { "name": "sha", "type": "String", "selector": ["sha"], "meta": { "description": "Commit SHA that triggered the pipeline." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the pipeline on GitLab." } },
      { "name": "created_at", "type": "String", "selector": ["created_at"], "meta": { "description": "When the pipeline was created." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "status": { "value": "{{status}}", "placeholders": [ { "name": "status", "type": "String", "description": "Filter by status.", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Pipeline ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"ref\": \"{{ref}}\"}", "placeholders": [ { "name": "ref", "type": "String", "description": "Branch or tag to run pipeline on.", "required": true } ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Pipeline ID.", "required": true } ] } }
    }
  },
  {
    "handle": "jobs",
    "meta": {
      "short": "Jobs",
      "description": "Access CI/CD jobs within a GitLab project pipeline."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/jobs",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Job ID." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Job name." } },
      { "name": "status", "type": "String", "selector": ["status"], "meta": { "description": "Job status (e.g., success, failed, running)." } },
      { "name": "stage", "type": "String", "selector": ["stage"], "meta": { "description": "Pipeline stage the job belongs to." } },
      { "name": "ref", "type": "String", "selector": ["ref"], "meta": { "description": "Branch or tag the job ran on." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the job on GitLab." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "scope": { "value": "{{scope}}", "placeholders": [ { "name": "scope", "type": "String", "description": "Filter by job scope.", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Job ID.", "required": true } ] } }
    }
  },
  {
    "handle": "tags",
    "meta": {
      "short": "Tags",
      "description": "Manage repository tags in a GitLab project."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/repository/tags",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Tag name." } },
      { "name": "message", "type": "String", "selector": ["message"], "meta": { "description": "Annotated tag message." } },
      { "name": "target", "type": "String", "selector": ["target"], "meta": { "description": "Commit SHA the tag points to." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{tag_name}}", "placeholders": [ { "name": "tag_name", "type": "String", "description": "Tag name.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"tag_name\": \"{{tag_name}}\", \"ref\": \"{{ref}}\", \"message\": \"{{message}}\"}", "placeholders": [
        { "name": "tag_name", "type": "String", "description": "Name of the new tag.", "required": true },
        { "name": "ref", "type": "String", "description": "Commit SHA, branch name, or another tag name.", "required": true },
        { "name": "message", "type": "String", "description": "Annotated tag message.", "required": false }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{tag_name}}", "placeholders": [ { "name": "tag_name", "type": "String", "description": "Tag name.", "required": true } ] } }
    }
  },
  {
    "handle": "users",
    "meta": {
      "short": "Users",
      "description": "Access GitLab user accounts."
    },
    "endpoint": { "value": "/users" },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "User ID." } },
      { "name": "username", "type": "String", "selector": ["username"], "meta": { "description": "Username." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Full name." } },
      { "name": "email", "type": "String", "selector": ["email"], "meta": { "description": "Email address." } },
      { "name": "state", "type": "String", "selector": ["state"], "meta": { "description": "Account state (e.g., active, blocked)." } },
      { "name": "avatar_url", "type": "String", "selector": ["avatar_url"], "meta": { "description": "URL to the user's avatar." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the user's profile on GitLab." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "search": { "value": "{{search}}", "placeholders": [ { "name": "search", "type": "String", "description": "Search term.", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "User ID.", "required": true } ] } }
    }
  },
  {
    "handle": "groups",
    "meta": {
      "short": "Groups",
      "description": "Manage GitLab groups and subgroups."
    },
    "endpoint": { "value": "/groups" },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Group ID." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Group name." } },
      { "name": "path", "type": "String", "selector": ["path"], "meta": { "description": "Group path (slug)." } },
      { "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Group description." } },
      { "name": "visibility", "type": "String", "selector": ["visibility"], "meta": { "description": "Visibility level (public, internal, private)." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the group on GitLab." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Group ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"name\": \"{{name}}\", \"path\": \"{{path}}\"}", "placeholders": [
        { "name": "name", "type": "String", "description": "Group name.", "required": true },
        { "name": "path", "type": "String", "description": "Group path (slug).", "required": true }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Group ID.", "required": true } ] }, "bodyTemplate": { "value": "{\"name\": \"{{name}}\", \"description\": \"{{description}}\"}", "placeholders": [
        { "name": "name", "type": "String", "description": "New group name.", "required": false },
        { "name": "description", "type": "String", "description": "New group description.", "required": false }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Group ID.", "required": true } ] } }
    }
  },
  {
    "handle": "members",
    "meta": {
      "short": "Members",
      "description": "Manage project members and their access levels."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/members",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "User ID." } },
      { "name": "username", "type": "String", "selector": ["username"], "meta": { "description": "Username." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Full name." } },
      { "name": "access_level", "type": "Integer", "selector": ["access_level"], "meta": { "description": "Access level (10=Guest, 20=Reporter, 30=Developer, 40=Maintainer, 50=Owner)." } },
      { "name": "expires_at", "type": "String", "selector": ["expires_at"], "meta": { "description": "Membership expiry date." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{user_id}}", "placeholders": [ { "name": "user_id", "type": "Integer", "description": "User ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"user_id\": {{user_id}}, \"access_level\": {{access_level}}}", "placeholders": [
        { "name": "user_id", "type": "Integer", "description": "User ID to add.", "required": true },
        { "name": "access_level", "type": "Integer", "description": "Access level to grant.", "required": true }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{user_id}}", "placeholders": [ { "name": "user_id", "type": "Integer", "description": "User ID.", "required": true } ] }, "bodyTemplate": { "value": "{\"access_level\": {{access_level}}}", "placeholders": [ { "name": "access_level", "type": "Integer", "description": "New access level.", "required": true } ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{user_id}}", "placeholders": [ { "name": "user_id", "type": "Integer", "description": "User ID.", "required": true } ] } }
    }
  },
  {
    "handle": "labels",
    "meta": {
      "short": "Labels",
      "description": "Manage project labels."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/labels",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Label ID." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Label name." } },
      { "name": "color", "type": "String", "selector": ["color"], "meta": { "description": "Label color in hex format." } },
      { "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Label description." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"name\": \"{{name}}\", \"color\": \"{{color}}\"}", "placeholders": [
        { "name": "name", "type": "String", "description": "Label name.", "required": true },
        { "name": "color", "type": "String", "description": "Label color (e.g., #ff0000).", "required": true }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{label_id}}", "placeholders": [ { "name": "label_id", "type": "Integer", "description": "Label ID.", "required": true } ] }, "bodyTemplate": { "value": "{\"name\": \"{{name}}\", \"color\": \"{{color}}\"}", "placeholders": [
        { "name": "name", "type": "String", "description": "New label name.", "required": false },
        { "name": "color", "type": "String", "description": "New label color.", "required": false }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{label_id}}", "placeholders": [ { "name": "label_id", "type": "Integer", "description": "Label ID.", "required": true } ] } }
    }
  },
  {
    "handle": "notes",
    "meta": {
      "short": "Notes",
      "description": "Manage comments (notes) on issues, merge requests, and snippets."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/issues/{{noteable_id}}/notes",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true },
        { "name": "noteable_id", "type": "Integer", "description": "The ID of the issue, merge request or snippet.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Note ID." } },
      { "name": "body", "type": "String", "selector": ["body"], "meta": { "description": "Note content." } },
      { "name": "author_username", "type": "String", "selector": ["author", "username"], "meta": { "description": "Username of the note author." } },
      { "name": "created_at", "type": "String", "selector": ["created_at"], "meta": { "description": "When the note was created." } },
      { "name": "system", "type": "Boolean", "selector": ["system"], "meta": { "description": "Whether this is a system-generated note." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{note_id}}", "placeholders": [ { "name": "note_id", "type": "Integer", "description": "Note ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"body\": \"{{body}}\"}", "placeholders": [ { "name": "body", "type": "String", "description": "Note content.", "required": true } ] } },
      "update": { "method": "PUT", "path": { "value": "/{{note_id}}", "placeholders": [ { "name": "note_id", "type": "Integer", "description": "Note ID.", "required": true } ] }, "bodyTemplate": { "value": "{\"body\": \"{{body}}\"}", "placeholders": [ { "name": "body", "type": "String", "description": "Updated note content.", "required": true } ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{note_id}}", "placeholders": [ { "name": "note_id", "type": "Integer", "description": "Note ID.", "required": true } ] } }
    }
  },
  {
    "handle": "milestones",
    "meta": {
      "short": "Milestones",
      "description": "Manage project milestones."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/milestones",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Milestone ID." } },
      { "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Milestone title." } },
      { "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Milestone description." } },
      { "name": "state", "type": "String", "selector": ["state"], "meta": { "description": "Milestone state (active or closed)." } },
      { "name": "due_date", "type": "String", "selector": ["due_date"], "meta": { "description": "Due date (YYYY-MM-DD)." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "state": { "value": "{{state}}", "placeholders": [ { "name": "state", "type": "String", "description": "Filter by state (active or closed).", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Milestone ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"title\": \"{{title}}\", \"description\": \"{{description}}\", \"due_date\": \"{{due_date}}\"}", "placeholders": [
        { "name": "title", "type": "String", "description": "Milestone title.", "required": true },
        { "name": "description", "type": "String", "description": "Milestone description.", "required": false },
        { "name": "due_date", "type": "String", "description": "Due date in YYYY-MM-DD format.", "required": false }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Milestone ID.", "required": true } ] }, "bodyTemplate": { "value": "{\"title\": \"{{title}}\", \"state_event\": \"{{state_event}}\"}", "placeholders": [
        { "name": "title", "type": "String", "description": "New title.", "required": false },
        { "name": "state_event", "type": "String", "description": "State event: activate or close.", "required": false, "options": ["activate", "close"] }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Milestone ID.", "required": true } ] } }
    }
  },
  {
    "handle": "releases",
    "meta": {
      "short": "Releases",
      "description": "Manage project releases."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/releases",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "tag_name", "type": "String", "selector": ["tag_name"], "meta": { "description": "Tag name associated with the release." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Release name." } },
      { "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Release notes (Markdown)." } },
      { "name": "created_at", "type": "String", "selector": ["created_at"], "meta": { "description": "When the release was created." } },
      { "name": "released_at", "type": "String", "selector": ["released_at"], "meta": { "description": "When the release was published." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{tag_name}}", "placeholders": [ { "name": "tag_name", "type": "String", "description": "Tag name.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"tag_name\": \"{{tag_name}}\", \"name\": \"{{name}}\", \"description\": \"{{description}}\"}", "placeholders": [
        { "name": "tag_name", "type": "String", "description": "Tag name for the release.", "required": true },
        { "name": "name", "type": "String", "description": "Release name.", "required": false },
        { "name": "description", "type": "String", "description": "Release notes.", "required": false }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{tag_name}}", "placeholders": [ { "name": "tag_name", "type": "String", "description": "Tag name.", "required": true } ] }, "bodyTemplate": { "value": "{\"name\": \"{{name}}\", \"description\": \"{{description}}\"}", "placeholders": [
        { "name": "name", "type": "String", "description": "New release name.", "required": false },
        { "name": "description", "type": "String", "description": "New release notes.", "required": false }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{tag_name}}", "placeholders": [ { "name": "tag_name", "type": "String", "description": "Tag name.", "required": true } ] } }
    }
  },
  {
    "handle": "environments",
    "meta": {
      "short": "Environments",
      "description": "Manage deployment environments in a GitLab project."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/environments",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Environment ID." } },
      { "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Environment name." } },
      { "name": "slug", "type": "String", "selector": ["slug"], "meta": { "description": "URL-safe environment name." } },
      { "name": "external_url", "type": "String", "selector": ["external_url"], "meta": { "description": "External URL for the environment." } },
      { "name": "state", "type": "String", "selector": ["state"], "meta": { "description": "Environment state (available or stopped)." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "name": { "value": "{{name}}", "placeholders": [ { "name": "name", "type": "String", "description": "Filter by name.", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Environment ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"name\": \"{{name}}\", \"external_url\": \"{{external_url}}\"}", "placeholders": [
        { "name": "name", "type": "String", "description": "Environment name.", "required": true },
        { "name": "external_url", "type": "String", "description": "External URL.", "required": false }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Environment ID.", "required": true } ] } }
    }
  },
  {
    "handle": "repository_files",
    "meta": {
      "short": "Repository Files",
      "description": "Read and write files in a GitLab project repository."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/repository/files",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "file_name", "type": "String", "selector": ["file_name"], "meta": { "description": "File name." } },
      { "name": "file_path", "type": "String", "selector": ["file_path"], "meta": { "description": "Full path to the file." } },
      { "name": "size", "type": "Integer", "selector": ["size"], "meta": { "description": "File size in bytes." } },
      { "name": "encoding", "type": "String", "selector": ["encoding"], "meta": { "description": "Encoding of the content (e.g., base64)." } },
      { "name": "content", "type": "String", "selector": ["content"], "meta": { "description": "File content (base64 encoded)." } },
      { "name": "ref", "type": "String", "selector": ["ref"], "meta": { "description": "Branch or commit the file belongs to." } }
    ],
    "operations": {
      "read": { "method": "GET", "path": { "value": "/{{file_path}}", "placeholders": [
        { "name": "file_path", "type": "String", "description": "URL-encoded file path.", "required": true }
      ] }, "queryParams": { "ref": { "value": "{{ref}}", "placeholders": [ { "name": "ref", "type": "String", "description": "Branch, tag or commit to read from.", "required": true } ] } } },
      "create": { "method": "POST", "path": { "value": "/{{file_path}}", "placeholders": [ { "name": "file_path", "type": "String", "description": "URL-encoded file path.", "required": true } ] }, "bodyTemplate": { "value": "{\"branch\": \"{{branch}}\", \"content\": \"{{content}}\", \"commit_message\": \"{{commit_message}}\"}", "placeholders": [
        { "name": "branch", "type": "String", "description": "Branch to create the file on.", "required": true },
        { "name": "content", "type": "String", "description": "File content.", "required": true },
        { "name": "commit_message", "type": "String", "description": "Commit message.", "required": true }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{file_path}}", "placeholders": [ { "name": "file_path", "type": "String", "description": "URL-encoded file path.", "required": true } ] }, "bodyTemplate": { "value": "{\"branch\": \"{{branch}}\", \"content\": \"{{content}}\", \"commit_message\": \"{{commit_message}}\"}", "placeholders": [
        { "name": "branch", "type": "String", "description": "Branch to update the file on.", "required": true },
        { "name": "content", "type": "String", "description": "New file content.", "required": true },
        { "name": "commit_message", "type": "String", "description": "Commit message.", "required": true }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{file_path}}", "placeholders": [ { "name": "file_path", "type": "String", "description": "URL-encoded file path.", "required": true } ] }, "bodyTemplate": { "value": "{\"branch\": \"{{branch}}\", \"commit_message\": \"{{commit_message}}\"}", "placeholders": [
        { "name": "branch", "type": "String", "description": "Branch to delete the file from.", "required": true },
        { "name": "commit_message", "type": "String", "description": "Commit message.", "required": true }
      ] } }
    }
  },
  {
    "handle": "deploy_keys",
    "meta": {
      "short": "Deploy Keys",
      "description": "Manage project deploy keys."
    },
    "endpoint": {
      "value": "/projects/{{project_id}}/deploy_keys",
      "placeholders": [
        { "name": "project_id", "type": "Integer", "description": "The ID of the project.", "required": true }
      ]
    },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Deploy key ID." } },
      { "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Deploy key title." } },
      { "name": "key", "type": "String", "selector": ["key"], "meta": { "description": "Public SSH key." } },
      { "name": "can_push", "type": "Boolean", "selector": ["can_push"], "meta": { "description": "Whether the key has write access." } },
      { "name": "created_at", "type": "String", "selector": ["created_at"], "meta": { "description": "When the key was created." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" } },
      "read": { "method": "GET", "path": { "value": "/{{key_id}}", "placeholders": [ { "name": "key_id", "type": "Integer", "description": "Deploy key ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"title\": \"{{title}}\", \"key\": \"{{key}}\", \"can_push\": {{can_push}}}", "placeholders": [
        { "name": "title", "type": "String", "description": "Deploy key title.", "required": true },
        { "name": "key", "type": "String", "description": "Public SSH key.", "required": true },
        { "name": "can_push", "type": "Boolean", "description": "Whether the key can push.", "required": false }
      ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{key_id}}", "placeholders": [ { "name": "key_id", "type": "Integer", "description": "Deploy key ID.", "required": true } ] } }
    }
  },
  {
    "handle": "runners",
    "meta": {
      "short": "Runners",
      "description": "Manage GitLab CI/CD runners."
    },
    "endpoint": { "value": "/runners" },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Runner ID." } },
      { "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Runner description." } },
      { "name": "active", "type": "Boolean", "selector": ["active"], "meta": { "description": "Whether the runner is active." } },
      { "name": "status", "type": "String", "selector": ["status"], "meta": { "description": "Runner status (online, offline, paused, etc.)." } },
      { "name": "is_shared", "type": "Boolean", "selector": ["is_shared"], "meta": { "description": "Whether the runner is shared." } },
      { "name": "runner_type", "type": "String", "selector": ["runner_type"], "meta": { "description": "Runner type (instance_type, group_type, project_type)." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" }, "status": { "value": "{{status}}", "placeholders": [ { "name": "status", "type": "String", "description": "Filter by status.", "required": false } ] } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Runner ID.", "required": true } ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Runner ID.", "required": true } ] } }
    }
  },
  {
    "handle": "snippets",
    "meta": {
      "short": "Snippets",
      "description": "Manage personal code snippets."
    },
    "endpoint": { "value": "/snippets" },
    "fields": [
      { "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Snippet ID." } },
      { "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Snippet title." } },
      { "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Snippet description." } },
      { "name": "visibility", "type": "String", "selector": ["visibility"], "meta": { "description": "Visibility (public, internal, private)." } },
      { "name": "web_url", "type": "String", "selector": ["web_url"], "meta": { "description": "URL to the snippet on GitLab." } }
    ],
    "operations": {
      "list": { "method": "GET", "path": { "value": "" }, "queryParams": { "per_page": { "value": "20" } } },
      "read": { "method": "GET", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Snippet ID.", "required": true } ] } },
      "create": { "method": "POST", "path": { "value": "" }, "bodyTemplate": { "value": "{\"title\": \"{{title}}\", \"visibility\": \"{{visibility}}\", \"files\": {{files}}}", "placeholders": [
        { "name": "title", "type": "String", "description": "Snippet title.", "required": true },
        { "name": "visibility", "type": "String", "description": "Visibility level (public, internal, private).", "required": true, "options": ["public", "internal", "private"] },
        { "name": "files", "type": "String", "description": "JSON array of file objects with content and file_path.", "required": true }
      ] } },
      "update": { "method": "PUT", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Snippet ID.", "required": true } ] }, "bodyTemplate": { "value": "{\"title\": \"{{title}}\"}", "placeholders": [ { "name": "title", "type": "String", "description": "New title.", "required": false } ] } },
      "delete": { "method": "DELETE", "path": { "value": "/{{id}}", "placeholders": [ { "name": "id", "type": "Integer", "description": "Snippet ID.", "required": true } ] } }
    }
  }
]

```

<p align="center"><a class="button primary" data-icon="square-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.planetcrust.com/human-connections/gitlab/gitlab.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
