users.md 39,0 КБ
Newer Older
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
1
# Users API
Marin Jankovski's avatar
Marin Jankovski включено в состав коммита
2

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
3
4
## List users

Michael Leopard's avatar
Michael Leopard включено в состав коммита
5
6
Active users = Total accounts - Blocked users

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
7
Get a list of users.
Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
8

Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
9
This function takes pagination parameters `page` and `per_page` to restrict the list of users.
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
10

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
11
### For normal users
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
12
13
14
15
16
17
18
19
20
21
22
23
24

```
GET /users
```

```json
[
  {
    "id": 1,
    "username": "john_smith",
    "name": "John Smith",
    "state": "active",
    "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
25
    "web_url": "http://localhost:3000/john_smith"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
26
27
28
29
30
31
32
  },
  {
    "id": 2,
    "username": "jack_smith",
    "name": "Jack Smith",
    "state": "blocked",
    "avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
33
    "web_url": "http://localhost:3000/jack_smith"
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
34
35
36
37
  }
]
```

Cynthia Ng's avatar
Cynthia Ng включено в состав коммита
38
You can also search for users by name or primary email using `?search=`. For example. `/users?search=John`.
Daniel Fernau's avatar
Daniel Fernau включено в состав коммита
39
40
41
42
43
44
45
46
47
48
49
50
51

In addition, you can lookup users by username:

```
GET /users?username=:username
```

For example:

```
GET /users?username=jack_smith
```

Yatish Mehta's avatar
Yatish Mehta включено в состав коммита
52
53
54
55
56
57
58
59
60
61
62
63
In addition, you can filter users based on states eg. `blocked`, `active`
This works only to filter users who are `blocked` or `active`.
It does not support `active=false` or `blocked=false`.

```
GET /users?active=true
```

```
GET /users?blocked=true
```

William George's avatar
William George включено в состав коммита
64
65
66
NOTE: **Note:**
Username search is case insensitive.

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
67
### For admins
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
68

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
69
70
71
72
```
GET /users
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
73
74
75
76
77
| Attribute    | Type   | Required | Description |
| ------------ | ------ | -------- | ----------- |
| `order_by`   | string | no       | Return users ordered by `id`, `name`, `username`, `created_at`, or `updated_at` fields. Default is `id` |
| `sort`       | string | no       | Return users sorted in `asc` or `desc` order. Default is `desc` |
| `two_factor` | string | no       | Filter users by Two-factor authentication. Filter values are `enabled` or `disabled`. By default it returns all users |
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
78

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
79
80
81
82
```json
[
  {
    "id": 1,
Cyril's avatar
Cyril включено в состав коммита
83
    "username": "john_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
84
85
    "email": "john@example.com",
    "name": "John Smith",
Drew Blessing's avatar
Drew Blessing включено в состав коммита
86
    "state": "active",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
87
    "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
88
    "web_url": "http://localhost:3000/john_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
89
    "created_at": "2012-05-23T08:00:58Z",
Mike Ricketts's avatar
Mike Ricketts включено в состав коммита
90
    "is_admin": false,
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
91
    "bio": null,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
92
    "location": null,
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
93
94
95
    "skype": "",
    "linkedin": "",
    "twitter": "",
Jerome Dalbert's avatar
Jerome Dalbert включено в состав коммита
96
    "website_url": "",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
97
    "organization": "",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
98
99
    "last_sign_in_at": "2012-06-01T11:41:01Z",
    "confirmed_at": "2012-05-23T09:05:22Z",
Annabel Dunstone Gray's avatar
Annabel Dunstone Gray включено в состав коммита
100
    "theme_id": 1,
Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
101
    "last_activity_on": "2012-05-23",
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
102
    "color_scheme_id": 2,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
103
104
105
106
107
108
109
    "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"}
    ],
Sven Selberg's avatar
Sven Selberg включено в состав коммита
110
    "can_create_group": true,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
111
112
    "can_create_project": true,
    "two_factor_enabled": true,
JX Terry's avatar
JX Terry включено в состав коммита
113
114
    "external": false,
    "private_profile": false
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
115
116
117
  },
  {
    "id": 2,
Cyril's avatar
Cyril включено в состав коммита
118
    "username": "jack_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
119
120
    "email": "jack@example.com",
    "name": "Jack Smith",
Drew Blessing's avatar
Drew Blessing включено в состав коммита
121
    "state": "blocked",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
122
    "avatar_url": "http://localhost:3000/uploads/user/avatar/2/index.jpg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
123
    "web_url": "http://localhost:3000/jack_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
124
    "created_at": "2012-05-23T08:01:01Z",
Mike Ricketts's avatar
Mike Ricketts включено в состав коммита
125
    "is_admin": false,
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
126
    "bio": null,
Robert Schilling's avatar
Robert Schilling включено в состав коммита
127
    "location": null,
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
128
129
130
    "skype": "",
    "linkedin": "",
    "twitter": "",
Jerome Dalbert's avatar
Jerome Dalbert включено в состав коммита
131
    "website_url": "",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
132
    "organization": "",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
133
134
    "last_sign_in_at": null,
    "confirmed_at": "2012-05-30T16:53:06.148Z",
Annabel Dunstone Gray's avatar
Annabel Dunstone Gray включено в состав коммита
135
    "theme_id": 1,
Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
136
    "last_activity_on": "2012-05-23",
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
137
    "color_scheme_id": 3,
Sven Selberg's avatar
Sven Selberg включено в состав коммита
138
    "projects_limit": 100,
Stan Hu's avatar
Stan Hu включено в состав коммита
139
    "current_sign_in_at": "2014-03-19T17:54:13Z",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
140
141
142
143
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": true,
JX Terry's avatar
JX Terry включено в состав коммита
144
    "external": false,
Thiago Presa's avatar
Thiago Presa включено в состав коммита
145
    "private_profile": false
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
146
147
148
149
  }
]
```

manojmj's avatar
manojmj включено в состав коммита
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see the `shared_runners_minutes_limit`, `extra_shared_runners_minutes_limit`, and `note` parameters.

```json
[
  {
    "id": 1,
    ...
    "shared_runners_minutes_limit": 133,
    "extra_shared_runners_minutes_limit": 133,
    "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123"
    ...
  }
]
```

Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Users on GitLab [Silver or higher](https://about.gitlab.com/pricing/) will also see
the `group_saml` provider option:

```json
[
  {
    "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}
    ],
    ...
  }
]
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
182
```
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
183

Daniel Fernau's avatar
Daniel Fernau включено в состав коммита
184
You can lookup users by external UID and provider:
Robin Bobbitt's avatar
Robin Bobbitt включено в состав коммита
185
186
187
188
189
190
191
192
193
194
195

```
GET /users?extern_uid=:extern_uid&provider=:provider
```

For example:

```
GET /users?extern_uid=1234567&provider=github
```

Yatish Mehta's avatar
Yatish Mehta включено в состав коммита
196
197
You can search for users who are external with: `/users?external=true`

James Lopez's avatar
James Lopez включено в состав коммита
198
199
200
201
202
203
You can search users by creation date time range with:

```
GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060
```

Markus Koller's avatar
Markus Koller включено в состав коммита
204
205
206
207
208
209
You can filter by [custom attributes](custom_attributes.md) with:

```
GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value
```

Markus Koller's avatar
Markus Koller включено в состав коммита
210
211
212
213
214
215
You can include the users' [custom attributes](custom_attributes.md) in the response with:

```
GET /users?with_custom_attributes=true
```

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
216
217
218
219
## Single user

Get a single user.

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
220
### For user
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236

```
GET /users/:id
```

Parameters:

- `id` (required) - The ID of a user

```json
{
  "id": 1,
  "username": "john_smith",
  "name": "John Smith",
  "state": "active",
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
237
  "web_url": "http://localhost:3000/john_smith",
Michi302's avatar
Michi302 включено в состав коммита
238
239
  "created_at": "2012-05-23T08:00:58Z",
  "bio": null,
Robert Schilling's avatar
Robert Schilling включено в состав коммита
240
  "location": null,
Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
241
  "public_email": "john@example.com",
Michi302's avatar
Michi302 включено в состав коммита
242
243
244
  "skype": "",
  "linkedin": "",
  "twitter": "",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
245
246
  "website_url": "",
  "organization": ""
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
247
248
249
}
```

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
250
### For admin
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
251

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
252
253
254
255
256
257
```
GET /users/:id
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
258
- `id` (required) - The ID of a user
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
259

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
260
261
Example Responses:

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
262
263
264
```json
{
  "id": 1,
Cyril's avatar
Cyril включено в состав коммита
265
  "username": "john_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
266
267
  "email": "john@example.com",
  "name": "John Smith",
Drew Blessing's avatar
Drew Blessing включено в состав коммита
268
  "state": "active",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
269
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
270
  "web_url": "http://localhost:3000/john_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
271
  "created_at": "2012-05-23T08:00:58Z",
Mike Ricketts's avatar
Mike Ricketts включено в состав коммита
272
  "is_admin": false,
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
273
  "bio": null,
Robert Schilling's avatar
Robert Schilling включено в состав коммита
274
  "location": null,
Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
275
  "public_email": "john@example.com",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
276
277
278
  "skype": "",
  "linkedin": "",
  "twitter": "",
Jerome Dalbert's avatar
Jerome Dalbert включено в состав коммита
279
  "website_url": "",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
280
  "organization": "",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
281
282
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
Annabel Dunstone Gray's avatar
Annabel Dunstone Gray включено в состав коммита
283
  "theme_id": 1,
Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
284
  "last_activity_on": "2012-05-23",
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
285
  "color_scheme_id": 2,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
286
287
288
289
290
291
292
  "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"}
  ],
Marin Jankovski's avatar
Marin Jankovski включено в состав коммита
293
  "can_create_group": true,
Liam Monahan's avatar
Liam Monahan включено в состав коммита
294
  "can_create_project": true,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
295
  "two_factor_enabled": true,
JX Terry's avatar
JX Terry включено в состав коммита
296
  "external": false,
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
297
  "private_profile": false
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
298
299
300
}
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
301
Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see
manojmj's avatar
manojmj включено в состав коммита
302
the `shared_runners_minutes_limit`, `extra_shared_runners_minutes_limit`, and `note` parameters.
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
303
304
305
306
307
308

```json
{
  "id": 1,
  "username": "john_smith",
  "shared_runners_minutes_limit": 133,
manojmj's avatar
manojmj включено в состав коммита
309
310
  "extra_shared_runners_minutes_limit": 133,
  "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123"
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
311
312
313
314
315
316
  ...
}
```

Users on GitLab.com [Silver, or higher](https://about.gitlab.com/pricing/) will also
see the `group_saml` option:
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
317
318
319
320
321
322

```json
{
  "id": 1,
  "username": "john_smith",
  "shared_runners_minutes_limit": 133,
manojmj's avatar
manojmj включено в состав коммита
323
324
  "extra_shared_runners_minutes_limit": 133,
  "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123"
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
325
326
327
328
329
330
  "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}
  ],
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
331
332
333
334
  ...
}
```

Markus Koller's avatar
Markus Koller включено в состав коммита
335
336
337
338
339
340
You can include the user's [custom attributes](custom_attributes.md) in the response with:

```
GET /users/:id?with_custom_attributes=true
```

Valeriy Sizov's avatar
Valeriy Sizov включено в состав коммита
341
## User creation
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
342

Stan Hu's avatar
Stan Hu включено в состав коммита
343
344
345
346
347
348
349
350
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.

Note that `force_random_password` and `reset_password` take priority
over `password`. In addition, `reset_password` and
`force_random_password` can be used together.
Valeriy Sizov's avatar
Valeriy Sizov включено в состав коммита
351

Adam Hegyi's avatar
Adam Hegyi включено в состав коммита
352
353
354
NOTE: **Note:**
From [GitLab 12.1](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/29888/), `private_profile` will default to `false`.

Valeriy Sizov's avatar
Valeriy Sizov включено в состав коммита
355
356
357
358
359
360
```
POST /users
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
- `email` (required)             - Email
- `password` (optional)          - Password
- `reset_password` (optional)    - Send user password reset link - true or false(default)
- `username` (required)          - Username
- `name` (required)              - Name
- `skype` (optional)             - Skype ID
- `linkedin` (optional)          - LinkedIn
- `twitter` (optional)           - Twitter account
- `website_url` (optional)       - Website URL
- `organization` (optional)      - Organization name
- `projects_limit` (optional)    - Number of projects user can create
- `extern_uid` (optional)        - External UID
- `provider` (optional)          - External provider name
- `bio` (optional)               - User's biography
- `location` (optional)          - User's location
- `public_email` (optional)      - The public email of the user
- `admin` (optional)             - User is admin - true or false (default)
- `can_create_group` (optional)  - User can create groups - true or false
- `skip_confirmation` (optional) - Skip confirmation - true or false (default)
Adam Hegyi's avatar
Adam Hegyi включено в состав коммита
380
- `external` (optional)          - Flags the user as external - true or false (default)
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
381
- `avatar` (optional)            - Image file for user's avatar
Adam Hegyi's avatar
Adam Hegyi включено в состав коммита
382
- `private_profile` (optional)   - User's profile is private - true or false (default)
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
383
384
- `shared_runners_minutes_limit` (optional)       - Pipeline minutes quota for this user **(STARTER)**
- `extra_shared_runners_minutes_limit` (optional) - Extra pipeline minutes quota for this user **(STARTER)**
Valeriy Sizov's avatar
Valeriy Sizov включено в состав коммита
385

Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
386
## User modification
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
387
388

Modifies an existing user. Only administrators can change attributes of a user.
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
389
390
391
392
393
394

```
PUT /users/:id
```

Parameters:
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
395

Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
396
397
398
399
400
401
402
403
404
405
406
407
- `email`                          - Email
- `username`                       - Username
- `name`                           - Name
- `password`                       - Password
- `skype`                          - Skype ID
- `linkedin`                       - LinkedIn
- `twitter`                        - Twitter account
- `website_url`                    - Website URL
- `organization`                   - Organization name
- `projects_limit`                 - Limit projects each user can create
- `extern_uid`                     - External UID
- `provider`                       - External provider name
Michael Leopard's avatar
Michael Leopard включено в состав коммита
408
- `group_id_for_saml` (optional)   - ID of group where SAML has been configured
Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
409
410
411
412
413
- `bio`                            - User's biography
- `location` (optional)            - User's location
- `public_email` (optional)        - The public email of the user
- `admin` (optional)               - User is admin - true or false (default)
- `can_create_group` (optional)    - User can create groups - true or false
Daniel Juarez's avatar
Daniel Juarez включено в состав коммита
414
- `skip_reconfirmation` (optional) - Skip reconfirmation - true or false (default)
Adam Hegyi's avatar
Adam Hegyi включено в состав коммита
415
- `external` (optional)            - Flags the user as external - true or false (default)
Michael Leopard's avatar
Michael Leopard включено в состав коммита
416
417
- `shared_runners_minutes_limit` (optional) - Pipeline minutes quota for this user
- `extra_shared_runners_minutes_limit` (optional) - Extra pipeline minutes quota for this user
Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
418
- `avatar` (optional)              - Image file for user's avatar
Adam Hegyi's avatar
Adam Hegyi включено в состав коммита
419
- `private_profile` (optional)     - User's profile is private - true or false (default)
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
420
421
- `shared_runners_minutes_limit` (optional)       - Pipeline minutes quota for this user **(STARTER)**
- `extra_shared_runners_minutes_limit` (optional) - Extra pipeline minutes quota for this user **(STARTER)**
manojmj's avatar
manojmj включено в состав коммита
422
- `note` (optional) - Admin notes for this user **(STARTER)**
Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
423

George Andrinopoulos's avatar
George Andrinopoulos включено в состав коммита
424
On password update, user will be forced to change it upon next login.
Luis Alonso Chavez Armendariz's avatar
Luis Alonso Chavez Armendariz включено в состав коммита
425
426
Note, at the moment this method does only return a `404` error,
even in cases where a `409` (Conflict) would be more appropriate,
Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
427
e.g. when renaming the email address to some existing one.
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
428
429

## User deletion
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
430

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
431
Deletes a user. Available only for administrators.
Robert Schilling's avatar
Robert Schilling включено в состав коммита
432
This returns a `204 No Content` status code if the operation was successfully or `404` if the resource was not found.
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
433
434
435
436
437

```
DELETE /users/:id
```

Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
438
439
Parameters:

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
440
- `id` (required) - The ID of the user
Nick Thomas's avatar
Nick Thomas включено в состав коммита
441
442
443
- `hard_delete` (optional) - If true, contributions that would usually be
  [moved to the ghost user](../user/profile/account/delete_account.md#associated-records)
  will be deleted instead, as well as groups owned solely by this user.
Boyan Tabakov's avatar
Boyan Tabakov включено в состав коммита
444

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
445
## List current user (for normal users)
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
446

Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
447
Gets currently authenticated user.
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
448
449
450
451
452
453
454
455

```
GET /user
```

```json
{
  "id": 1,
Cyril's avatar
Cyril включено в состав коммита
456
  "username": "john_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
457
458
  "email": "john@example.com",
  "name": "John Smith",
Drew Blessing's avatar
Drew Blessing включено в состав коммита
459
  "state": "active",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
460
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
461
  "web_url": "http://localhost:3000/john_smith",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
462
463
  "created_at": "2012-05-23T08:00:58Z",
  "bio": null,
Robert Schilling's avatar
Robert Schilling включено в состав коммита
464
  "location": null,
Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
465
  "public_email": "john@example.com",
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
466
467
468
  "skype": "",
  "linkedin": "",
  "twitter": "",
Jerome Dalbert's avatar
Jerome Dalbert включено в состав коммита
469
  "website_url": "",
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets включено в состав коммита
470
  "organization": "",
Fabio Huser's avatar
Fabio Huser включено в состав коммита
471
472
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
Annabel Dunstone Gray's avatar
Annabel Dunstone Gray включено в состав коммита
473
  "theme_id": 1,
Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
474
  "last_activity_on": "2012-05-23",
Johannes Schleifenbaum's avatar
Johannes Schleifenbaum включено в состав коммита
475
  "color_scheme_id": 2,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
476
477
478
479
480
481
482
  "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"}
  ],
Johannes Schleifenbaum's avatar
Johannes Schleifenbaum включено в состав коммита
483
  "can_create_group": true,
Liam Monahan's avatar
Liam Monahan включено в состав коммита
484
  "can_create_project": true,
Fabio Huser's avatar
Fabio Huser включено в состав коммита
485
  "two_factor_enabled": true,
JX Terry's avatar
JX Terry включено в состав коммита
486
487
  "external": false,
  "private_profile": false
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
488
489
}
```
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
490

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
491
## List current user (for admins)
tiagonbotelho's avatar
tiagonbotelho включено в состав коммита
492
493
494

Parameters:

Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
495
- `sudo` (optional) - the ID of a user to make the call in their place
tiagonbotelho's avatar
tiagonbotelho включено в состав коммита
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513

```
GET /user
```

```json
{
  "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,
  "location": null,
Alexis Reigel's avatar
Alexis Reigel включено в состав коммита
514
  "public_email": "john@example.com",
tiagonbotelho's avatar
tiagonbotelho включено в состав коммита
515
516
517
518
519
520
521
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
Annabel Dunstone Gray's avatar
Annabel Dunstone Gray включено в состав коммита
522
  "theme_id": 1,
Rémy Coutable's avatar
Rémy Coutable включено в состав коммита
523
  "last_activity_on": "2012-05-23",
tiagonbotelho's avatar
tiagonbotelho включено в состав коммита
524
525
526
527
528
529
530
531
532
533
534
  "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,
JX Terry's avatar
JX Terry включено в состав коммита
535
536
  "external": false,
  "private_profile": false
tiagonbotelho's avatar
tiagonbotelho включено в состав коммита
537
538
539
}
```

Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
540
541
542
543
544
545
546
547
## User status

Get the status of the currently signed in user.

```
GET /user/status
```

Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
548
```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
549
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user/status"
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
550
551
552
553
```

Example response:

Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
554
555
556
```json
{
  "emoji":"coffee",
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
557
558
  "message":"I crave coffee :coffee:",
  "message_html": "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>"
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
559
560
561
562
563
564
565
566
567
568
569
}
```

## Get the status of a user

Get the status of a user.

```
GET /users/:id_or_username/status
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
570
571
572
| Attribute        | Type   | Required | Description |
| ---------------- | ------ | -------- | ----------- |
| `id_or_username` | string | yes      | The id or username of the user to get a status of |
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
573
574
575
576
577
578
579

```bash
curl "https://gitlab.example.com/users/janedoe/status"
```

Example response:

Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
580
581
582
```json
{
  "emoji":"coffee",
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
583
584
  "message":"I crave coffee :coffee:",
  "message_html": "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>"
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
585
586
587
588
589
590
591
592
593
594
595
}
```

## Set user status

Set the status of the current user.

```
PUT /user/status
```

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
596
597
| Attribute | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
598
| `emoji`   | string | no     | The name of the emoji to use as status, if omitted `speech_balloon` is used. Emoji name can be one of the specified names in the [Gemojione index][gemojione-index]. |
Winnie Hellmann's avatar
Winnie Hellmann включено в состав коммита
599
| `message` | string | no     | The message to set as a status. It can also contain emoji codes. |
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
600

Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
601
602
603
When both parameters `emoji` and `message` are empty, the status will be cleared.

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
604
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
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
605
606
607
608
609
610
611
612
613
614
615
```

Example responses

```json
{
  "emoji":"coffee",
  "message":"I crave coffee",
  "message_html": "I crave coffee"
}
```
Bob Van Landuyt's avatar
Bob Van Landuyt включено в состав коммита
616

Tim Zallmann's avatar
Tim Zallmann включено в состав коммита
617
618
## User counts

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
619
Get the counts (same as in top right menu) of the currently signed in user.
Tim Zallmann's avatar
Tim Zallmann включено в состав коммита
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640

| Attribute | Type | Description |
| --------- | ---- | ----------- |
| `merge_requests`   | number | Merge requests that are active and assigned to current user. |

```
GET /user_counts
```

```bash
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user_counts"
```

Example response:

```json
{
  "merge_requests": 4
}
```

Onuwa Nnachi Isaac's avatar
Onuwa Nnachi Isaac включено в состав коммита
641
642
## List user projects

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
643
Please refer to the [List of user projects](projects.md#list-user-projects).
Onuwa Nnachi Isaac's avatar
Onuwa Nnachi Isaac включено в состав коммита
644

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
645
646
647
648
649
650
651
652
653
654
655
656
## List SSH keys

Get a list of currently authenticated user's SSH keys.

```
GET /user/keys
```

```json
[
  {
    "id": 1,
Johannes Schleifenbaum's avatar
Johannes Schleifenbaum включено в состав коммита
657
    "title": "Public key",
Daniel Serodio's avatar
Daniel Serodio включено в состав коммита
658
659
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
    "created_at": "2014-08-01T14:47:39.080Z"
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
660
661
662
  },
  {
    "id": 3,
Johannes Schleifenbaum's avatar
Johannes Schleifenbaum включено в состав коммита
663
    "title": "Another Public key",
Daniel Serodio's avatar
Daniel Serodio включено в состав коммита
664
665
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
    "created_at": "2014-08-01T14:47:39.080Z"
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
666
667
668
669
  }
]
```

Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
670
671
Parameters:

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
672
- **none**
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
673

Timm Friebe's avatar
Timm Friebe включено в состав коммита
674
675
## List SSH keys for user

Ronald Claveau's avatar
Ronald Claveau включено в состав коммита
676
Get a list of a specified user's SSH keys.
Timm Friebe's avatar
Timm Friebe включено в состав коммита
677
678

```
Robert Schilling's avatar
Robert Schilling включено в состав коммита
679
GET /users/:id/keys
Timm Friebe's avatar
Timm Friebe включено в состав коммита
680
681
682
683
```

Parameters:

Robert Schilling's avatar
Robert Schilling включено в состав коммита
684
- `id` (required) - id of specified user
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
685

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
686
687
688
689
690
## Single SSH key

Get a single key.

```
Robert Schilling's avatar
Robert Schilling включено в состав коммита
691
GET /user/keys/:key_id
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
692
693
694
695
```

Parameters:

Robert Schilling's avatar
Robert Schilling включено в состав коммита
696
- `key_id` (required) - The ID of an SSH key
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
697
698
699
700

```json
{
  "id": 1,
Johannes Schleifenbaum's avatar
Johannes Schleifenbaum включено в состав коммита
701
  "title": "Public key",
Daniel Serodio's avatar
Daniel Serodio включено в состав коммита
702
703
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2014-08-01T14:47:39.080Z"
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
704
705
}
```
Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
706

Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
707
708
## Add SSH key

Sebastian Ziebell's avatar
Sebastian Ziebell включено в состав коммита
709
Creates a new key owned by the currently authenticated user.
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
710
711
712
713
714
715
716

```
POST /user/keys
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
717
- `title` (required) - new SSH Key's title
Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
718
- `key` (required)   - new SSH key
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
719

Loic Dachary's avatar
Loic Dachary включено в состав коммита
720
721
722
723
724
725
726
727
728
```json
{
  "created_at": "2015-01-21T17:44:33.512Z",
  "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",
  "title": "ABC",
  "id": 4
}
```

Loic Dachary's avatar
Loic Dachary включено в состав коммита
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
Will return created key with status `201 Created` on success. If an
error occurs a `400 Bad Request` is returned with a message explaining the error:

```json
{
  "message": {
    "fingerprint": [
      "has already been taken"
    ],
    "key": [
      "has already been taken"
    ]
  }
}
```

Angus MacArthur's avatar
Angus MacArthur включено в состав коммита
745
746
747
748
749
750
751
752
753
754
## Add SSH key for user

Create new key owned by specified user. Available only for admin

```
POST /users/:id/keys
```

Parameters:

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
755
- `id` (required)    - id of specified user
Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
756
- `title` (required) - new SSH Key's title
Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
757
- `key` (required)   - new SSH key
Angus MacArthur's avatar
Angus MacArthur включено в состав коммита
758

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
759
## Delete SSH key for current user
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
760

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
761
Deletes key owned by currently authenticated user.
Robert Schilling's avatar
Robert Schilling включено в состав коммита
762
This returns a `204 No Content` status code if the operation was successfully or `404` if the resource was not found.
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
763
764

```
Robert Schilling's avatar
Robert Schilling включено в состав коммита
765
DELETE /user/keys/:key_id
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
766
767
768
769
```

Parameters:

Robert Schilling's avatar
Robert Schilling включено в состав коммита
770
- `key_id` (required) - SSH key ID
Nihad Abbasov's avatar
Nihad Abbasov включено в состав коммита
771

Ciro Santilli's avatar
Ciro Santilli включено в состав коммита
772
## Delete SSH key for given user
Timm Friebe's avatar
Timm Friebe включено в состав коммита
773
774
775
776

Deletes key owned by a specified user. Available only for admin.

```
Robert Schilling's avatar
Robert Schilling включено в состав коммита
777
DELETE /users/:id/keys/:key_id
Timm Friebe's avatar
Timm Friebe включено в состав коммита
778
779
780
781
```

Parameters:

Robert Schilling's avatar
Robert Schilling включено в состав коммита
782
783
- `id` (required) - id of specified user
- `key_id` (required)  - SSH key ID
Timm Friebe's avatar
Timm Friebe включено в состав коммита
784

Robert Schilling's avatar
Robert Schilling включено в состав коммита
785
786
787
788
789
790
791
792
793
## List all GPG keys

Get a list of currently authenticated user's GPG keys.

```
GET /user/gpg_keys
```

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
794
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/user/gpg_keys
Robert Schilling's avatar
Robert Schilling включено в состав коммита
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
```

Example response:

```json
[
    {
        "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

Get a specific GPG key of currently authenticated user.

```
GET /user/gpg_keys/:key_id
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
819
820
821
| Attribute | Type    | Required | Description |
| --------- | ------- | -------- | ----------- |
| `key_id`  | integer | yes      | The ID of the GPG key |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
822
823

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
824
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/user/gpg_keys/1
Robert Schilling's avatar
Robert Schilling включено в состав коммита
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
```

Example response:

```json
  {
      "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

Creates a new GPG key owned by the currently authenticated user.

```
POST /user/gpg_keys
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
847
848
849
| Attribute | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
| key       | string | yes      | The new GPG key |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
850
851

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
852
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
Robert Schilling's avatar
Robert Schilling включено в состав коммита
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
```

Example response:

```json
[
    {
        "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

Delete a GPG key owned by currently authenticated user.

```
DELETE /user/gpg_keys/:key_id
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
877
878
879
| Attribute | Type    | Required | Description |
| --------- | ------- | -------- | ----------- |
| `key_id`  | integer | yes      | The ID of the GPG key |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
880
881

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
882
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/user/gpg_keys/1
Robert Schilling's avatar
Robert Schilling включено в состав коммита
883
884
885
886
887
888
889
890
891
892
893
894
895
896
```

Returns `204 No Content` on success, or `404 Not found` if the key cannot be found.

## List all GPG keys for given user

Get a list of a specified user's GPG keys. Available only for admins.

```
GET /users/:id/gpg_keys
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
897
898
899
| Attribute | Type    | Required | Description |
| --------- | ------- | -------- | ----------- |
| `id`      | integer | yes      | The ID of the user |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
900
901

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
902
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/users/2/gpg_keys
Robert Schilling's avatar
Robert Schilling включено в состав коммита
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
```

Example response:

```json
[
    {
        "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

Get a specific GPG key for a given user. Available only for admins.

```
GET /users/:id/gpg_keys/:key_id
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
927
928
929
930
| Attribute | Type    | Required | Description |
| --------- | ------- | -------- | ----------- |
| `id`      | integer | yes      | The ID of the user |
| `key_id`  | integer | yes      | The ID of the GPG key |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
931
932

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
933
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/users/2/gpg_keys/1
Robert Schilling's avatar
Robert Schilling включено в состав коммита
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
```

Example response:

```json
  {
      "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

Create new GPG key owned by the specified user. Available only for admins.

```
POST /users/:id/gpg_keys
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
956
957
958
959
| Attribute | Type    | Required | Description |
| --------- | ------- | -------- | ----------- |
| `id`      | integer | yes      | The ID of the user |
| `key_id`  | integer | yes      | The ID of the GPG key |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
960
961

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
962
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
Robert Schilling's avatar
Robert Schilling включено в состав коммита
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
```

Example response:

```json
[
    {
        "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

Delete a GPG key owned by a specified user. Available only for admins.

```
DELETE /users/:id/gpg_keys/:key_id
```

Parameters:

Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
987
988
989
990
| Attribute | Type    | Required | Description |
| --------- | ------- | -------- | ----------- |
| `id`      | integer | yes      | The ID of the user |
| `key_id`  | integer | yes      | The ID of the GPG key |
Robert Schilling's avatar
Robert Schilling включено в состав коммита
991
992

```bash
Achilleas Pipinellis's avatar
Achilleas Pipinellis включено в состав коммита
993
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/users/2/gpg_keys/1
Robert Schilling's avatar
Robert Schilling включено в состав коммита
994
995
```

Douwe Maan's avatar
Douwe Maan включено в состав коммита
996
997
998
999
1000
## List emails

Get a list of currently authenticated user's emails.

```
Для ускорения просмотра не вся история отображается Просмотреть всю вину