@@ -221,12 +220,12 @@ The token is valid as long as the job is running.
...
@@ -221,12 +220,12 @@ The token is valid as long as the job is running.
### Impersonation tokens
### Impersonation tokens
Impersonation tokens are a type of [personal access token](../user/profile/personal_access_tokens.md)
Impersonation tokens are a type of [personal access token](../user/profile/personal_access_tokens.md)
that can only be created by an administrator for a specific user. They are a great fit
that can be created only by an administrator for a specific user. They can be
if you want to build applications or scripts that authenticate with the API as a
useful if you want to build applications or scripts that authenticate with the
specific user.
API as a specific user.
They're an alternative to directly using the user's password or one of their
They're an alternative to directly using the user's password (or one of their
personal access tokens, and to using the [Sudo](#sudo) feature, as the user's
personal access tokens), and to using the [Sudo](#sudo) feature, as the user's
(or administrator's in the case of Sudo) password or token may not be known, or may
(or administrator's in the case of Sudo) password or token may not be known, or may
change over time.
change over time.
...
@@ -245,13 +244,13 @@ By default, impersonation is enabled. To disable impersonation:
...
@@ -245,13 +244,13 @@ By default, impersonation is enabled. To disable impersonation:
**For Omnibus installations**
**For Omnibus installations**
1. Edit `/etc/gitlab/gitlab.rb`:
1. Edit the `/etc/gitlab/gitlab.rb` file:
```ruby
```ruby
gitlab_rails['impersonation_enabled']=false
gitlab_rails['impersonation_enabled']=false
```
```
1. Save the file and[reconfigure](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure)
1. Save the file, and then[reconfigure](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure)
GitLab for the changes to take effect.
GitLab for the changes to take effect.
To re-enable impersonation, remove this configuration, and then reconfigure
To re-enable impersonation, remove this configuration, and then reconfigure
...
@@ -259,14 +258,14 @@ GitLab.
...
@@ -259,14 +258,14 @@ GitLab.
**For installations from source**
**For installations from source**
1. Edit `config/gitlab.yml`:
1. Edit the `config/gitlab.yml` file:
```yaml
```yaml
gitlab:
gitlab:
impersonation_enabled:false
impersonation_enabled:false
```
```
1. Save the file and[restart](../administration/restart_gitlab.md#installations-from-source)
1. Save the file, and then[restart](../administration/restart_gitlab.md#installations-from-source)
GitLab for the changes to take effect.
GitLab for the changes to take effect.
To re-enable impersonation, remove this configuration, and then restart GitLab.
To re-enable impersonation, remove this configuration, and then restart GitLab.
...
@@ -353,31 +352,31 @@ The following table shows the possible return codes for API requests.
...
@@ -353,31 +352,31 @@ The following table shows the possible return codes for API requests.
| Return values | Description |
| Return values | Description |
|--------------------------|-------------|
|--------------------------|-------------|
| `200 OK` | The `GET`, `PUT` or `DELETE` request was successful, the resource(s) itself is returned as JSON. |
| `200 OK` | The `GET`, `PUT` or `DELETE` request was successful, and the resource(s) itself is returned as JSON. |
| `204 No Content` | The server has successfully fulfilled the request and that there is no additional content to send in the response payload body. |
| `204 No Content` | The server has successfully fulfilled the request, and there is no additional content to send in the response payload body. |
| `201 Created` | The `POST` request was successful and the resource is returned as JSON. |
| `201 Created` | The `POST` request was successful, and the resource is returned as JSON. |
| `304 Not Modified` | Indicates that the resource has not been modified since the last request. |
| `304 Not Modified` | The resource hasn't been modified since the last request. |
| `400 Bad Request` | A required attribute of the API request is missing. For example, the title of an issue is not given. |
| `400 Bad Request` | A required attribute of the API request is missing. For example, the title of an issue is not given. |
| `401 Unauthorized` | The user is not authenticated, a valid [user token](#authentication) is necessary. |
| `401 Unauthorized` | The user isn't authenticated. A valid [user token](#authentication) is necessary. |
| `403 Forbidden` | The request is not allowed. For example, the user is not allowed to delete a project. |
| `403 Forbidden` | The request isn't allowed. For example, the user isn't allowed to delete a project. |
| `404 Not Found` | A resource could not be accessed. For example, an ID for a resource could not be found. |
| `404 Not Found` | A resource couldn't be accessed. For example, an ID for a resource couldn't be found. |
| `405 Method Not Allowed` | The request is not supported. |
| `405 Method Not Allowed` | The request isn't supported. |
| `409 Conflict` | A conflicting resource already exists. For example, creating a project with a name that already exists. |
| `409 Conflict` | A conflicting resource already exists. For example, creating a project with a name that already exists. |
| `412` | Indicates the request was denied. May happen if the `If-Unmodified-Since` header is provided when trying to delete a resource, which was modified in between. |
| `412` | The request was denied. This can happen if the `If-Unmodified-Since` header is provided when trying to delete a resource, which was modified in between. |
| `422 Unprocessable` | The entity could not be processed. |
| `422 Unprocessable` | The entity couldn't be processed. |
| `429 Too Many Requests` | The user exceeded the [application rate limits](../administration/instance_limits.md#rate-limits). |
| `429 Too Many Requests` | The user exceeded the [application rate limits](../administration/instance_limits.md#rate-limits). |
| `500 Server Error` | While handling the request, something went wrong server-side. |
| `500 Server Error` | While handling the request, something went wrong on the server. |
## Pagination
## Pagination
GitLab supports the following pagination methods:
GitLab supports the following pagination methods:
- Offset-based pagination. This is the default method and available on all endpoints.
- Offset-based pagination. This is the default method and is available on all endpoints.
- Keyset-based pagination. Added to selected endpoints but being
- Keyset-based pagination. Added to selected endpoints but being