Usuarios
El usuario actual y cada usuario que gestiona un administrador: leer y listar usuarios, crear, modificar y borrar cuentas, y bloquear, desbloquear, vetar, levantar el veto, activar, desactivar, aprobar o rechazar una; claves SSH y GPG y correos, del usuario actual o de otro; tokens de acceso personales y tokens de suplantación; el estado y el avatar del usuario; actividades, pertenencias y eventos de contribución y de proyecto; tareas pendientes; ajustes de notificación; espacios de nombres; cuentas de servicio de la instancia; y runners creados para el usuario.
Los tokens de acceso de proyecto y de grupo, los tokens de despliegue y las claves de despliegue están en Tokens de acceso y credenciales.
Preguntas de ejemplo
Sección titulada «Preguntas de ejemplo»- “¿Con qué usuario he iniciado sesión?”
- “Lista mis claves SSH”
- “¿Cuáles son mis tareas pendientes?”
- “Bloquea al usuario spammer42”
Cómo llamarlo
Sección titulada «Cómo llamarlo»- Dinámica, la superficie predeterminada: llama a
gitlab_execute_actionconactionigual al ID de la acción, comouser.activate, y sus parámetros enparams.gitlab_find_actionencuentra un ID a partir de una descripción de la tarea. - Meta (
GITLAB_MCP_TOOL_SURFACE=meta): llama agitlab_userconactionigual al nombre de la acción, comoactivate, y sus parámetros enparams. - Individual (
GITLAB_MCP_TOOL_SURFACE=individual): llama a la herramienta propia de la acción, comogitlab_activate_user, pasándole directamente sus parámetros.
Disponibilidad
Sección titulada «Disponibilidad»Todos los niveles sirven el grupo completo, tanto en instancias autogestionadas como en GitLab.com.
Acciones de solo lectura: 37 de 76, las que conserva un despliegue en modo de solo lectura.
Acciones
Sección titulada «Acciones»La descripción de cada acción, y la de cada uno de sus parámetros, es el texto que sirve el servidor para ella en la superficie predeterminada, citado tal cual; por eso está en inglés. Una acción destructiva solo se ejecuta una vez confirmada, salvo que GITLAB_MCP_YOLO_MODE (o AUTOPILOT) se salte ese paso: la superficie dinámica necesita confirm: true en gitlab_execute_action, y las otras dos aceptan un parámetro confirm o la pregunta del cliente (Acciones destructivas). Un parámetro seguido de un nivel entre paréntesis solo se sirve a partir de ese nivel.
| Acción | Individual |
|---|---|
user.activate | gitlab_activate_user |
user.activities | gitlab_get_user_activities |
user.add_email | gitlab_add_email |
user.add_email_for_user | gitlab_add_email_for_user |
user.add_gpg_key | gitlab_add_gpg_key |
user.add_gpg_key_for_user | gitlab_add_gpg_key_for_user |
user.add_ssh_key | gitlab_add_ssh_key |
user.add_ssh_key_for_user | gitlab_add_ssh_key_for_user |
user.approve | gitlab_approve_user |
user.associations_count | gitlab_get_user_associations_count |
user.avatar_get | gitlab_get_avatar |
user.ban | gitlab_ban_user |
user.block | gitlab_block_user |
user.contribution_events | gitlab_list_user_contribution_events |
user.create | gitlab_create_user |
user.create_current_user_pat | gitlab_create_current_user_pat |
user.create_impersonation_token | gitlab_create_impersonation_token |
user.create_personal_access_token | gitlab_create_personal_access_token |
user.create_runner | gitlab_create_user_runner |
user.create_service_account | gitlab_create_service_account |
user.current | gitlab_user_current |
user.current_user_status | gitlab_current_user_status |
user.deactivate | gitlab_deactivate_user |
user.delete | gitlab_delete_user |
user.delete_email | gitlab_delete_email |
user.delete_email_for_user | gitlab_delete_email_for_user |
user.delete_gpg_key | gitlab_delete_gpg_key |
user.delete_gpg_key_for_user | gitlab_delete_gpg_key_for_user |
user.delete_identity | gitlab_delete_user_identity |
user.delete_ssh_key | gitlab_delete_ssh_key |
user.delete_ssh_key_for_user | gitlab_delete_ssh_key_for_user |
user.disable_two_factor | gitlab_disable_two_factor |
user.emails | gitlab_list_emails |
user.emails_for_user | gitlab_list_emails_for_user |
user.event_list_contributions | gitlab_user_contribution_event_list |
user.event_list_project | gitlab_project_event_list |
user.get | gitlab_get_user |
user.get_email | gitlab_get_email |
user.get_gpg_key | gitlab_get_gpg_key |
user.get_gpg_key_for_user | gitlab_get_gpg_key_for_user |
user.get_impersonation_token | gitlab_get_impersonation_token |
user.get_ssh_key | gitlab_get_ssh_key |
user.get_ssh_key_for_user | gitlab_get_ssh_key_for_user |
user.get_status | gitlab_get_user_status |
user.gpg_keys | gitlab_list_gpg_keys |
user.gpg_keys_for_user | gitlab_list_gpg_keys_for_user |
user.key_get_by_fingerprint | gitlab_get_key_by_fingerprint |
user.key_get_with_user | gitlab_get_key_with_user |
user.list | gitlab_list_users |
user.list_impersonation_tokens | gitlab_list_impersonation_tokens |
user.list_service_accounts | gitlab_list_service_accounts |
user.me | gitlab_user_current |
user.memberships | gitlab_get_user_memberships |
user.modify | gitlab_modify_user |
user.namespace_exists | gitlab_namespace_exists |
user.namespace_get | gitlab_namespace_get |
user.namespace_list | gitlab_namespace_list |
user.namespace_search | gitlab_namespace_search |
user.notification_global_get | gitlab_notification_global_get |
user.notification_global_update | gitlab_notification_global_update |
user.notification_group_get | gitlab_notification_group_get |
user.notification_group_update | gitlab_notification_group_update |
user.notification_project_get | gitlab_notification_project_get |
user.notification_project_update | gitlab_notification_project_update |
user.reject | gitlab_reject_user |
user.revoke_impersonation_token | gitlab_revoke_impersonation_token |
user.set_status | gitlab_set_user_status |
user.ssh_keys | gitlab_list_ssh_keys |
user.ssh_keys_for_user | gitlab_list_ssh_keys_for_user |
user.todo_list | gitlab_todo_list |
user.todo_mark_all_done | gitlab_todo_mark_all_done |
user.todo_mark_done | gitlab_todo_mark_done |
user.unban | gitlab_unban_user |
user.unblock | gitlab_unblock_user |
user.update_service_account | gitlab_update_instance_service_account |
user.upload_avatar | gitlab_upload_user_avatar |
user.activate
Sección titulada «user.activate»Activate a deactivated user. Returns: confirmation with the user ID and action. See also:
user.deactivate,user.unblock,user.get.
- Meta-herramienta:
gitlab_user, acciónactivate - Herramienta individual:
gitlab_activate_user - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.activities
Sección titulada «user.activities»List user activities (admin). Returns: username and last-activity date per user. See also:
user.list,user.contribution_events,user.memberships.
- Meta-herramienta:
gitlab_user, acciónactivities - Herramienta individual:
gitlab_get_user_activities - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
from | string | no | Only activities after this date (YYYY-MM-DD) |
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: asc or desc |
user.add_email
Sección titulada «user.add_email»Add an email address to the authenticated user’s account. Returns: the created email’s ID, address, and confirmation timestamp. See also:
user.get_email,user.delete_email,user.add_email_for_user.
- Meta-herramienta:
gitlab_user, acciónadd_email - Herramienta individual:
gitlab_add_email - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email | string | sí | Email address to add |
skip_confirmation | boolean | no | Skip confirmation email (admin only) |
user.add_email_for_user
Sección titulada «user.add_email_for_user»Add an email address to a specific user’s account (admin only). Returns: the created email’s ID, address, and confirmation timestamp. See also:
user.emails_for_user,user.delete_email_for_user,user.add_email.
- Meta-herramienta:
gitlab_user, acciónadd_email_for_user - Herramienta individual:
gitlab_add_email_for_user - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email | string | sí | Email address to add |
user_id | integer | sí | GitLab user ID |
skip_confirmation | boolean | no | Skip confirmation email (admin only) |
user.add_gpg_key
Sección titulada «user.add_gpg_key»Add a GPG key to the authenticated user’s account. Returns: the created key’s ID, armored public key, and creation timestamp. See also:
user.gpg_keys,user.get_gpg_key,user.delete_gpg_key,user.add_gpg_key_for_user.
- Meta-herramienta:
gitlab_user, acciónadd_gpg_key - Herramienta individual:
gitlab_add_gpg_key - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key | string | sí | The armored GPG public key content |
user.add_gpg_key_for_user
Sección titulada «user.add_gpg_key_for_user»Add a GPG key to a specific user’s account (admin only). Returns: the created key’s ID, armored public key, and creation timestamp. See also:
user.gpg_keys_for_user,user.get_gpg_key_for_user,user.delete_gpg_key_for_user,user.add_gpg_key.
- Meta-herramienta:
gitlab_user, acciónadd_gpg_key_for_user - Herramienta individual:
gitlab_add_gpg_key_for_user - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key | string | sí | The armored GPG public key content |
user_id | integer | sí | The ID of the user |
user.add_ssh_key
Sección titulada «user.add_ssh_key»Add an SSH key to the current user. Returns: created key ID, title, usage type, and expiry. See also:
user.ssh_keys,user.get_ssh_key,user.delete_ssh_key.
- Meta-herramienta:
gitlab_user, acciónadd_ssh_key - Herramienta individual:
gitlab_add_ssh_key - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key | string | sí | The SSH public key content |
title | string | sí | A descriptive title for the SSH key |
expires_at | string | no | Expiration date in ISO 8601 format (YYYY-MM-DD) |
usage_type | string (auth, signing, auth_and_signing) | no | SSH key usage scope: auth (authentication), signing (commit signing), or auth_and_signing (both). Default: auth_and_signing. |
user.add_ssh_key_for_user
Sección titulada «user.add_ssh_key_for_user»Add an SSH key to a specific user. Returns: created key ID, title, usage type, and expiry. Requires admin token. See also:
user.ssh_keys_for_user,user.get_ssh_key_for_user,user.delete_ssh_key_for_user.
- Meta-herramienta:
gitlab_user, acciónadd_ssh_key_for_user - Herramienta individual:
gitlab_add_ssh_key_for_user - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key | string | sí | The SSH public key content |
title | string | sí | A descriptive title for the SSH key |
user_id | integer | sí | The ID of the user |
expires_at | string | no | Expiration date in ISO 8601 format (YYYY-MM-DD) |
usage_type | string (auth, signing, auth_and_signing) | no | SSH key usage scope: auth (authentication), signing (commit signing), or auth_and_signing (both). Default: auth_and_signing. |
user.approve
Sección titulada «user.approve»Approve a pending user sign-up. Returns: confirmation with the user ID and action. See also:
user.reject,user.get,user.list.
- Meta-herramienta:
gitlab_user, acciónapprove - Herramienta individual:
gitlab_approve_user - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.associations_count
Sección titulada «user.associations_count»Get a user’s association counts. Returns: groups, projects, issues, and merge-requests counts. See also:
user.get,user.memberships,user.delete.
- Meta-herramienta:
gitlab_user, acciónassociations_count - Herramienta individual:
gitlab_get_user_associations_count - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.avatar_get
Sección titulada «user.avatar_get»Get the avatar URL for an email address. Returns: the resolved avatar URL for that email address. See also:
user.me,user.get_status.
- Meta-herramienta:
gitlab_user, acciónavatar_get - Herramienta individual:
gitlab_get_avatar - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email | string | sí | Email address to look up avatar for |
size | integer | no | Desired avatar size in pixels |
user.ban
Sección titulada «user.ban»Ban a user. Returns: confirmation with the user ID and action. Reversible via user.unban. See also:
user.unban,user.block,user.get.
- Meta-herramienta:
gitlab_user, acciónban - Herramienta individual:
gitlab_ban_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.block
Sección titulada «user.block»Block a user from signing in. Returns: confirmation with the user ID and action. Reversible via user.unblock. See also:
user.unblock,user.ban,user.get.
- Meta-herramienta:
gitlab_user, acciónblock - Herramienta individual:
gitlab_block_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.contribution_events
Sección titulada «user.contribution_events»List a user’s contribution events. Returns: event entries with action, target type/title and link, project, author, timestamp, the push, note or wiki page the event concerns, and its import origin. See also:
user.get,user.activities,user.associations_count.
- Meta-herramienta:
gitlab_user, accióncontribution_events - Herramienta individual:
gitlab_list_user_contribution_events - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user whose events to retrieve |
action | string (created, updated, closed, reopened, pushed, commented, merged, joined, left, destroyed, expired, approved, transferred) | no | Filter by event action, one of created, updated, closed, reopened, pushed, commented, merged, joined, left, destroyed, expired, approved, transferred. Any other value is refused before the request, since GitLab would ignore it and answer every event. |
after | string | no | Only events after this date (YYYY-MM-DD) |
before | string | no | Only events before this date (YYYY-MM-DD) |
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
scope | string | no | Include all events across a user’s projects (e.g. ‘all’) |
sort | string (asc, desc) | no | Sort order: asc or desc |
target_type | string (issue, milestone, merge_request, note, project, snippet, user, wiki, design) | no | Filter by event target type, one of issue, milestone, merge_request, note, project, snippet, user, wiki, design. GitLab refuses any other value, epic included. Responses spell the type in model form (Issue, MergeRequest, WikiPage::Meta, DesignManagement::Design), which a filter does not accept. |
user.create
Sección titulada «user.create»Create a user account. Returns: created user identity and profile summary fields. See also:
user.get,user.modify,user.block.
- Meta-herramienta:
gitlab_user, accióncreate - Herramienta individual:
gitlab_create_user - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email | string | sí | The user email address |
name | string | sí | The user display name |
username | string | sí | The username |
admin | boolean | no | Grant admin privileges |
auditor (Premium) | boolean | no | Grant auditor privileges (Premium/Ultimate) |
bio | string | no | User bio text |
can_create_group | boolean | no | Allow the user to create groups |
color_scheme_id | integer | no | Syntax-highlighting color scheme ID |
commit_email | string | no | Email used for commits |
discord | string | no | Discord account |
extern_uid | string | no | External UID for the provider |
external | boolean | no | Mark user as external |
extra_shared_runners_minutes_limit (Premium) | integer | no | Extra shared runners minutes (admin, Premium/Ultimate) |
force_random_password | boolean | no | Set a random password instead of requiring one |
github | string | no | GitHub account |
group_id_for_saml | integer | no | Group ID for SAML provisioning |
job_title | string | no | User job title |
linkedin | string | no | LinkedIn account |
location | string | no | User location |
note | string | no | Admin note about the user |
organization | string | no | User organization |
password | string | no | The user password (required unless reset_password or force_random_password is set) |
private_profile | boolean | no | Make the user’s profile private |
projects_limit | integer | no | Maximum number of projects the user can create |
pronouns | string | no | User pronouns |
provider | string | no | External provider name (use with extern_uid) |
public_email | string | no | Publicly visible email address |
reset_password | boolean | no | Send a password reset email instead of setting password |
shared_runners_minutes_limit (Premium) | integer | no | Shared runners minutes limit (admin, Premium/Ultimate) |
skip_confirmation | boolean | no | Skip confirmation email and activate user immediately |
theme_id | integer | no | GitLab theme ID for the user’s UI |
twitter | string | no | Twitter/X account |
view_diffs_file_by_file | boolean | no | Show whitespace changes in diffs file by file |
website_url | string | no | User website URL |
user.create_current_user_pat
Sección titulada «user.create_current_user_pat»Create a personal access token for the current user. Returns: token ID, the secret token, scopes, and expiry. See also:
user.me,user.create_runner.
- Meta-herramienta:
gitlab_user, accióncreate_current_user_pat - Herramienta individual:
gitlab_create_current_user_pat - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | sí | Name of the personal access token |
scopes | string[] | sí | Array of scopes |
description | string | no | Description for the token |
expires_at | string | no | Token expiration date (YYYY-MM-DD) |
user.create_impersonation_token
Sección titulada «user.create_impersonation_token»Create an impersonation token for a user with the given scopes and optional expiry. Returns: the new token’s id, name, active flag, scopes, revoked flag, created_at, expires_at, and the secret token value (shown once). See also:
user.list_impersonation_tokens,user.revoke_impersonation_token,user.create_personal_access_token.
- Meta-herramienta:
gitlab_user, accióncreate_impersonation_token - Herramienta individual:
gitlab_create_impersonation_token - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | sí | Name of the impersonation token |
scopes | string[] | sí | Array of scopes (api/read_user/read_api/read_repository/write_repository/read_registry/write_registry/sudo/admin_mode/create_runner/manage_runner/ai_features/k8s_proxy) |
user_id | integer | sí | GitLab user ID |
expires_at | string | no | Token expiration date (YYYY-MM-DD) |
user.create_personal_access_token
Sección titulada «user.create_personal_access_token»Create a personal access token for a user with the given scopes, optional description, and optional expiry. Returns: the new token’s id, name, active flag, scopes, revoked flag, description, user_id, created_at, expires_at, and the secret token value (shown once). See also:
access.token_personal_list,access.token_personal_revoke,user.create_impersonation_token.
- Meta-herramienta:
gitlab_user, accióncreate_personal_access_token - Herramienta individual:
gitlab_create_personal_access_token - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | sí | Name of the personal access token |
scopes | string[] | sí | Array of scopes |
user_id | integer | sí | GitLab user ID |
description | string | no | Description for the token |
expires_at | string | no | Token expiration date (YYYY-MM-DD) |
user.create_runner
Sección titulada «user.create_runner»Create a runner linked to the current user. Returns: runner ID, authentication token, and token expiry. See also:
user.me,user.create_current_user_pat.
- Meta-herramienta:
gitlab_user, accióncreate_runner - Herramienta individual:
gitlab_create_user_runner - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
runner_type | string (instance_type, group_type, project_type) | sí | Runner scope: instance_type (shared), group_type (requires group_id), or project_type (requires project_id). |
access_level | string | no | Access level: not_protected or ref_protected |
description | string | no | Runner description |
group_id | integer | no | Group ID (required for group_type runners) |
locked | boolean | no | Whether the runner should be locked |
maintenance_note | string | no | Maintenance note for the runner |
maximum_timeout | integer | no | Maximum timeout for jobs in seconds |
paused | boolean | no | Whether the runner should be paused |
project_id | integer | no | Project ID (required for project_type runners) |
run_untagged | boolean | no | Whether the runner can run untagged jobs |
tag_list | string[] | no | List of runner tags |
user.create_service_account
Sección titulada «user.create_service_account»Create an instance-level service account. Returns: the created service account with ID, username, name, and email. Requires admin token. See also:
user.list_service_accounts,user.update_service_account.
- Meta-herramienta:
gitlab_user, accióncreate_service_account - Herramienta individual:
gitlab_create_service_account - Nivel: Free
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email | string | no | Email for the service account |
name | string | no | Name for the service account |
username | string | no | Username for the service account |
user.current
Sección titulada «user.current»Get the current authenticated user. Returns: account ID, username, name, state, avatar URL, and profile metadata. See also:
user.list,user.current_user_status,user.emails.
- Meta-herramienta:
gitlab_user, accióncurrent - Herramienta individual:
gitlab_user_current - Nivel: Free
- Comportamiento: solo lectura, idempotente
Sin parámetros.
user.current_user_status
Sección titulada «user.current_user_status»Get the current user’s status. Returns: emoji, message, availability, and clear-status time. See also:
user.set_status,user.get_status,user.me.
- Meta-herramienta:
gitlab_user, accióncurrent_user_status - Herramienta individual:
gitlab_current_user_status - Nivel: Free
- Comportamiento: solo lectura, idempotente
Sin parámetros.
user.deactivate
Sección titulada «user.deactivate»Deactivate an active user. Returns: confirmation with the user ID and action. Reversible via user.activate. See also:
user.activate,user.block,user.get.
- Meta-herramienta:
gitlab_user, accióndeactivate - Herramienta individual:
gitlab_deactivate_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.delete
Sección titulada «user.delete»Delete a user account. Returns: confirmation with the deleted user ID. Requires admin token. See also:
user.get,user.block,user.associations_count.
- Meta-herramienta:
gitlab_user, accióndelete - Herramienta individual:
gitlab_delete_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user to delete |
user.delete_email
Sección titulada «user.delete_email»Delete an email address from the authenticated user’s account. Returns: a confirmation naming the deleted email ID. See also:
user.get_email,user.add_email,user.delete_email_for_user.
- Meta-herramienta:
gitlab_user, accióndelete_email - Herramienta individual:
gitlab_delete_email - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email_id | integer | sí | Email ID to delete |
user.delete_email_for_user
Sección titulada «user.delete_email_for_user»Delete an email address from a specific user’s account (admin only). Returns: a confirmation naming the deleted email ID. See also:
user.emails_for_user,user.add_email_for_user,user.delete_email.
- Meta-herramienta:
gitlab_user, accióndelete_email_for_user - Herramienta individual:
gitlab_delete_email_for_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email_id | integer | sí | Email ID to delete |
user_id | integer | sí | GitLab user ID |
user.delete_gpg_key
Sección titulada «user.delete_gpg_key»Delete a GPG key from the authenticated user’s account. Returns: a confirmation naming the deleted key ID. See also:
user.gpg_keys,user.get_gpg_key,user.add_gpg_key,user.delete_gpg_key_for_user.
- Meta-herramienta:
gitlab_user, accióndelete_gpg_key - Herramienta individual:
gitlab_delete_gpg_key - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the GPG key to delete |
user.delete_gpg_key_for_user
Sección titulada «user.delete_gpg_key_for_user»Delete a GPG key from a specific user’s account (admin only). Returns: a confirmation naming the deleted key ID. See also:
user.gpg_keys_for_user,user.get_gpg_key_for_user,user.add_gpg_key_for_user,user.delete_gpg_key.
- Meta-herramienta:
gitlab_user, accióndelete_gpg_key_for_user - Herramienta individual:
gitlab_delete_gpg_key_for_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the GPG key to delete |
user_id | integer | sí | The ID of the user |
user.delete_identity
Sección titulada «user.delete_identity»Delete a user’s external identity. Returns: confirmation with user ID and provider. Requires admin token. See also:
user.get,user.modify.
- Meta-herramienta:
gitlab_user, accióndelete_identity - Herramienta individual:
gitlab_delete_user_identity - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
provider | string | sí | The external provider name (e.g. ldap or saml) |
user_id | integer | sí | The ID of the user |
user.delete_ssh_key
Sección titulada «user.delete_ssh_key»Delete one of the current user’s SSH keys. Returns: confirmation with the deleted key ID. See also:
user.ssh_keys,user.get_ssh_key,user.add_ssh_key.
- Meta-herramienta:
gitlab_user, accióndelete_ssh_key - Herramienta individual:
gitlab_delete_ssh_key - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the SSH key to delete |
user.delete_ssh_key_for_user
Sección titulada «user.delete_ssh_key_for_user»Delete a specific user’s SSH key. Returns: confirmation with the deleted key ID. Requires admin token. See also:
user.ssh_keys_for_user,user.get_ssh_key_for_user,user.add_ssh_key_for_user.
- Meta-herramienta:
gitlab_user, accióndelete_ssh_key_for_user - Herramienta individual:
gitlab_delete_ssh_key_for_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the SSH key to delete |
user_id | integer | sí | The ID of the user |
user.disable_two_factor
Sección titulada «user.disable_two_factor»Disable 2FA for a user. Returns: confirmation with the user ID and action. See also:
user.get,user.modify.
- Meta-herramienta:
gitlab_user, accióndisable_two_factor - Herramienta individual:
gitlab_disable_two_factor - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.emails
Sección titulada «user.emails»List the current user’s email addresses. Returns: email entries with ID, address, and confirmation time, with pagination metadata. See also:
user.me,user.modify.
- Meta-herramienta:
gitlab_user, acciónemails - Herramienta individual:
gitlab_list_emails - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
user.emails_for_user
Sección titulada «user.emails_for_user»List the email addresses registered to a specific user account. Returns: each email’s ID, address, and confirmation timestamp, with pagination metadata. See also:
user.get_email,user.add_email_for_user,user.delete_email_for_user,user.get.
- Meta-herramienta:
gitlab_user, acciónemails_for_user - Herramienta individual:
gitlab_list_emails_for_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for ordered results: asc or desc |
user_id | integer | no | GitLab user ID |
user.event_list_contributions
Sección titulada «user.event_list_contributions»List the current user’s contribution events. Returns: each event with action_name, target type and IID, push_data, embedded note, author object, created timestamp, and pagination metadata. See also:
user.event_list_project,user.get.
- Meta-herramienta:
gitlab_user, acciónevent_list_contributions - Herramienta individual:
gitlab_user_contribution_event_list - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
action | string (created, updated, closed, reopened, pushed, commented, merged, joined, left, destroyed, expired, approved, transferred) | no | Filter by event action, one of created, updated, closed, reopened, pushed, commented, merged, joined, left, destroyed, expired, approved, transferred. Any other value is refused before the request, since GitLab would ignore it and answer every event. |
after | string | no | Return events after this date (YYYY-MM-DD) |
before | string | no | Return events before this date (YYYY-MM-DD) |
order_by | string | no | Column by which to order keyset-paginated results (id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
scope | string | no | Include events from all projects (all) or only user’s projects |
sort | string (asc, desc) | no | Sort order (asc or desc) |
target_type | string (issue, milestone, merge_request, note, project, snippet, user, wiki, design) | no | Filter by event target type, one of issue, milestone, merge_request, note, project, snippet, user, wiki, design. GitLab refuses any other value, epic included. Responses spell the type in model form (Issue, MergeRequest, WikiPage::Meta, DesignManagement::Design), which a filter does not accept. |
user.event_list_project
Sección titulada «user.event_list_project»List a project’s visible activity events. Returns: each event with action_name, target type and IID, push_data, embedded note with author, data (ref, commits, repository), author object, created timestamp, and pagination metadata. See also:
user.event_list_contributions,project.get.
- Meta-herramienta:
gitlab_user, acciónevent_list_project - Herramienta individual:
gitlab_project_event_list - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
project_id | string/integer | sí | Project ID or URL-encoded path |
action | string (created, updated, closed, reopened, pushed, commented, merged, joined, left, destroyed, expired, approved, transferred) | no | Filter by event action, one of created, updated, closed, reopened, pushed, commented, merged, joined, left, destroyed, expired, approved, transferred. Any other value is refused before the request, since GitLab would ignore it and answer every event. |
after | string | no | Return events after this date (YYYY-MM-DD) |
before | string | no | Return events before this date (YYYY-MM-DD) |
order_by | string | no | Column by which to order keyset-paginated results (id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order (asc or desc, default desc) |
target_type | string (issue, milestone, merge_request, note, project, snippet, user, wiki, design) | no | Filter by event target type, one of issue, milestone, merge_request, note, project, snippet, user, wiki, design. GitLab refuses any other value, epic included. Responses spell the type in model form (Issue, MergeRequest, WikiPage::Meta, DesignManagement::Design), which a filter does not accept. |
user.get
Sección titulada «user.get»Get one user by ID. Returns: detailed account profile metadata and status fields. See also:
user.list,user.modify,user.delete.
- Meta-herramienta:
gitlab_user, acciónget - Herramienta individual:
gitlab_get_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user to retrieve |
with_custom_attributes | boolean | no | Include custom attributes in the response (admin only) |
user.get_email
Sección titulada «user.get_email»Get one email address from the authenticated user’s account by ID. Returns: the email’s ID, address, and confirmation timestamp. See also:
user.add_email,user.delete_email,user.emails_for_user.
- Meta-herramienta:
gitlab_user, acciónget_email - Herramienta individual:
gitlab_get_email - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
email_id | integer | no | Email ID to retrieve |
user.get_gpg_key
Sección titulada «user.get_gpg_key»Get one GPG key from the authenticated user’s account by ID. Returns: the key’s ID, armored public key, and creation timestamp. See also:
user.gpg_keys,user.add_gpg_key,user.delete_gpg_key.
- Meta-herramienta:
gitlab_user, acciónget_gpg_key - Herramienta individual:
gitlab_get_gpg_key - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the GPG key |
user.get_gpg_key_for_user
Sección titulada «user.get_gpg_key_for_user»Get one GPG key from a specific user’s account by ID. Returns: the key’s ID, armored public key, and creation timestamp. See also:
user.gpg_keys_for_user,user.add_gpg_key_for_user,user.delete_gpg_key_for_user,user.get.
- Meta-herramienta:
gitlab_user, acciónget_gpg_key_for_user - Herramienta individual:
gitlab_get_gpg_key_for_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the GPG key |
user_id | integer | sí | The ID of the user |
user.get_impersonation_token
Sección titulada «user.get_impersonation_token»Get a single impersonation token for a user by token id. Returns: the token’s id, name, active flag, scopes, revoked flag, created_at, expires_at, and last_used_at. See also:
user.list_impersonation_tokens,user.revoke_impersonation_token.
- Meta-herramienta:
gitlab_user, acciónget_impersonation_token - Herramienta individual:
gitlab_get_impersonation_token - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
token_id | integer | sí | Impersonation token ID |
user_id | integer | sí | GitLab user ID |
user.get_ssh_key
Sección titulada «user.get_ssh_key»Get one of the current user’s SSH keys by ID. Returns: key ID, title, public key, usage type, and expiry. See also:
user.ssh_keys,user.add_ssh_key,user.delete_ssh_key.
- Meta-herramienta:
gitlab_user, acciónget_ssh_key - Herramienta individual:
gitlab_get_ssh_key - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the SSH key |
user.get_ssh_key_for_user
Sección titulada «user.get_ssh_key_for_user»Get a specific user’s SSH key by ID. Returns: key ID, title, public key, usage type, and expiry. See also:
user.ssh_keys_for_user,user.add_ssh_key_for_user,user.delete_ssh_key_for_user.
- Meta-herramienta:
gitlab_user, acciónget_ssh_key_for_user - Herramienta individual:
gitlab_get_ssh_key_for_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | The ID of the SSH key |
user_id | integer | sí | The ID of the user |
user.get_status
Sección titulada «user.get_status»Get a user’s status by ID. Returns: emoji, message, availability, and clear-status time. See also:
user.current_user_status,user.set_status,user.get.
- Meta-herramienta:
gitlab_user, acciónget_status - Herramienta individual:
gitlab_get_user_status - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user whose status to retrieve |
user.gpg_keys
Sección titulada «user.gpg_keys»List the authenticated user’s GPG keys. Returns: each key’s ID, armored public key, and creation timestamp, with pagination metadata. See also:
user.get_gpg_key,user.add_gpg_key,user.delete_gpg_key,user.gpg_keys_for_user.
- Meta-herramienta:
gitlab_user, accióngpg_keys - Herramienta individual:
gitlab_list_gpg_keys - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
user.gpg_keys_for_user
Sección titulada «user.gpg_keys_for_user»List a specific user’s GPG keys. Returns: each key’s ID, armored public key, and creation timestamp, with pagination metadata. See also:
user.get_gpg_key_for_user,user.add_gpg_key_for_user,user.delete_gpg_key_for_user,user.get.
- Meta-herramienta:
gitlab_user, accióngpg_keys_for_user - Herramienta individual:
gitlab_list_gpg_keys_for_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
user.key_get_by_fingerprint
Sección titulada «user.key_get_by_fingerprint»Look up an SSH key or deploy key by fingerprint and return the owning user. Returns: the key ID, title, public key, creation time, and the owning user (ID, username, name). See also:
user.get_ssh_key,user.ssh_keys,user.ssh_keys_for_user.
- Meta-herramienta:
gitlab_user, acciónkey_get_by_fingerprint - Herramienta individual:
gitlab_get_key_by_fingerprint - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
fingerprint | string | sí | SSH key fingerprint, either the SHA256 form (for example SHA256:abc123) or the legacy MD5 hex-pair form (for example MD5:aa:bb:cc) |
user.key_get_with_user
Sección titulada «user.key_get_with_user»Look up an SSH key by its global ID and return the owning user. Returns: the key ID, title, public key, creation time, and the owning user (ID, username, name). See also:
user.get_ssh_key,user.ssh_keys,user.ssh_keys_for_user.
- Meta-herramienta:
gitlab_user, acciónkey_get_with_user - Herramienta individual:
gitlab_get_key_with_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key_id | integer | sí | SSH key ID |
user.list
Sección titulada «user.list»List users with filtering and pagination support. Returns: user summaries including ID, username, name, state, and profile URLs. See also:
user.get,user.me,user.create.
- Meta-herramienta:
gitlab_user, acciónlist - Herramienta individual:
gitlab_list_users - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
active | boolean | no | Filter for active users only |
admins | boolean | no | Filter for administrators only |
blocked | boolean | no | Filter for blocked users only |
created_after | string | no | Filter users created after this date (RFC3339) |
created_before | string | no | Filter users created before this date (RFC3339) |
custom_attributes | object | no | Filter users by custom attribute key/value pairs (admin only). Different from with_custom_attributes, which only controls whether attributes are returned |
exclude_active | boolean | no | Exclude active users from the result |
exclude_external | boolean | no | Exclude external users from the result |
exclude_humans | boolean | no | Exclude human users from the result |
exclude_internal | boolean | no | Exclude internal (bot/system) users from the result |
extern_uid | string | no | Filter by external UID (use with provider) |
external | boolean | no | Filter for external users only |
humans | boolean | no | Filter for human (non-bot, non-internal) users only |
order_by | string (id, name, username, created_at, updated_at) | no | Order users by: id, name, username, created_at, or updated_at. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
provider | string | no | Filter by external provider name (use with extern_uid) |
public_email | string | no | Filter by exact public email address |
search | string | no | Search users by name or username or email |
sort | string (asc, desc) | no | Sort order: asc or desc |
two_factor | string (enabled, disabled) | no | Filter by two-factor authentication status: enabled or disabled. |
username | string | no | Filter by exact username |
with_custom_attributes | boolean | no | Include custom attributes in the response (admin only) |
without_project_bots | boolean | no | Exclude project bot users from the result |
without_projects | boolean | no | Filter for users without any projects |
user.list_impersonation_tokens
Sección titulada «user.list_impersonation_tokens»List the impersonation tokens of a user. Returns: each token’s id, name, active flag, scopes, revoked flag, created_at, expires_at, and last_used_at, with pagination metadata. See also:
user.get_impersonation_token,user.create_impersonation_token,user.revoke_impersonation_token.
- Meta-herramienta:
gitlab_user, acciónlist_impersonation_tokens - Herramienta individual:
gitlab_list_impersonation_tokens - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | GitLab user ID |
order_by | string | no | Column to order keyset-paginated results by |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: ‘asc’ or ‘desc’ |
state | string (all, active, inactive) | no | Filter by state: all, active, or inactive |
user.list_service_accounts
Sección titulada «user.list_service_accounts»List instance-level service accounts. Returns: service account summaries with ID, username, name, and email, with pagination metadata. Requires admin token. See also:
user.create_service_account,user.update_service_account.
- Meta-herramienta:
gitlab_user, acciónlist_service_accounts - Herramienta individual:
gitlab_list_service_accounts - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string (id, username) | no | Field to order by: id (default) or username |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc/desc) |
user.me
Sección titulada «user.me»Get the current authenticated user. Returns: account ID, username, name, state, avatar URL, and profile metadata. See also:
user.list,user.current_user_status,user.emails.
- Meta-herramienta:
gitlab_user, acciónme - Herramienta individual:
gitlab_user_current - Nivel: Free
- Comportamiento: solo lectura, idempotente
Sin parámetros.
user.memberships
Sección titulada «user.memberships»List a user’s memberships. Returns: source ID, name, type, and access level per membership. See also:
user.get,user.associations_count,user.activities.
- Meta-herramienta:
gitlab_user, acciónmemberships - Herramienta individual:
gitlab_get_user_memberships - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: asc or desc |
type | string (Project, Namespace) | no | Membership type filter: Project (project memberships) or Namespace (group memberships). |
user.modify
Sección titulada «user.modify»Modify an existing user. Returns: the updated user profile metadata. See also:
user.get,user.create,user.delete.
- Meta-herramienta:
gitlab_user, acciónmodify - Herramienta individual:
gitlab_modify_user - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user to modify |
admin | boolean | no | Grant or revoke admin privileges |
auditor (Premium) | boolean | no | Grant or revoke auditor privileges (Premium/Ultimate) |
bio | string | no | New bio text |
can_create_group | boolean | no | Allow user to create groups |
commit_email | string | no | Email used for commits |
email | string | no | New email address |
extern_uid | string | no | External UID for the provider |
external | boolean | no | Mark or unmark as external |
job_title | string | no | New job title |
linkedin | string | no | LinkedIn account |
location | string | no | New location |
name | string | no | New display name |
note | string | no | New admin note |
organization | string | no | New organization |
password | string | no | New password |
private_profile | boolean | no | Set profile as private |
projects_limit | integer | no | New maximum projects limit |
provider | string | no | External provider name (use with extern_uid) |
public_email | string | no | Publicly visible email address |
skip_reconfirmation | boolean | no | Skip reconfirmation on email change |
theme_id | integer | no | GitLab theme ID for the user’s UI |
twitter | string | no | Twitter/X account |
username | string | no | New username |
view_diffs_file_by_file | boolean | no | Show whitespace changes in diffs file by file |
website_url | string | no | User website URL |
user.namespace_exists
Sección titulada «user.namespace_exists»Check whether a namespace path is taken. Returns: an exists flag and suggested alternative paths when the path is unavailable. See also:
user.namespace_get,user.namespace_search.
- Meta-herramienta:
gitlab_user, acciónnamespace_exists - Herramienta individual:
gitlab_namespace_exists - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string | sí | Namespace path to check for existence |
parent_id | integer | no | Parent namespace ID to scope the check |
user.namespace_get
Sección titulada «user.namespace_get»Get a single namespace by ID or path. Returns: the namespace with id, name, path, kind, full path, parent id, plan, trial state, and seat usage. See also:
user.namespace_list,user.namespace_search.
- Meta-herramienta:
gitlab_user, acciónnamespace_get - Herramienta individual:
gitlab_namespace_get - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string | sí | Namespace ID or path |
user.namespace_list
Sección titulada «user.namespace_list»List namespaces visible to the authenticated user. Returns: matching namespaces with id, name, path, kind, plan, seat usage, and pagination metadata. See also:
user.namespace_get,user.namespace_search,group.list.
- Meta-herramienta:
gitlab_user, acciónnamespace_list - Herramienta individual:
gitlab_namespace_list - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
owned_only | boolean | no | If true return only namespaces owned by the authenticated user |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
search | string | no | Filter namespaces by search term |
sort | string (asc, desc) | no | Sort direction for keyset-paginated results (asc, desc) |
top_level_only | boolean | no | If true return only top-level namespaces |
user.namespace_search
Sección titulada «user.namespace_search»Search namespaces by name or path. Returns: matching namespaces with id, name, path, kind, and pagination metadata. See also:
user.namespace_list,user.namespace_get.
- Meta-herramienta:
gitlab_user, acciónnamespace_search - Herramienta individual:
gitlab_namespace_search - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
query | string | sí | Search query string for namespaces |
user.notification_global_get
Sección titulada «user.notification_global_get»Get the authenticated user’s global notification settings. Returns: the global notification level, notification email, and the per-event flags (issue, merge request, pipeline, note, and epic events) when the level is custom. See also:
user.notification_global_update,user.notification_project_get,user.notification_group_get.
- Meta-herramienta:
gitlab_user, acciónnotification_global_get - Herramienta individual:
gitlab_notification_global_get - Nivel: Free
- Comportamiento: solo lectura, idempotente
Sin parámetros.
user.notification_global_update
Sección titulada «user.notification_global_update»Update the authenticated user’s global notification settings. Returns: the updated global notification level, notification email, and per-event flags. See also:
user.notification_global_get,user.notification_project_update,user.notification_group_update.
- Meta-herramienta:
gitlab_user, acciónnotification_global_update - Herramienta individual:
gitlab_notification_global_update - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
close_issue | boolean | no | Notify on issue close |
close_merge_request | boolean | no | Notify on MR close |
failed_pipeline | boolean | no | Notify on pipeline failure |
fixed_pipeline | boolean | no | Notify on pipeline fix |
issue_due | boolean | no | Notify on issue due date |
level | string (disabled, participating, watch, mention, custom) | no | Notification level: disabled, participating, watch, mention, custom |
merge_merge_request | boolean | no | Notify on MR merge |
merge_when_pipeline_succeeds | boolean | no | Notify on merge when pipeline succeeds |
moved_project | boolean | no | Notify on project move |
new_epic | boolean | no | Notify on new epic |
new_issue | boolean | no | Notify on new issue |
new_merge_request | boolean | no | Notify on new MR |
new_note | boolean | no | Notify on new note |
notification_email | string | no | Email address for notifications |
push_to_merge_request | boolean | no | Notify on push to MR |
reassign_issue | boolean | no | Notify on issue reassign |
reassign_merge_request | boolean | no | Notify on MR reassign |
reopen_issue | boolean | no | Notify on issue reopen |
reopen_merge_request | boolean | no | Notify on MR reopen |
success_pipeline | boolean | no | Notify on pipeline success |
user.notification_group_get
Sección titulada «user.notification_group_get»Get the authenticated user’s notification settings for a group. Returns: the group notification level, notification email, and per-event flags when the level is custom. See also:
user.notification_group_update,user.notification_global_get,user.notification_project_get.
- Meta-herramienta:
gitlab_user, acciónnotification_group_get - Herramienta individual:
gitlab_notification_group_get - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
group_id | string/integer | sí | Group ID or URL-encoded path |
user.notification_group_update
Sección titulada «user.notification_group_update»Update the authenticated user’s notification settings for a group. Returns: the updated group notification level, notification email, and per-event flags. See also:
user.notification_group_get,user.notification_global_update,user.notification_project_update.
- Meta-herramienta:
gitlab_user, acciónnotification_group_update - Herramienta individual:
gitlab_notification_group_update - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
group_id | string/integer | sí | Group ID or URL-encoded path |
close_issue | boolean | no | Notify on issue close |
close_merge_request | boolean | no | Notify on MR close |
failed_pipeline | boolean | no | Notify on pipeline failure |
fixed_pipeline | boolean | no | Notify on pipeline fix |
issue_due | boolean | no | Notify on issue due date |
level | string (disabled, participating, watch, global, mention, custom) | no | Notification level: disabled, participating, watch, global, mention, custom |
merge_merge_request | boolean | no | Notify on MR merge |
merge_when_pipeline_succeeds | boolean | no | Notify on merge when pipeline succeeds |
moved_project | boolean | no | Notify on project move |
new_epic | boolean | no | Notify on new epic |
new_issue | boolean | no | Notify on new issue |
new_merge_request | boolean | no | Notify on new MR |
new_note | boolean | no | Notify on new note |
notification_email | string | no | Email address for notifications |
push_to_merge_request | boolean | no | Notify on push to MR |
reassign_issue | boolean | no | Notify on issue reassign |
reassign_merge_request | boolean | no | Notify on MR reassign |
reopen_issue | boolean | no | Notify on issue reopen |
reopen_merge_request | boolean | no | Notify on MR reopen |
success_pipeline | boolean | no | Notify on pipeline success |
user.notification_project_get
Sección titulada «user.notification_project_get»Get the authenticated user’s notification settings for a project. Returns: the project notification level, notification email, and per-event flags when the level is custom. See also:
user.notification_project_update,user.notification_global_get,user.notification_group_get.
- Meta-herramienta:
gitlab_user, acciónnotification_project_get - Herramienta individual:
gitlab_notification_project_get - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
project_id | string/integer | sí | Project ID or URL-encoded path |
user.notification_project_update
Sección titulada «user.notification_project_update»Update the authenticated user’s notification settings for a project. Returns: the updated project notification level, notification email, and per-event flags. See also:
user.notification_project_get,user.notification_global_update,user.notification_group_update.
- Meta-herramienta:
gitlab_user, acciónnotification_project_update - Herramienta individual:
gitlab_notification_project_update - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
project_id | string/integer | sí | Project ID or URL-encoded path |
close_issue | boolean | no | Notify on issue close |
close_merge_request | boolean | no | Notify on MR close |
failed_pipeline | boolean | no | Notify on pipeline failure |
fixed_pipeline | boolean | no | Notify on pipeline fix |
issue_due | boolean | no | Notify on issue due date |
level | string (disabled, participating, watch, global, mention, custom) | no | Notification level: disabled, participating, watch, global, mention, custom |
merge_merge_request | boolean | no | Notify on MR merge |
merge_when_pipeline_succeeds | boolean | no | Notify on merge when pipeline succeeds |
moved_project | boolean | no | Notify on project move |
new_epic | boolean | no | Notify on new epic |
new_issue | boolean | no | Notify on new issue |
new_merge_request | boolean | no | Notify on new MR |
new_note | boolean | no | Notify on new note |
notification_email | string | no | Email address for notifications |
push_to_merge_request | boolean | no | Notify on push to MR |
reassign_issue | boolean | no | Notify on issue reassign |
reassign_merge_request | boolean | no | Notify on MR reassign |
reopen_issue | boolean | no | Notify on issue reopen |
reopen_merge_request | boolean | no | Notify on MR reopen |
success_pipeline | boolean | no | Notify on pipeline success |
user.reject
Sección titulada «user.reject»Reject a pending user sign-up. Returns: confirmation with the user ID and action. Permanently deletes the pending user. See also:
user.approve,user.get,user.list.
- Meta-herramienta:
gitlab_user, acciónreject - Herramienta individual:
gitlab_reject_user - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.revoke_impersonation_token
Sección titulada «user.revoke_impersonation_token»Revoke an impersonation token for a user by token id. Returns: a confirmation naming the user_id and token_id with the revoked flag set. See also:
user.list_impersonation_tokens,user.get_impersonation_token.
- Meta-herramienta:
gitlab_user, acciónrevoke_impersonation_token - Herramienta individual:
gitlab_revoke_impersonation_token - Nivel: Free
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
token_id | integer | sí | Impersonation token ID to revoke |
user_id | integer | sí | GitLab user ID |
user.set_status
Sección titulada «user.set_status»Set the current user’s status. Returns: the updated emoji, message, availability, and clear-status time. See also:
user.current_user_status,user.get_status.
- Meta-herramienta:
gitlab_user, acciónset_status - Herramienta individual:
gitlab_set_user_status - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
availability | string (not_set, busy) | no | User availability: not_set (clear busy state) or busy. |
clear_status_after | string (30_minutes, 3_hours, 8_hours, 1_day, 3_days, 7_days, 30_days) | no | Duration after which the status auto-clears: 30_minutes, 3_hours, 8_hours, 1_day, 3_days, 7_days, or 30_days. |
emoji | string | no | The emoji to set for the status (e.g. coffee or speech_balloon) |
message | string | no | The status message text |
user.ssh_keys
Sección titulada «user.ssh_keys»List the current user’s SSH keys. Returns: key summaries with ID, title, fingerprint, usage type, and expiry. See also:
user.get_ssh_key,user.add_ssh_key,user.delete_ssh_key.
- Meta-herramienta:
gitlab_user, acciónssh_keys - Herramienta individual:
gitlab_list_ssh_keys - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: asc or desc |
user.ssh_keys_for_user
Sección titulada «user.ssh_keys_for_user»List a specific user’s SSH keys. Returns: key summaries with ID, title, fingerprint, usage type, and expiry. See also:
user.get_ssh_key_for_user,user.add_ssh_key_for_user,user.delete_ssh_key_for_user.
- Meta-herramienta:
gitlab_user, acciónssh_keys_for_user - Herramienta individual:
gitlab_list_ssh_keys_for_user - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
order_by | string | no | Column to order keyset-paginated results by (e.g. id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: asc or desc |
user.todo_list
Sección titulada «user.todo_list»List the authenticated user’s to-do items with optional filtering and pagination. Returns: to-do items with action, target object, project, author, state, and pagination metadata. See also:
user.todo_mark_done,user.todo_mark_all_done.
- Meta-herramienta:
gitlab_user, accióntodo_list - Herramienta individual:
gitlab_todo_list - Nivel: Free
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
action | string (assigned, review_requested, mentioned, build_failed, marked, approval_required, unmergeable, directly_addressed, member_access_requested, review_submitted, ssh_key_expired, ssh_key_expiring_soon, transfer_failed, merge_train_removed, okr_checkin_requested, added_approver, duo_pro_access_granted, duo_enterprise_access_granted, duo_core_access_granted, duo_workflow_input_required) | no | Filter by action, for example assigned, mentioned, review_requested, build_failed or transfer_failed (a project or group transfer GitLab failed in the background) |
author_id | integer | no | Filter by author user ID |
group_id | integer | no | Filter by group ID |
order_by | string | no | Order results by field (e.g. id, created_at). Combine with sort. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
project_id | integer | no | Filter by project ID |
sort | string (asc, desc) | no | Sort direction: asc or desc. |
state | string (pending, done) | no | Filter by state: pending or done (default: pending) |
type | string (Commit, Issue, WorkItem, MergeRequest, DesignManagement::Design, AlertManagement::Alert, Namespace, Project, Key, WikiPage::Meta, Epic, Vulnerability, User, ComplianceManagement::Projects::ComplianceViolation, Ai::DuoWorkflows::Workflow) | no | Filter by target type, for example Issue, MergeRequest, Commit, Epic, Project or Namespace (a group) |
user.todo_mark_all_done
Sección titulada «user.todo_mark_all_done»Mark all pending to-do items as done. Returns: a confirmation that all items were cleared. See also:
user.todo_list,user.todo_mark_done.
- Meta-herramienta:
gitlab_user, accióntodo_mark_all_done - Herramienta individual:
gitlab_todo_mark_all_done - Nivel: Free
- Comportamiento: escribe, idempotente
Sin parámetros.
user.todo_mark_done
Sección titulada «user.todo_mark_done»Mark a single to-do item as done. Returns: a confirmation naming the to-do item ID. See also:
user.todo_list,user.todo_mark_all_done.
- Meta-herramienta:
gitlab_user, accióntodo_mark_done - Herramienta individual:
gitlab_todo_mark_done - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | sí | ID of the to-do item to mark as done |
user.unban
Sección titulada «user.unban»Unban a previously banned user. Returns: confirmation with the user ID and action. See also:
user.ban,user.unblock,user.get.
- Meta-herramienta:
gitlab_user, acciónunban - Herramienta individual:
gitlab_unban_user - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.unblock
Sección titulada «user.unblock»Unblock a previously blocked user. Returns: confirmation with the user ID and action. See also:
user.block,user.activate,user.get.
- Meta-herramienta:
gitlab_user, acciónunblock - Herramienta individual:
gitlab_unblock_user - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | integer | sí | The ID of the user |
user.update_service_account
Sección titulada «user.update_service_account»Update an instance-level service account. Returns: updated service account object including email and unconfirmed_email. Requires admin token. See also:
user.create_service_account,user.list_service_accounts.
- Meta-herramienta:
gitlab_user, acciónupdate_service_account - Herramienta individual:
gitlab_update_instance_service_account - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
service_account_id | integer | sí | Service account ID to update |
email | string | no | New email for the service account |
name | string | no | New name for the service account |
username | string | no | New username for the service account |
user.upload_avatar
Sección titulada «user.upload_avatar»Upload the current user’s avatar. Returns: the updated user profile including the new avatar URL. GitLab 19 responds with only avatar_url, so other profile fields (including id) may be empty. Use user.current for the full profile. Provide filename and exactly one of file_path or content_base64. See also:
user.me,user.modify.
- Meta-herramienta:
gitlab_user, acciónupload_avatar - Herramienta individual:
gitlab_upload_user_avatar - Nivel: Free
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
filename | string | sí | Avatar filename (e.g. avatar.png) |
content_base64 | string | no | Base64-encoded image content. Only one of file_path or content_base64 should be provided. |
file_path | string | no | Absolute path to a local image file on the MCP server filesystem. Alternative to content_base64 for files too large to base64-encode. Only one of file_path or content_base64 should be provided. |