Users API
- User modification
 - Delete authentication identity from user
 - User deletion
 - List current user (for normal users)
 - List current user (for admins)
 - User status
 - Get the status of a user
 - Set user status
 - User counts
 - List user projects
 - List SSH keys
 - List SSH keys for user
 - Single SSH key
 - Add SSH key
 - Add SSH key for user
 - Delete SSH key for current user
 - Delete SSH key for given user
 - List all GPG keys
 - Get a specific GPG key
 - Add a GPG key
 - Delete a GPG key
 - List all GPG keys for given user
 - Get a specific GPG key for a given user
 - Add a GPG key for a given user
 - Delete a GPG key for a given user
 - List emails
 - List emails for user
 - Single email
 - Add email
 - Add email for user
 - Delete email for current user
 - Delete email for given user
 - Block user
 - Unblock user
 - Deactivate user
 - Get an impersonation token of a user
 - Create an impersonation token
 
- User modification
 - Delete authentication identity from user
 - User deletion
 - List current user (for normal users)
 - List current user (for admins)
 - User status
 - Get the status of a user
 - Set user status
 - User counts
 - List user projects
 - List SSH keys
 - List SSH keys for user
 - Single SSH key
 - Add SSH key
 - Add SSH key for user
 - Delete SSH key for current user
 - Delete SSH key for given user
 - List all GPG keys
 - Get a specific GPG key
 - Add a GPG key
 - Delete a GPG key
 - List all GPG keys for given user
 - Get a specific GPG key for a given user
 - Add a GPG key for a given user
 - Delete a GPG key for a given user
 - List emails
 - List emails for user
 - Single email
 - Add email
 - Add email for user
 - Delete email for current user
 - Delete email for given user
 - Block user
 - Unblock user
 - Deactivate user
 - Get an impersonation token of a user
 - Create an impersonation token
 
Users API
List users
活动用户=帐户总数-被阻止的用户
获取用户列表.
此函数使用分页参数page和per_page来限制用户列表.
For normal users
GET /users 
[  {  "id":  1,  "username":  "john_smith",  "name":  "John Smith",  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",  "web_url":  "http://localhost:3000/john_smith"  },  {  "id":  2,  "username":  "jack_smith",  "name":  "Jack Smith",  "state":  "blocked",  "avatar_url":  "http://gravatar.com/../e32131cd8.jpeg",  "web_url":  "http://localhost:3000/jack_smith"  }  ] 
您还可以使用?search=通过名称或主要电子邮件搜索用户. 例如. /users?search=John .
另外,您可以按用户名查找用户:
GET /users?username=:username 
例如:
GET /users?username=jack_smith 
另外,您可以根据状态过滤用户,例如. blocked , active此选项仅用于过滤被blocked或active用户. 它不支持active=false或blocked=false .
GET /users?active=true 
GET /users?blocked=true 
注意:用户名搜索不区分大小写.
For admins
GET /users 
| Attribute | Type | Required | Description | 
|---|---|---|---|
 order_by  | 
string | no |  返回按id , name , username , created_at或updated_at字段排序的username . 默认为id  | 
 sort  | 
string | no |  返回用户按asc或desc排列. 默认为desc  | 
 two_factor  | 
string | no |  通过两因素身份验证过滤用户. enabled或disabled过滤器值. 默认情况下,它返回所有用户  | 
 without_projects  | 
boolean | no |  过滤没有项目的用户. 默认为false | 
[  {  "id":  1,  "username":  "john_smith",  "email":  "john@example.com",  "name":  "John Smith",  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/index.jpg",  "web_url":  "http://localhost:3000/john_smith",  "created_at":  "2012-05-23T08:00:58Z",  "is_admin":  false,  "bio":  null,  "bio_html":  null,  "location":  null,  "skype":  "",  "linkedin":  "",  "twitter":  "",  "website_url":  "",  "organization":  "",  "job_title":  "",  "last_sign_in_at":  "2012-06-01T11:41:01Z",  "confirmed_at":  "2012-05-23T09:05:22Z",  "theme_id":  1,  "last_activity_on":  "2012-05-23",  "color_scheme_id":  2,  "projects_limit":  100,  "current_sign_in_at":  "2012-06-02T06:36:55Z",  "note":  "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123",  "identities":  [  {"provider":  "github",  "extern_uid":  "2435223452345"},  {"provider":  "bitbucket",  "extern_uid":  "john.smith"},  {"provider":  "google_oauth2",  "extern_uid":  "8776128412476123468721346"}  ],  "can_create_group":  true,  "can_create_project":  true,  "two_factor_enabled":  true,  "external":  false,  "private_profile":  false,  "current_sign_in_ip":  "196.165.1.102",  "last_sign_in_ip":  "172.127.2.22"  },  {  "id":  2,  "username":  "jack_smith",  "email":  "jack@example.com",  "name":  "Jack Smith",  "state":  "blocked",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/2/index.jpg",  "web_url":  "http://localhost:3000/jack_smith",  "created_at":  "2012-05-23T08:01:01Z",  "is_admin":  false,  "bio":  null,  "bio_html":  null,  "location":  null,  "skype":  "",  "linkedin":  "",  "twitter":  "",  "website_url":  "",  "organization":  "",  "job_title":  "",  "last_sign_in_at":  null,  "confirmed_at":  "2012-05-30T16:53:06.148Z",  "theme_id":  1,  "last_activity_on":  "2012-05-23",  "color_scheme_id":  3,  "projects_limit":  100,  "current_sign_in_at":  "2014-03-19T17:54:13Z",  "identities":  [],  "can_create_group":  true,  "can_create_project":  true,  "two_factor_enabled":  true,  "external":  false,  "private_profile":  false,  "current_sign_in_ip":  "10.165.1.102",  "last_sign_in_ip":  "172.127.2.22"  }  ] 
使用 GitLab Starter,Bronze 或更高版本的用户还将看到shared_runners_minutes_limit和extra_shared_runners_minutes_limit参数.
[  {  "id":  1,  ...  "shared_runners_minutes_limit":  133,  "extra_shared_runners_minutes_limit":  133,  ...  }  ] 
使用 GitLab Silver 或更高版本的用户还将看到group_saml提供程序选项:
[  {  "id":  1,  ...  "identities":  [  {"provider":  "github",  "extern_uid":  "2435223452345"},  {"provider":  "bitbucket",  "extern_uid":  "john.smith"},  {"provider":  "google_oauth2",  "extern_uid":  "8776128412476123468721346"},  {"provider":  "group_saml",  "extern_uid":  "123789",  "saml_provider_id":  10}  ],  ...  }  ] 
您可以通过外部 UID 和提供程序查找用户:
GET /users?extern_uid=:extern_uid&provider=:provider 
例如:
GET /users?extern_uid=1234567&provider=github 
您可以使用/users?external=true搜索外部/users?external=true
您可以使用以下创建日期时间范围来搜索用户:
GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060 
您可以使用/users?without_projects=true搜索没有项目的/users?without_projects=true
您可以使用以下自定义属性进行过滤:
GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value 
您可以通过以下方式在响应中包括用户的自定义属性 :
GET /users?with_custom_attributes=true 
Single user
获得一个用户.
For user
GET /users/:id 
Parameters:
id(必填)-用户的 ID
{  "id":  1,  "username":  "john_smith",  "name":  "John Smith",  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",  "web_url":  "http://localhost:3000/john_smith",  "created_at":  "2012-05-23T08:00:58Z",  "bio":  null,  "bio_html":  null,  "location":  null,  "public_email":  "john@example.com",  "skype":  "",  "linkedin":  "",  "twitter":  "",  "website_url":  "",  "organization":  "",  "job_title":  "Operations Specialist"  } 
For admin
GET /users/:id 
Parameters:
id(必填)-用户的 ID
响应示例:
{  "id":  1,  "username":  "john_smith",  "email":  "john@example.com",  "name":  "John Smith",  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/index.jpg",  "web_url":  "http://localhost:3000/john_smith",  "created_at":  "2012-05-23T08:00:58Z",  "is_admin":  false,  "bio":  null,  "bio_html":  null,  "location":  null,  "public_email":  "john@example.com",  "skype":  "",  "linkedin":  "",  "twitter":  "",  "website_url":  "",  "organization":  "",  "job_title":  "Operations Specialist",  "last_sign_in_at":  "2012-06-01T11:41:01Z",  "confirmed_at":  "2012-05-23T09:05:22Z",  "theme_id":  1,  "last_activity_on":  "2012-05-23",  "color_scheme_id":  2,  "projects_limit":  100,  "current_sign_in_at":  "2012-06-02T06:36:55Z",  "note":  "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123",  "identities":  [  {"provider":  "github",  "extern_uid":  "2435223452345"},  {"provider":  "bitbucket",  "extern_uid":  "john.smith"},  {"provider":  "google_oauth2",  "extern_uid":  "8776128412476123468721346"}  ],  "can_create_group":  true,  "can_create_project":  true,  "two_factor_enabled":  true,  "external":  false,  "private_profile":  false,  "current_sign_in_ip":  "196.165.1.102",  "last_sign_in_ip":  "172.127.2.22",  "plan":  "gold",  "trial":  true  } 
注意: plan和trial参数仅在 GitLab 企业版上可用.
使用 GitLab Starter,Bronze 或更高版本的用户还将看到shared_runners_minutes_limit和extra_shared_runners_minutes_limit参数.
{  "id":  1,  "username":  "john_smith",  "shared_runners_minutes_limit":  133,  "extra_shared_runners_minutes_limit":  133,  ...  } 
GitLab.com Silver 或更高版本上的用户还将看到group_saml选项:
{  "id":  1,  "username":  "john_smith",  "shared_runners_minutes_limit":  133,  "extra_shared_runners_minutes_limit":  133,  "identities":  [  {"provider":  "github",  "extern_uid":  "2435223452345"},  {"provider":  "bitbucket",  "extern_uid":  "john.smith"},  {"provider":  "google_oauth2",  "extern_uid":  "8776128412476123468721346"},  {"provider":  "group_saml",  "extern_uid":  "123789",  "saml_provider_id":  10}  ],  ...  } 
您可以通过以下方式在响应中包括用户的自定义属性 :
GET /users/:id?with_custom_attributes=true 
User creation
Creates a new user. Note only administrators can create new users. Either password, reset_password, or force_random_password must be specified. If reset_password and force_random_password are both false, then password is required.
请注意, force_random_password和reset_password优先级高于password . 此外, reset_password和force_random_password可以一起使用.
注意:从GitLab 12.1 开始 , private_profile将默认为false .
POST /users 
Parameters:
| Attribute | Required | Description | 
|---|---|---|
 admin  | 
No | 用户是管理员-正确或错误(默认) | 
 avatar  | 
No | 用户头像的图像文件 | 
 bio  | 
No | 用户的传记 | 
 can_create_group  | 
No | 用户可以创建组-正确或错误 | 
 color_scheme_id  | 
No | 用户针对文件查看器的配色方案(有关更多信息,请参见用户首选项文档 ) | 
 email  | 
Yes | |
 extern_uid  | 
No | 外部 UID | 
 external  | 
No | 将用户标记为外部用户-true 或 false(默认) | 
 extra_shared_runners_minutes_limit  | 
No | 该用户的额外管道分钟配额(在计划中包括的分钟之外购买) | 
 force_random_password  | 
No | 将用户密码设置为随机值-正确或错误(默认) | 
 group_id_for_saml  | 
No | 已配置 SAML 的组的 ID | 
 linkedin  | 
No | |
 location  | 
No | 用户位置 | 
 name  | 
Yes | Name | 
 note  | 
No | 该用户的管理说明 | 
 organization  | 
No | 机构名称 | 
 password  | 
No | Password | 
 private_profile  | 
No | 用户的个人资料是私有的-true,false(默认)或 null(将转换为 false) | 
 projects_limit  | 
No | 用户可以创建的项目数 | 
 provider  | 
No | 外部提供商名称 | 
 public_email  | 
No | 用户的公开电子邮件 | 
 reset_password  | 
No | 发送用户密码重置链接-正确或错误(默认) | 
 shared_runners_minutes_limit  | 
No |  该用户的管道分钟配额(包括在计划中). 可以为nil (默认值;继承系统默认值), 0 (无限制)或> 0  | 
 skip_confirmation  | 
No | 跳过确认-正确或错误(默认) | 
 skype  | 
No | Skype 帐号 | 
 theme_id  | 
No | 用户的 GitLab 主题(有关更多信息,请参见用户首选项文档 ) | 
 twitter  | 
No | Twitter 账号 | 
 username  | 
Yes | Username | 
 website_url  | 
No | 网址 | 
User modification
修改现有用户. 只有管理员可以更改用户的属性.
PUT /users/:id 
Parameters:
| Attribute | Required | Description | 
|---|---|---|
 admin  | 
No | 用户是管理员-正确或错误(默认) | 
 avatar  | 
No | 用户头像的图像文件 | 
 bio  | 
No | 用户的传记 | 
 can_create_group  | 
No | 用户可以创建组-正确或错误 | 
 color_scheme_id  | 
No | 用户针对文件查看器的配色方案(有关更多信息,请参见用户首选项文档 ) | 
 email  | 
No | |
 extern_uid  | 
No | 外部 UID | 
 external  | 
No | 将用户标记为外部用户-true 或 false(默认) | 
 extra_shared_runners_minutes_limit  | 
No | 该用户的额外管道分钟配额(在计划中包括的分钟之外购买) | 
 group_id_for_saml  | 
No | 已配置 SAML 的组的 ID | 
 id  | 
Yes | 用户的 ID | 
 linkedin  | 
No | |
 location  | 
No | 用户位置 | 
 name  | 
No | Name | 
 note  | 
No | 该用户的管理说明 | 
 organization  | 
No | 机构名称 | 
 password  | 
No | Password | 
 private_profile  | 
No | 用户的个人资料是私有的-true,false(默认)或 null(将转换为 false) | 
 projects_limit  | 
No | 限制每个用户可以创建的项目 | 
 provider  | 
No | 外部提供商名称 | 
 public_email  | 
No | 用户的公开电子邮件 | 
 shared_runners_minutes_limit  | 
No |  该用户的管道分钟配额(包括在计划中). 可以为nil (默认值;继承系统默认值), 0 (无限制)或> 0  | 
 skip_reconfirmation  | 
No | 跳过确认-正确或错误(默认) | 
 skype  | 
No | Skype 帐号 | 
 theme_id  | 
No | 用户的 GitLab 主题(有关更多信息,请参见用户首选项文档 ) | 
 twitter  | 
No | Twitter 账号 | 
 username  | 
No | Username | 
 website_url  | 
No | 网址 | 
密码更新时,用户将被迫在下次登录时进行更改. 请注意,此方法目前仅返回404错误,即使在409 (冲突)更为合适的情况下也是如此. 例如,将电子邮件地址重命名为某个现有地址时.
Delete authentication identity from user
使用与该身份关联的提供者名称删除用户的身份验证身份. 仅适用于管理员.
DELETE /users/:id/identities/:provider 
Parameters:
id(必填)-用户的 IDprovider(必填)-外部提供程序名称
User deletion
删除用户. 仅适用于管理员. 如果操作成功,则返回204 No Content状态代码;如果找不到资源,则返回404如果无法软删除用户,则返回409 .
DELETE /users/:id 
Parameters:
List current user (for normal users)
获取当前经过身份验证的用户.
GET /user 
{  "id":  1,  "username":  "john_smith",  "email":  "john@example.com",  "name":  "John Smith",  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/index.jpg",  "web_url":  "http://localhost:3000/john_smith",  "created_at":  "2012-05-23T08:00:58Z",  "bio":  null,  "bio_html":  null,  "location":  null,  "public_email":  "john@example.com",  "skype":  "",  "linkedin":  "",  "twitter":  "",  "website_url":  "",  "organization":  "",  "last_sign_in_at":  "2012-06-01T11:41:01Z",  "confirmed_at":  "2012-05-23T09:05:22Z",  "theme_id":  1,  "last_activity_on":  "2012-05-23",  "color_scheme_id":  2,  "projects_limit":  100,  "current_sign_in_at":  "2012-06-02T06:36:55Z",  "identities":  [  {"provider":  "github",  "extern_uid":  "2435223452345"},  {"provider":  "bitbucket",  "extern_uid":  "john_smith"},  {"provider":  "google_oauth2",  "extern_uid":  "8776128412476123468721346"}  ],  "can_create_group":  true,  "can_create_project":  true,  "two_factor_enabled":  true,  "external":  false,  "private_profile":  false  } 
List current user (for admins)
Parameters:
sudo(可选)-在其位置进行呼叫的用户的 ID
GET /user 
{  "id":  1,  "username":  "john_smith",  "email":  "john@example.com",  "name":  "John Smith",  "state":  "active",  "avatar_url":  "http://localhost:3000/uploads/user/avatar/1/index.jpg",  "web_url":  "http://localhost:3000/john_smith",  "created_at":  "2012-05-23T08:00:58Z",  "is_admin":  false,  "bio":  null,  "bio_html":  null,  "location":  null,  "public_email":  "john@example.com",  "skype":  "",  "linkedin":  "",  "twitter":  "",  "website_url":  "",  "organization":  "",  "job_title":  "",  "last_sign_in_at":  "2012-06-01T11:41:01Z",  "confirmed_at":  "2012-05-23T09:05:22Z",  "theme_id":  1,  "last_activity_on":  "2012-05-23",  "color_scheme_id":  2,  "projects_limit":  100,  "current_sign_in_at":  "2012-06-02T06:36:55Z",  "identities":  [  {"provider":  "github",  "extern_uid":  "2435223452345"},  {"provider":  "bitbucket",  "extern_uid":  "john_smith"},  {"provider":  "google_oauth2",  "extern_uid":  "8776128412476123468721346"}  ],  "can_create_group":  true,  "can_create_project":  true,  "two_factor_enabled":  true,  "external":  false,  "private_profile":  false,  "current_sign_in_ip":  "196.165.1.102",  "last_sign_in_ip":  "172.127.2.22"  } 
User status
获取当前登录用户的状态.
GET /user/status 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user/status" 
响应示例:
{  "emoji":"coffee",  "message":"I crave coffee <img align='absmiddle' alt=':coffee:' class='emoji' src='/gitbook/gitbook-plugin-advanced-emoji/emojis/coffee.png' title=':coffee:' />",  "message_html":  "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>"  } 
Get the status of a user
获取用户的状态.
GET /users/:id_or_username/status 
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id_or_username  | 
string | yes | 用户的 ID 或用户名,以获取状态 | 
curl "https://gitlab.example.com/users/janedoe/status" 
响应示例:
{  "emoji":"coffee",  "message":"I crave coffee <img align='absmiddle' alt=':coffee:' class='emoji' src='/gitbook/gitbook-plugin-advanced-emoji/emojis/coffee.png' title=':coffee:' />",  "message_html":  "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>"  } 
Set user status
设置当前用户的状态.
PUT /user/status 
| Attribute | Type | Required | Description | 
|---|---|---|---|
 emoji  | 
string | no |  用作状态的表情符号名称. 如果省略,则使用speech_balloon . 表情符号名称可以是Gemojione 索引中指定的名称之一.  | 
 message  | 
string | no | 设置为状态的消息. 它还可以包含表情符号代码. | 
当参数emoji和message都为空时,状态将被清除.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "emoji=coffee" --data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status" 
回应范例
{  "emoji":"coffee",  "message":"I crave coffee",  "message_html":  "I crave coffee"  } 
User counts
获取当前登录用户的计数(与右上角菜单相同).
| Attribute | Type | Description | 
|---|---|---|
 merge_requests  | 
number | 合并活动的请求并分配给当前用户. | 
GET /user_counts 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user_counts" 
响应示例:
{  "merge_requests":  4  } 
List user projects
请参考用户项目列表 .
List SSH keys
获取当前经过身份验证的用户的 SSH 密钥的列表.
GET /user/keys 
[  {  "id":  1,  "title":  "Public key",  "key":  "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",  "created_at":  "2014-08-01T14:47:39.080Z"  },  {  "id":  3,  "title":  "Another Public key",  "key":  "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",  "created_at":  "2014-08-01T14:47:39.080Z"  }  ] 
Parameters:
- none
 
List SSH keys for user
获取指定用户的 SSH 密钥的列表.
GET /users/:id_or_username/keys 
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id_or_username  | 
string | yes | 要为其获取 SSH 密钥的用户的 ID 或用户名. | 
Single SSH key
获取一个密钥.
GET /user/keys/:key_id 
Parameters:
key_id(必填)key_id密钥的 ID
{  "id":  1,  "title":  "Public key",  "key":  "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",  "created_at":  "2014-08-01T14:47:39.080Z"  } 
Add SSH key
创建当前经过身份验证的用户拥有的新密钥.
POST /user/keys 
Parameters:
title(必填)-新的 SSH 密钥的标题key(必填)-新的 SSH 密钥expires_at(可选)-ISO 8601 格式的 SSH 密钥的到期日期(YYYY-MM-DDTHH:MM:SSZ)
{  "title":  "ABC",  "key":  "ssh-dss AAAAB3NzaC1kc3MAAACBAMLrhYgI3atfrSD6KDas1b/3n6R/HP+bLaHHX6oh+L1vg31mdUqK0Ac/NjZoQunavoyzqdPYhFz9zzOezCrZKjuJDS3NRK9rspvjgM0xYR4d47oNZbdZbwkI4cTv/gcMlquRy0OvpfIvJtjtaJWMwTLtM5VhRusRuUlpH99UUVeXAAAAFQCVyX+92hBEjInEKL0v13c/egDCTQAAAIEAvFdWGq0ccOPbw4f/F8LpZqvWDydAcpXHV3thwb7WkFfppvm4SZte0zds1FJ+Hr8Xzzc5zMHe6J4Nlay/rP4ewmIW7iFKNBEYb/yWa+ceLrs+TfR672TaAgO6o7iSRofEq5YLdwgrwkMmIawa21FrZ2D9SPao/IwvENzk/xcHu7YAAACAQFXQH6HQnxOrw4dqf0NqeKy1tfIPxYYUZhPJfo9O0AmBW2S36pD2l14kS89fvz6Y1g8gN/FwFnRncMzlLY/hX70FSc/3hKBSbH6C6j8hwlgFKfizav21eS358JJz93leOakJZnGb8XlWvz1UJbwCsnR2VEY8Dz90uIk1l/UqHkA= loic@call",  "expires_at":  "2016-01-21T00:00:00.000Z"  } 
将返回状态为201 Created成功的已创建密钥. 如果发生错误,则会返回400 Bad Request ,并附有一条解释该错误的消息:
{  "message":  {  "fingerprint":  [  "has already been taken"  ],  "key":  [  "has already been taken"  ]  }  } 
Add SSH key for user
创建指定用户拥有的新密钥. 仅适用于管理员
POST /users/:id/keys 
Parameters:
id(必填)-指定用户的 IDtitle(必填)-新的 SSH 密钥的标题key(必填)-新的 SSH 密钥expires_at(可选)-ISO 8601 格式的 SSH 密钥的到期日期(YYYY-MM-DDTHH:MM:SSZ)
注意:这还会添加一个审核事件,如审核实例事件中所述 .
Delete SSH key for current user
删除当前经过身份验证的用户拥有的密钥. 如果操作成功,则返回204 No Content状态代码;如果找不到资源,则返回404 .
DELETE /user/keys/:key_id 
Parameters:
key_id(必填)key_id密钥 ID
Delete SSH key for given user
删除指定用户拥有的密钥. 仅适用于管理员.
DELETE /users/:id/keys/:key_id 
Parameters:
id(必填)-指定用户的 IDkey_id(必填)key_id密钥 ID
List all GPG keys
获取当前已验证用户的 GPG 密钥的列表.
GET /user/gpg_keys 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys" 
响应示例:
[  {  "id":  1,  "key":  "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",  "created_at":  "2017-09-05T09:17:46.264Z"  }  ] 
Get a specific GPG key
获取当前已认证用户的特定 GPG 密钥.
GET /user/gpg_keys/:key_id 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 key_id  | 
integer | yes | GPG 密钥的 ID | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys/1" 
响应示例:
 {  "id":  1,  "key":  "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",  "created_at":  "2017-09-05T09:17:46.264Z"  } 
Add a GPG key
创建由当前身份验证用户拥有的新 GPG 密钥.
POST /user/gpg_keys 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
| key | string | yes | 新的 GPG 密钥 | 
curl --data "key=-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFV..."  --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys" 
响应示例:
[  {  "id":  1,  "key":  "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",  "created_at":  "2017-09-05T09:17:46.264Z"  }  ] 
Delete a GPG key
删除当前经过身份验证的用户拥有的 GPG 密钥.
DELETE /user/gpg_keys/:key_id 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 key_id  | 
integer | yes | GPG 密钥的 ID | 
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys/1" 
成功时返回204 No Content ,如果404 Not found密钥,则返回404 Not found found.
List all GPG keys for given user
获取指定用户的 GPG 密钥的列表. 仅适用于管理员.
GET /users/:id/gpg_keys 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id  | 
integer | yes | 用户的 ID | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys" 
响应示例:
[  {  "id":  1,  "key":  "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",  "created_at":  "2017-09-05T09:17:46.264Z"  }  ] 
Get a specific GPG key for a given user
获取给定用户的特定 GPG 密钥. 仅适用于管理员.
GET /users/:id/gpg_keys/:key_id 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id  | 
integer | yes | 用户的 ID | 
 key_id  | 
integer | yes | GPG 密钥的 ID | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1" 
响应示例:
 {  "id":  1,  "key":  "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",  "created_at":  "2017-09-05T09:17:46.264Z"  } 
Add a GPG key for a given user
创建指定用户拥有的新 GPG 密钥. 仅适用于管理员.
POST /users/:id/gpg_keys 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id  | 
integer | yes | 用户的 ID | 
 key_id  | 
integer | yes | GPG 密钥的 ID | 
curl --data "key=-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFV..."  --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys" 
响应示例:
[  {  "id":  1,  "key":  "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",  "created_at":  "2017-09-05T09:17:46.264Z"  }  ] 
Delete a GPG key for a given user
删除指定用户拥有的 GPG 密钥. 仅适用于管理员.
DELETE /users/:id/gpg_keys/:key_id 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id  | 
integer | yes | 用户的 ID | 
 key_id  | 
integer | yes | The ID of the GPG key | 
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1" 
List emails
获取当前经过身份验证的用户电子邮件列表.
GET /user/emails 
[  {  "id":  1,  "email":  "email@example.com"  },  {  "id":  3,  "email":  "email2@example.com"  }  ] 
Parameters:
- none
 
List emails for user
获取指定用户的电子邮件列表. 仅适用于管理员
GET /users/:id/emails 
Parameters:
id(必填)-指定用户的 ID
Single email
收到一封电子邮件.
GET /user/emails/:email_id 
Parameters:
email_id(必填)-电子邮件 ID
{  "id":  1,  "email":  "email@example.com"  } 
Add email
创建由当前身份验证用户拥有的新电子邮件.
POST /user/emails 
Parameters:
email(必填)-电子邮件地址
{  "id":  4,  "email":  "email@example.com"  } 
将返回状态为201 Created成功的已创建电子邮件. 如果发生错误,则会返回400 Bad Request ,并附有一条解释该错误的消息:
{  "message":  {  "email":  [  "has already been taken"  ]  }  } 
Add email for user
创建指定用户拥有的新电子邮件. 仅适用于管理员
POST /users/:id/emails 
Parameters:
id(必填)-指定用户的 IDemail(必填)-电子邮件地址skip_confirmation(可选)-跳过确认并假定电子邮件已通过验证skip_confirmation或 false(默认)
Delete email for current user
删除当前经过身份验证的用户拥有的电子邮件. 如果操作成功,则返回204 No Content状态代码;如果找不到资源,则返回404 .
DELETE /user/emails/:email_id 
Parameters:
email_id(必填)-电子邮件 ID
Delete email for given user
删除指定用户拥有的电子邮件. 仅适用于管理员.
DELETE /users/:id/emails/:email_id 
Parameters:
id(必填)-指定用户的 IDemail_id(必填)-电子邮件 ID
Block user
阻止指定的用户. 仅适用于管理员.
POST /users/:id/block 
Parameters:
id(必填)-指定用户的 ID
Returns:
201 OK成功成功.404 User Not Found如果404 User Not Found用户,则404 User Not Found用户.403 Forbidden尝试通过 LDAP 同步阻止已阻止的用户时禁止.
Unblock user
取消阻止指定的用户. 仅适用于管理员.
POST /users/:id/unblock 
Parameters:
id(必填)-指定用户的 ID
尝试取消阻止被 LDAP 同步阻止的用户时,成功返回201 OK ,成功返回404 User Not Found或403 Forbidden .
Deactivate user
在 GitLab 12.4 中引入 .
停用指定的用户. 仅适用于管理员.
POST /users/:id/deactivate 
Parameters:
id(必填)-指定用户的 ID
Returns:
201 OK成功成功.404 User Not Found如果404 User Not Found用户,则404 User Not Found用户.403 Forbidden尝试停用用户时被禁止:- 被管理员或 LDAP 同步阻止.
 - 在过去 180 天内没有任何活动. 这些用户无法停用.
 
Activate user
在 GitLab 12.4 中引入 .
激活指定的用户. 仅适用于管理员.
POST /users/:id/activate 
Parameters:
id(必填)-指定用户的 ID
Returns:
201 OK成功成功.404 User Not Found如果404 User Not Found用户,则404 User Not Found用户.403 Forbidden尝试激活被管理员或 LDAP 同步阻止的用户时禁止.
Get user contribution events
请参阅事件 API 文档
Get all impersonation tokens of a user
需要管理员权限.
它检索用户的每个模拟令牌. 使用分页参数page和per_page可以限制模拟令牌的列表.
GET /users/:user_id/impersonation_tokens 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 user_id  | 
integer | yes | 用户的 ID | 
 state  | 
string | no |  根据状态( all , active , inactive )过滤令牌 | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens" 
响应示例:
[  {  "active"  :  true,  "scopes"  :  [  "api"  ],  "revoked"  :  false,  "name"  :  "mytoken",  "id"  :  2,  "created_at"  :  "2017-03-17T17:18:09.283Z",  "impersonation"  :  true,  "expires_at"  :  "2017-04-04"  },  {  "active"  :  false,  "scopes"  :  [  "read_user"  ],  "revoked"  :  true,  "name"  :  "mytoken2",  "created_at"  :  "2017-03-17T17:19:28.697Z",  "id"  :  3,  "impersonation"  :  true,  "expires_at"  :  "2017-04-14"  }  ] 
Get an impersonation token of a user
需要管理员权限.
它显示了用户的模拟令牌.
GET /users/:user_id/impersonation_tokens/:impersonation_token_id 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 user_id  | 
integer | yes | 用户的 ID | 
 impersonation_token_id  | 
integer | yes | 模拟令牌的 ID | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2" 
响应示例:
{  "active"  :  true,  "scopes"  :  [  "api"  ],  "revoked"  :  false,  "name"  :  "mytoken",  "id"  :  2,  "created_at"  :  "2017-03-17T17:18:09.283Z",  "impersonation"  :  true,  "expires_at"  :  "2017-04-04"  } 
Create an impersonation token
需要管理员权限. 令牌值返回一次. 确保将其保存-您将无法再次访问它.
它创建一个新的模拟令牌. 请注意,只有管理员可以执行此操作. 您只能创建模拟令牌来模拟用户,并执行 API 调用和 Git 读写. 用户将不会在其个人资料设置页面中看到这些令牌.
POST /users/:user_id/impersonation_tokens 
| Attribute | Type | Required | Description | 
|---|---|---|---|
 user_id  | 
integer | yes | 用户的 ID | 
 name  | 
string | yes | 模拟令牌的名称 | 
 expires_at  | 
date | no |  ISO 格式( YYYY-MM-DD )的模拟令牌的到期日期  | 
 scopes  | 
array | yes |  模拟令牌作用域的数组( api , read_user ) | 
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "expires_at=2017-04-04" --data "scopes[]=api" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens" 
响应示例:
{  "id"  :  2,  "revoked"  :  false,  "scopes"  :  [  "api"  ],  "token"  :  "EsMo-vhKfXGwX9RKrwiy",  "active"  :  true,  "impersonation"  :  true,  "name"  :  "mytoken",  "created_at"  :  "2017-03-17T17:18:09.283Z",  "expires_at"  :  "2017-04-04"  } 
Revoke an impersonation token
需要管理员权限.
它撤销模拟令牌.
DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id 
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1" 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 user_id  | 
integer | yes | 用户的 ID | 
 impersonation_token_id  | 
integer | yes | 模拟令牌的 ID | 
Get user activities (admin only)
注意:此 API 端点仅在 8.15(EE)和 9.1(CE)及更高版本上可用.
获取所有用户的上次活动日期,从最旧到最新.
更新时间戳记的活动是:
- Git HTTP / SSH 活动(例如克隆,推送)
 - 用户登录 GitLab
 - 与仪表板,项目,问题和合并请求相关的用户访问页面(在 GitLab 11.8 中引入 )
 - 用户使用 API
 - 用户使用 GraphQL API
 
默认情况下,它显示最近 6 个月内所有用户的活动,但是可以使用from参数进行修改.
GET /user/activities 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 from  | 
string | no |  日期字符串,格式为 YEAR-MONTH-DAY. 例如, 2016-03-11 . 默认为 6 个月前. | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/activities" 
响应示例:
[  {  "username":  "user1",  "last_activity_on":  "2015-12-14",  "last_activity_at":  "2015-12-14"  },  {  "username":  "user2",  "last_activity_on":  "2015-12-15",  "last_activity_at":  "2015-12-15"  },  {  "username":  "user3",  "last_activity_on":  "2015-12-16",  "last_activity_at":  "2015-12-16"  }  ] 
请注意, last_activity_at已过时,请使用last_activity_on .
User memberships (admin only)
在 GitLab 12.8 中引入 .
列出用户所属的所有项目和组. 该端点仅适用于管理员. 它返回成员资格的source_id , source_name , source_type和access_level . 源可以是Namespace (代表一个组)或Project . 响应仅代表直接成员身份. 不包括继承的成员资格,例如在子组中. 访问级别由整数值表示. 有关更多详细信息,请阅读有关访问级别值的含义.
GET /users/:id/memberships 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id  | 
integer | yes | 指定用户的 ID | 
 type  | 
string | no |  按类型过滤成员资格. 可以是Project或Namespace | 
Returns:
200 OK成功.404 User Not Foundif user can’t be found.403 Forbidden管理员未要求时禁止.- 不支持请求的类型时出现
400 Bad Request. 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/:user_id/memberships" 
响应示例:
[  {  "source_id":  1,  "source_name":  "Project one",  "source_type":  "Project",  "access_level":  "20"  },  {  "source_id":  3,  "source_name":  "Group three",  "source_type":  "Namespace",  "access_level":  "20"  },  ]