Commit 64790e9c authored by ddavison's avatar ddavison

Split curl statements in Documentation

Line up subsequent arguments with first argument
parent 8ffce6a5
...@@ -1467,8 +1467,10 @@ After creating and configuring Gitaly Cluster: ...@@ -1467,8 +1467,10 @@ After creating and configuring Gitaly Cluster:
1. [Schedule repository storage moves for all projects on a storage shard](../../api/project_repository_storage_moves.md#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard) using the API. For example: 1. [Schedule repository storage moves for all projects on a storage shard](../../api/project_repository_storage_moves.md#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard) using the API. For example:
```shell ```shell
curl --request POST --header "Private-Token: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "Private-Token: <your_access_token>" \
--data '{"source_storage_name":"<original_storage_name>","destination_storage_name":"<cluster_storage_name>"}' "https://gitlab.example.com/api/v4/project_repository_storage_moves" --header "Content-Type: application/json" \
--data '{"source_storage_name":"<original_storage_name>","destination_storage_name":"<cluster_storage_name>"}' \
"https://gitlab.example.com/api/v4/project_repository_storage_moves"
``` ```
1. [Query the most recent repository moves](../../api/project_repository_storage_moves.md#retrieve-all-project-repository-storage-moves) 1. [Query the most recent repository moves](../../api/project_repository_storage_moves.md#retrieve-all-project-repository-storage-moves)
...@@ -1500,8 +1502,10 @@ After creating and configuring Gitaly Cluster: ...@@ -1500,8 +1502,10 @@ After creating and configuring Gitaly Cluster:
1. [Schedule repository storage moves for all snippets on a storage shard](../../api/snippet_repository_storage_moves.md#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard) using the API. For example: 1. [Schedule repository storage moves for all snippets on a storage shard](../../api/snippet_repository_storage_moves.md#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard) using the API. For example:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"source_storage_name":"<original_storage_name>","destination_storage_name":"<cluster_storage_name>"}' "https://gitlab.example.com/api/v4/snippet_repository_storage_moves" --header "Content-Type: application/json" \
--data '{"source_storage_name":"<original_storage_name>","destination_storage_name":"<cluster_storage_name>"}' \
"https://gitlab.example.com/api/v4/snippet_repository_storage_moves"
``` ```
1. [Query the most recent repository moves](../../api/snippet_repository_storage_moves.md#retrieve-all-snippet-repository-storage-moves) 1. [Query the most recent repository moves](../../api/snippet_repository_storage_moves.md#retrieve-all-snippet-repository-storage-moves)
...@@ -1525,8 +1529,10 @@ After creating and configuring Gitaly Cluster: ...@@ -1525,8 +1529,10 @@ After creating and configuring Gitaly Cluster:
1. [Schedule repository storage moves for all groups on a storage shard](../../api/group_repository_storage_moves.md#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard) using the API. 1. [Schedule repository storage moves for all groups on a storage shard](../../api/group_repository_storage_moves.md#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard) using the API.
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"source_storage_name":"<original_storage_name>","destination_storage_name":"<cluster_storage_name>"}' "https://gitlab.example.com/api/v4/group_repository_storage_moves" --header "Content-Type: application/json" \
--data '{"source_storage_name":"<original_storage_name>","destination_storage_name":"<cluster_storage_name>"}' \
"https://gitlab.example.com/api/v4/group_repository_storage_moves"
``` ```
1. [Query the most recent repository moves](../../api/group_repository_storage_moves.md#retrieve-all-group-repository-storage-moves) 1. [Query the most recent repository moves](../../api/group_repository_storage_moves.md#retrieve-all-group-repository-storage-moves)
......
...@@ -549,7 +549,8 @@ User.billable.count ...@@ -549,7 +549,8 @@ User.billable.count
Using cURL and jq (up to a max 100, see the [pagination docs](../../api/README.md#pagination)): Using cURL and jq (up to a max 100, see the [pagination docs](../../api/README.md#pagination)):
```shell ```shell
curl --silent --header "Private-Token: ********************" "https://gitlab.example.com/api/v4/users?per_page=100&active" | jq --compact-output '.[] | [.id,.name,.username]' curl --silent --header "Private-Token: ********************" \
"https://gitlab.example.com/api/v4/users?per_page=100&active" | jq --compact-output '.[] | [.id,.name,.username]'
``` ```
### Block or Delete Users that have no projects or groups ### Block or Delete Users that have no projects or groups
......
...@@ -597,7 +597,8 @@ send the payload body: ...@@ -597,7 +597,8 @@ send the payload body:
- Request payload (JSON): - Request payload (JSON):
```shell ```shell
curl --request POST --header "Content-Type: application/json" --data '{"name":"<example-name>", "description":"<example-description"}' "https://gitlab/api/v4/projects" curl --request POST --header "Content-Type: application/json" \
--data '{"name":"<example-name>", "description":"<example-description"}' "https://gitlab/api/v4/projects"
``` ```
URL encoded query strings have a length limitation. Requests that are too large URL encoded query strings have a length limitation. Requests that are too large
......
...@@ -40,7 +40,9 @@ Parameters: ...@@ -40,7 +40,9 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=MyApplication&redirect_uri=http://redirect.uri&scopes=" "https://gitlab.example.com/api/v4/applications" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "name=MyApplication&redirect_uri=http://redirect.uri&scopes=" \
"https://gitlab.example.com/api/v4/applications"
``` ```
Example response: Example response:
......
...@@ -109,7 +109,9 @@ Parameters: ...@@ -109,7 +109,9 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --data "message=Deploy in progress&color=#cecece" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/broadcast_messages" curl --data "message=Deploy in progress&color=#cecece" \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/broadcast_messages"
``` ```
Example response: Example response:
...@@ -154,7 +156,8 @@ Parameters: ...@@ -154,7 +156,8 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --request PUT --data "message=Update message&color=#000" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/broadcast_messages/1" curl --request PUT --data "message=Update message&color=#000" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/broadcast_messages/1"
``` ```
Example response: Example response:
......
...@@ -141,7 +141,8 @@ PAYLOAD=$(cat << 'JSON' ...@@ -141,7 +141,8 @@ PAYLOAD=$(cat << 'JSON'
} }
JSON JSON
) )
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data "$PAYLOAD" "https://gitlab.example.com/api/v4/projects/1/repository/commits" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data "$PAYLOAD" "https://gitlab.example.com/api/v4/projects/1/repository/commits"
``` ```
Example response: Example response:
...@@ -308,7 +309,8 @@ Parameters: ...@@ -308,7 +309,8 @@ Parameters:
| `message` | string | no | A custom commit message to use for the new commit. [Introduced in GitLab 14.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62481) | `message` | string | no | A custom commit message to use for the new commit. [Introduced in GitLab 14.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62481)
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "branch=master" "https://gitlab.example.com/api/v4/projects/5/repository/commits/master/cherry_pick" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "branch=master" "https://gitlab.example.com/api/v4/projects/5/repository/commits/master/cherry_pick"
``` ```
Example response: Example response:
...@@ -381,7 +383,8 @@ Parameters: ...@@ -381,7 +383,8 @@ Parameters:
| `dry_run` | boolean | no | Does not commit any changes. Default is false. [Introduced in GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/231032) | | `dry_run` | boolean | no | Does not commit any changes. Default is false. [Introduced in GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/231032) |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "branch=master" "https://gitlab.example.com/api/v4/projects/5/repository/commits/a738f717824ff53aebad8b090c1b79a14f2bd9e8/revert" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "branch=master" \
"https://gitlab.example.com/api/v4/projects/5/repository/commits/a738f717824ff53aebad8b090c1b79a14f2bd9e8/revert"
``` ```
Example response: Example response:
...@@ -535,7 +538,9 @@ POST /projects/:id/repository/commits/:sha/comments ...@@ -535,7 +538,9 @@ POST /projects/:id/repository/commits/:sha/comments
| `line_type` | string | no | The line type. Takes `new` or `old` as arguments | | `line_type` | string | no | The line type. Takes `new` or `old` as arguments |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "note=Nice picture man\!" --form "path=dudeism.md" --form "line=11" --form "line_type=new" "https://gitlab.example.com/api/v4/projects/17/repository/commits/18f3e63d05582537db6d183d9d557be09e1f90c8/comments" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "note=Nice picture man\!" --form "path=dudeism.md" --form "line=11" --form "line_type=new" \
"https://gitlab.example.com/api/v4/projects/17/repository/commits/18f3e63d05582537db6d183d9d557be09e1f90c8/comments"
``` ```
Example response: Example response:
......
...@@ -90,7 +90,8 @@ GET /groups/:id/registry/repositories ...@@ -90,7 +90,8 @@ GET /groups/:id/registry/repositories
| `tags_count` | boolean | no | If the parameter is included as true, each repository includes `"tags_count"` in the response ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32141) in GitLab 13.1). | | `tags_count` | boolean | no | If the parameter is included as true, each repository includes `"tags_count"` in the response ([Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32141) in GitLab 13.1). |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/2/registry/repositories?tags=1&tags_count=true" curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/2/registry/repositories?tags=1&tags_count=true"
``` ```
Example response: Example response:
...@@ -161,7 +162,8 @@ GET /registry/repositories/:id ...@@ -161,7 +162,8 @@ GET /registry/repositories/:id
| `tags_count` | boolean | no | If the parameter is included as `true`, the response includes `"tags_count"`. | | `tags_count` | boolean | no | If the parameter is included as `true`, the response includes `"tags_count"`. |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/registry/repositories/2?tags=true&tags_count=true" curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/registry/repositories/2?tags=true&tags_count=true"
``` ```
Example response: Example response:
...@@ -202,7 +204,8 @@ DELETE /projects/:id/registry/repositories/:repository_id ...@@ -202,7 +204,8 @@ DELETE /projects/:id/registry/repositories/:repository_id
| `repository_id` | integer | yes | The ID of registry repository. | | `repository_id` | integer | yes | The ID of registry repository. |
```shell ```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/registry/repositories/2"
``` ```
## List registry repository tags ## List registry repository tags
...@@ -221,7 +224,8 @@ GET /projects/:id/registry/repositories/:repository_id/tags ...@@ -221,7 +224,8 @@ GET /projects/:id/registry/repositories/:repository_id/tags
| `repository_id` | integer | yes | The ID of registry repository. | | `repository_id` | integer | yes | The ID of registry repository. |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags"
``` ```
Example response: Example response:
...@@ -256,7 +260,8 @@ GET /projects/:id/registry/repositories/:repository_id/tags/:tag_name ...@@ -256,7 +260,8 @@ GET /projects/:id/registry/repositories/:repository_id/tags/:tag_name
| `tag_name` | string | yes | The name of tag. | | `tag_name` | string | yes | The name of tag. |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0" curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0"
``` ```
Example response: Example response:
...@@ -289,7 +294,8 @@ DELETE /projects/:id/registry/repositories/:repository_id/tags/:tag_name ...@@ -289,7 +294,8 @@ DELETE /projects/:id/registry/repositories/:repository_id/tags/:tag_name
| `tag_name` | string | yes | The name of tag. | | `tag_name` | string | yes | The name of tag. |
```shell ```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0"
``` ```
This action doesn't delete blobs. To delete them and recycle disk space, This action doesn't delete blobs. To delete them and recycle disk space,
...@@ -350,23 +356,27 @@ Examples: ...@@ -350,23 +356,27 @@ Examples:
and remove ones that are older than 2 days: and remove ones that are older than 2 days:
```shell ```shell
curl --request DELETE --data 'name_regex_delete=[0-9a-z]{40}' --data 'keep_n=5' --data 'older_than=2d' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" curl --request DELETE --data 'name_regex_delete=[0-9a-z]{40}' --data 'keep_n=5' --data 'older_than=2d' \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags"
``` ```
1. Remove all tags, but keep always the latest 5: 1. Remove all tags, but keep always the latest 5:
```shell ```shell
curl --request DELETE --data 'name_regex_delete=.*' --data 'keep_n=5' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" curl --request DELETE --data 'name_regex_delete=.*' --data 'keep_n=5' \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags"
``` ```
1. Remove all tags, but keep always tags beginning with `stable`: 1. Remove all tags, but keep always tags beginning with `stable`:
```shell ```shell
curl --request DELETE --data 'name_regex_delete=.*' --data 'name_regex_keep=stable.*' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" curl --request DELETE --data 'name_regex_delete=.*' --data 'name_regex_keep=stable.*' \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags"
``` ```
1. Remove all tags that are older than 1 month: 1. Remove all tags that are older than 1 month:
```shell ```shell
curl --request DELETE --data 'name_regex_delete=.*' --data 'older_than=1month' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" curl --request DELETE --data 'name_regex_delete=.*' --data 'older_than=1month' \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags"
``` ```
...@@ -90,7 +90,8 @@ PUT /projects/:id/custom_attributes/:key ...@@ -90,7 +90,8 @@ PUT /projects/:id/custom_attributes/:key
| `value` | string | yes | The value of the custom attribute | | `value` | string | yes | The value of the custom attribute |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "value=Greenland" "https://gitlab.example.com/api/v4/users/42/custom_attributes/location" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--data "value=Greenland" "https://gitlab.example.com/api/v4/users/42/custom_attributes/location"
``` ```
Example response: Example response:
......
...@@ -124,7 +124,9 @@ POST /projects/:id/deploy_keys ...@@ -124,7 +124,9 @@ POST /projects/:id/deploy_keys
| `can_push` | boolean | no | Can deploy key push to the project's repository | | `can_push` | boolean | no | Can deploy key push to the project's repository |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"title": "My deploy key", "key": "ssh-rsa AAAA...", "can_push": "true"}' "https://gitlab.example.com/api/v4/projects/5/deploy_keys/" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"title": "My deploy key", "key": "ssh-rsa AAAA...", "can_push": "true"}' \
"https://gitlab.example.com/api/v4/projects/5/deploy_keys/"
``` ```
Example response: Example response:
...@@ -154,7 +156,8 @@ PUT /projects/:id/deploy_keys/:key_id ...@@ -154,7 +156,8 @@ PUT /projects/:id/deploy_keys/:key_id
| `can_push` | boolean | no | Can deploy key push to the project's repository | | `can_push` | boolean | no | Can deploy key push to the project's repository |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"title": "New deploy key", "can_push": true}' "https://gitlab.example.com/api/v4/projects/5/deploy_keys/11" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"title": "New deploy key", "can_push": true}' "https://gitlab.example.com/api/v4/projects/5/deploy_keys/11"
``` ```
Example response: Example response:
...@@ -238,7 +241,9 @@ With those IDs, add the same deploy key to all: ...@@ -238,7 +241,9 @@ With those IDs, add the same deploy key to all:
```shell ```shell
for project_id in 321 456 987; do for project_id in 321 456 987; do
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"title": "my key", "key": "ssh-rsa AAAA..."}' "https://gitlab.example.com/api/v4/projects/${project_id}/deploy_keys" --header "Content-Type: application/json" \
--data '{"title": "my key", "key": "ssh-rsa AAAA..."}' \
"https://gitlab.example.com/api/v4/projects/${project_id}/deploy_keys"
done done
``` ```
...@@ -117,7 +117,9 @@ Parameters: ...@@ -117,7 +117,9 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' \
"https://gitlab.example.com/api/v4/projects/5/deploy_tokens/"
``` ```
Example response: Example response:
...@@ -157,7 +159,8 @@ Parameters: ...@@ -157,7 +159,8 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/13" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/deploy_tokens/13"
``` ```
## Group deploy tokens ## Group deploy tokens
...@@ -230,7 +233,9 @@ Parameters: ...@@ -230,7 +233,9 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' "https://gitlab.example.com/api/v4/groups/5/deploy_tokens/" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' \
"https://gitlab.example.com/api/v4/groups/5/deploy_tokens/"
``` ```
Example response: Example response:
......
...@@ -296,7 +296,8 @@ The status can be one of the following values: ...@@ -296,7 +296,8 @@ The status can be one of the following values:
- canceled - canceled
```shell ```shell
curl --data "environment=production&sha=a91957a858320c0e17f3a0eca7cfacbff50ea29a&ref=master&tag=false&status=success" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/deployments" curl --data "environment=production&sha=a91957a858320c0e17f3a0eca7cfacbff50ea29a&ref=master&tag=false&status=success" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/deployments"
``` ```
Example of a response: Example of a response:
......
...@@ -164,7 +164,8 @@ POST /projects/:id/environments ...@@ -164,7 +164,8 @@ POST /projects/:id/environments
| `external_url` | string | no | Place to link to for this environment | | `external_url` | string | no | Place to link to for this environment |
```shell ```shell
curl --data "name=deploy&external_url=https://deploy.gitlab.example.com" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/environments" curl --data "name=deploy&external_url=https://deploy.gitlab.example.com" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/environments"
``` ```
Example response: Example response:
...@@ -197,7 +198,8 @@ PUT /projects/:id/environments/:environments_id ...@@ -197,7 +198,8 @@ PUT /projects/:id/environments/:environments_id
| `external_url` | string | no | The new `external_url` | | `external_url` | string | no | The new `external_url` |
```shell ```shell
curl --request PUT --data "name=staging&external_url=https://staging.gitlab.example.com" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/environments/1" curl --request PUT --data "name=staging&external_url=https://staging.gitlab.example.com" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/environments/1"
``` ```
Example response: Example response:
......
...@@ -29,7 +29,9 @@ Example: ...@@ -29,7 +29,9 @@ Example:
```shell ```shell
GRAPHQL_TOKEN=<your-token> GRAPHQL_TOKEN=<your-token>
curl "https://gitlab.com/api/graphql" --header "Authorization: Bearer $GRAPHQL_TOKEN" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query {currentUser {name}}\"}" curl "https://gitlab.com/api/graphql" --header "Authorization: Bearer $GRAPHQL_TOKEN" \
--header "Content-Type: application/json" --request POST \
--data "{\"query\": \"query {currentUser {name}}\"}"
``` ```
### GraphiQL ### GraphiQL
......
...@@ -102,7 +102,9 @@ POST /groups/:id/badges ...@@ -102,7 +102,9 @@ POST /groups/:id/badges
| `image_url` | string | yes | URL of the badge image | | `image_url` | string | yes | URL of the badge image |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "link_url=https://gitlab.com/gitlab-org/gitlab-foss/commits/master&image_url=https://shields.io/my/badge1&position=0" "https://gitlab.example.com/api/v4/groups/:id/badges" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "link_url=https://gitlab.com/gitlab-org/gitlab-foss/commits/master&image_url=https://shields.io/my/badge1&position=0" \
"https://gitlab.example.com/api/v4/groups/:id/badges"
``` ```
Example response: Example response:
...@@ -134,7 +136,8 @@ PUT /groups/:id/badges/:badge_id ...@@ -134,7 +136,8 @@ PUT /groups/:id/badges/:badge_id
| `image_url` | string | no | URL of the badge image | | `image_url` | string | no | URL of the badge image |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/badges/:badge_id" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/:id/badges/:badge_id"
``` ```
Example response: Example response:
......
...@@ -57,7 +57,8 @@ GET /groups/:id/export/download ...@@ -57,7 +57,8 @@ GET /groups/:id/export/download
| `id` | integer/string | yes | ID of the group owned by the authenticated user | | `id` | integer/string | yes | ID of the group owned by the authenticated user |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name --remote-name "https://gitlab.example.com/api/v4/groups/1/export/download" curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name \
--remote-name "https://gitlab.example.com/api/v4/groups/1/export/download"
``` ```
```shell ```shell
...@@ -90,7 +91,9 @@ The `file=` parameter must point to a file on your file system and be preceded ...@@ -90,7 +91,9 @@ The `file=` parameter must point to a file on your file system and be preceded
by `@`. For example: by `@`. For example:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "name=imported-group" --form "path=imported-group" --form "file=@/path/to/file" "https://gitlab.example.com/api/v4/groups/import" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "name=imported-group" --form "path=imported-group" \
--form "file=@/path/to/file" "https://gitlab.example.com/api/v4/groups/import"
``` ```
NOTE: NOTE:
......
...@@ -118,7 +118,9 @@ POST /groups/:id/labels ...@@ -118,7 +118,9 @@ POST /groups/:id/labels
| `description` | string | no | The description of the label, | | `description` | string | no | The description of the label, |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"name": "Feature Proposal", "color": "#FFA500", "description": "Describes new ideas" }' "https://gitlab.example.com/api/v4/groups/5/labels" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"name": "Feature Proposal", "color": "#FFA500", "description": "Describes new ideas" }' \
"https://gitlab.example.com/api/v4/groups/5/labels"
``` ```
Example response: Example response:
...@@ -155,7 +157,8 @@ PUT /groups/:id/labels/:label_id ...@@ -155,7 +157,8 @@ PUT /groups/:id/labels/:label_id
| `description` | string | no | The description of the label. | | `description` | string | no | The description of the label. |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"new_name": "Feature Idea" }' "https://gitlab.example.com/api/v4/groups/5/labels/Feature%20Proposal" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"new_name": "Feature Idea" }' "https://gitlab.example.com/api/v4/groups/5/labels/Feature%20Proposal"
``` ```
Example response: Example response:
......
...@@ -92,7 +92,8 @@ POST /groups/:id/variables ...@@ -92,7 +92,8 @@ POST /groups/:id/variables
| `environment_scope` **(PREMIUM)** | string | no | The [environment scope](../ci/variables/README.md#limit-the-environment-scope-of-a-cicd-variable) of a variable | | `environment_scope` **(PREMIUM)** | string | no | The [environment scope](../ci/variables/README.md#limit-the-environment-scope-of-a-cicd-variable) of a variable |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/variables" --form "key=NEW_VARIABLE" --form "value=new value" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/variables" --form "key=NEW_VARIABLE" --form "value=new value"
``` ```
```json ```json
...@@ -125,7 +126,8 @@ PUT /groups/:id/variables/:key ...@@ -125,7 +126,8 @@ PUT /groups/:id/variables/:key
| `environment_scope` **(PREMIUM)** | string | no | The [environment scope](../ci/variables/README.md#limit-the-environment-scope-of-a-cicd-variable) of a variable | | `environment_scope` **(PREMIUM)** | string | no | The [environment scope](../ci/variables/README.md#limit-the-environment-scope-of-a-cicd-variable) of a variable |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/variables/NEW_VARIABLE" --form "value=updated value" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/variables/NEW_VARIABLE" --form "value=updated value"
``` ```
```json ```json
...@@ -153,5 +155,6 @@ DELETE /groups/:id/variables/:key ...@@ -153,5 +155,6 @@ DELETE /groups/:id/variables/:key
| `key` | string | yes | The `key` of a variable | | `key` | string | yes | The `key` of a variable |
```shell ```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1"
``` ```
...@@ -48,7 +48,8 @@ GET /groups/:id/export_relations/status ...@@ -48,7 +48,8 @@ GET /groups/:id/export_relations/status
| `id` | integer/string | yes | ID of the group owned by the authenticated user. | | `id` | integer/string | yes | ID of the group owned by the authenticated user. |
```shell ```shell
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/export_relations/status" curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/export_relations/status"
``` ```
The status can be one of the following: The status can be one of the following:
...@@ -92,7 +93,8 @@ GET /groups/:id/export_relations/download ...@@ -92,7 +93,8 @@ GET /groups/:id/export_relations/download
| `relation` | string | yes | Name of the group top-level relation to download. | | `relation` | string | yes | Name of the group top-level relation to download. |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name --remote-name "https://gitlab.example.com/api/v4/groups/1/export_relations/download?relation=labels" curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name \
--remote-name "https://gitlab.example.com/api/v4/groups/1/export_relations/download?relation=labels"
``` ```
```shell ```shell
......
...@@ -202,8 +202,10 @@ Supported attributes: ...@@ -202,8 +202,10 @@ Supported attributes:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"destination_storage_name":"storage2"}' "https://gitlab.example.com/api/v4/groups/1/repository_storage_moves" --header "Content-Type: application/json" \
--data '{"destination_storage_name":"storage2"}' \
"https://gitlab.example.com/api/v4/groups/1/repository_storage_moves"
``` ```
Example response: Example response:
...@@ -241,8 +243,10 @@ Supported attributes: ...@@ -241,8 +243,10 @@ Supported attributes:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"source_storage_name":"default"}' "https://gitlab.example.com/api/v4/group_repository_storage_moves" --header "Content-Type: application/json" \
--data '{"source_storage_name":"default"}' \
"https://gitlab.example.com/api/v4/group_repository_storage_moves"
``` ```
Example response: Example response:
......
...@@ -186,7 +186,8 @@ The `file=` parameter must point to a file on your file system and be preceded ...@@ -186,7 +186,8 @@ The `file=` parameter must point to a file on your file system and be preceded
by `@`. For example: by `@`. For example:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "file=@dk.png" "https://gitlab.example.com/api/v4/groups/1/wikis/attachments" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "file=@dk.png" "https://gitlab.example.com/api/v4/groups/1/wikis/attachments"
``` ```
Example response: Example response:
......
...@@ -788,9 +788,10 @@ This is similar to creating a [New group](#new-group). You need the `parent_id` ...@@ -788,9 +788,10 @@ This is similar to creating a [New group](#new-group). You need the `parent_id`
- `subgroup_name` - `subgroup_name`
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"path": "<subgroup_path>", "name": "<subgroup_name>", "parent_id": <parent_group_id> }' \ --header "Content-Type: application/json" \
"https://gitlab.example.com/api/v4/groups/" --data '{"path": "<subgroup_path>", "name": "<subgroup_name>", "parent_id": <parent_group_id> }' \
"https://gitlab.example.com/api/v4/groups/"
``` ```
## Transfer project to group ## Transfer project to group
...@@ -809,7 +810,8 @@ Parameters: ...@@ -809,7 +810,8 @@ Parameters:
| `project_id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) | | `project_id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4/projects/56" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/4/projects/56"
``` ```
## Update group ## Update group
...@@ -851,7 +853,8 @@ The `projects` and `shared_projects` attributes in the response are deprecated a ...@@ -851,7 +853,8 @@ The `projects` and `shared_projects` attributes in the response are deprecated a
To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint. To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint.
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5?name=Experimental" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/5?name=Experimental"
``` ```
This endpoint returns: This endpoint returns:
...@@ -956,7 +959,8 @@ curl to post data using the header `Content-Type: multipart/form-data`. The ...@@ -956,7 +959,8 @@ curl to post data using the header `Content-Type: multipart/form-data`. The
`@`. For example: `@`. For example:
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/22" --form "avatar=@/tmp/example.png" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/22" \
--form "avatar=@/tmp/example.png"
``` ```
## Remove group ## Remove group
......
...@@ -85,7 +85,8 @@ POST /admin/ci/variables ...@@ -85,7 +85,8 @@ POST /admin/ci/variables
| `masked` | boolean | no | Whether the variable is masked. | | `masked` | boolean | no | Whether the variable is masked. |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/admin/ci/variables" --form "key=NEW_VARIABLE" --form "value=new value" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/admin/ci/variables" --form "key=NEW_VARIABLE" --form "value=new value"
``` ```
```json ```json
...@@ -115,7 +116,8 @@ PUT /admin/ci/variables/:key ...@@ -115,7 +116,8 @@ PUT /admin/ci/variables/:key
| `masked` | boolean | no | Whether the variable is masked. | | `masked` | boolean | no | Whether the variable is masked. |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/admin/ci/variables/NEW_VARIABLE" --form "value=updated value" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/admin/ci/variables/NEW_VARIABLE" --form "value=updated value"
``` ```
```json ```json
......
...@@ -44,8 +44,10 @@ POST /projects/:id/invitations ...@@ -44,8 +44,10 @@ POST /projects/:id/invitations
| `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). | | `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "email=test@example.com&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/invitations" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "email=test@example.com&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/invitations" --data "email=test@example.com&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/invitations"
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "email=test@example.com&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/invitations"
``` ```
Example responses: Example responses:
......
...@@ -222,7 +222,8 @@ PUT /projects/:id/labels/:label_id ...@@ -222,7 +222,8 @@ PUT /projects/:id/labels/:label_id
| `priority` | integer | no | The new priority of the label. Must be greater or equal than zero or `null` to remove the priority. | | `priority` | integer | no | The new priority of the label. Must be greater or equal than zero or `null` to remove the priority. |
```shell ```shell
curl --request PUT --data "new_name=docs&color=#8E44AD&description=Documentation" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/documentation" curl --request PUT --data "new_name=docs&color=#8E44AD&description=Documentation" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/documentation"
``` ```
Example response: Example response:
......
...@@ -128,7 +128,8 @@ PATCH /projects/:id/managed_licenses/:managed_license_id ...@@ -128,7 +128,8 @@ PATCH /projects/:id/managed_licenses/:managed_license_id
| `approval_status` | string | yes | The approval status. "approved" or "blacklisted" | | `approval_status` | string | yes | The approval status. "approved" or "blacklisted" |
```shell ```shell
curl --request PATCH --data "approval_status=blacklisted" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/managed_licenses/6" curl --request PATCH --data "approval_status=blacklisted" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/managed_licenses/6"
``` ```
Example response: Example response:
......
...@@ -418,8 +418,10 @@ POST /projects/:id/members ...@@ -418,8 +418,10 @@ POST /projects/:id/members
| `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). | | `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/members" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/members" --data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/members"
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/members"
``` ```
Example response: Example response:
......
...@@ -284,7 +284,8 @@ HTTP Basic Authentication with the application's `client_id` and `client_secret` ...@@ -284,7 +284,8 @@ HTTP Basic Authentication with the application's `client_id` and `client_secret`
```shell ```shell
echo 'grant_type=password&username=<your_username>&password=<your_password>' > auth.txt echo 'grant_type=password&username=<your_username>&password=<your_password>' > auth.txt
curl --data "@auth.txt" --user client_id:client_secret --request POST "https://gitlab.example.com/oauth/token" curl --data "@auth.txt" --user client_id:client_secret \
--request POST "https://gitlab.example.com/oauth/token"
``` ```
Then, you receive a response containing the access token: Then, you receive a response containing the access token:
......
...@@ -247,7 +247,8 @@ POST projects/:id/packages/composer ...@@ -247,7 +247,8 @@ POST projects/:id/packages/composer
| `branch` | string | no | The name of the branch to target for the package. | | `branch` | string | no | The name of the branch to target for the package. |
```shell ```shell
curl --request POST --user <username>:<personal_access_token> --data tag=v1.0.0 "https://gitlab.example.com/api/v4/projects/1/packages/composer" curl --request POST --user <username>:<personal_access_token> \
--data tag=v1.0.0 "https://gitlab.example.com/api/v4/projects/1/packages/composer"
``` ```
Example response: Example response:
......
...@@ -134,19 +134,24 @@ POST /projects/:id/pages/domains ...@@ -134,19 +134,24 @@ POST /projects/:id/pages/domains
Create a new Pages domain with a certificate from a `.pem` file: Create a new Pages domain with a certificate from a `.pem` file:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "domain=ssl.domain.example" --form "certificate=@/path/to/cert.pem" --form "key=@/path/to/key.pem" "https://gitlab.example.com/api/v4/projects/5/pages/domains" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "domain=ssl.domain.example" --form "certificate=@/path/to/cert.pem" \
--form "key=@/path/to/key.pem" "https://gitlab.example.com/api/v4/projects/5/pages/domains"
``` ```
Create a new Pages domain by using a variable containing the certificate: Create a new Pages domain by using a variable containing the certificate:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "domain=ssl.domain.example" --form "certificate=$CERT_PEM" --form "key=$KEY_PEM" "https://gitlab.example.com/api/v4/projects/5/pages/domains" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "domain=ssl.domain.example" --form "certificate=$CERT_PEM" \
--form "key=$KEY_PEM" "https://gitlab.example.com/api/v4/projects/5/pages/domains"
``` ```
Create a new Pages domain with an [automatic certificate](../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md#enabling-lets-encrypt-integration-for-your-custom-domain): Create a new Pages domain with an [automatic certificate](../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md#enabling-lets-encrypt-integration-for-your-custom-domain):
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "domain=ssl.domain.example" --form "auto_ssl_enabled=true" "https://gitlab.example.com/api/v4/projects/5/pages/domains" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "domain=ssl.domain.example" \
--form "auto_ssl_enabled=true" "https://gitlab.example.com/api/v4/projects/5/pages/domains"
``` ```
```json ```json
...@@ -184,13 +189,15 @@ PUT /projects/:id/pages/domains/:domain ...@@ -184,13 +189,15 @@ PUT /projects/:id/pages/domains/:domain
Add a certificate for a Pages domain from a `.pem` file: Add a certificate for a Pages domain from a `.pem` file:
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certificate=@/path/to/cert.pem" --form "key=@/path/to/key.pem" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certificate=@/path/to/cert.pem" \
--form "key=@/path/to/key.pem" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example"
``` ```
Add a certificate for a Pages domain by using a variable containing the certificate: Add a certificate for a Pages domain by using a variable containing the certificate:
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certificate=$CERT_PEM" --form "key=$KEY_PEM" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certificate=$CERT_PEM" \
--form "key=$KEY_PEM" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example"
``` ```
```json ```json
...@@ -210,7 +217,8 @@ curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certifi ...@@ -210,7 +217,8 @@ curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certifi
### Enabling Let's Encrypt integration for Pages custom domains ### Enabling Let's Encrypt integration for Pages custom domains
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "auto_ssl_enabled=true" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form "auto_ssl_enabled=true" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example"
``` ```
```json ```json
...@@ -226,7 +234,8 @@ curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "auto_ss ...@@ -226,7 +234,8 @@ curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "auto_ss
To remove the SSL certificate attached to the Pages domain, run: To remove the SSL certificate attached to the Pages domain, run:
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certificate=" --form "key=" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "certificate=" \
--form "key=" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example"
``` ```
```json ```json
......
...@@ -119,7 +119,9 @@ POST /projects/:id/pipeline_schedules ...@@ -119,7 +119,9 @@ POST /projects/:id/pipeline_schedules
| `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule is initially deactivated (default: `true`). | | `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule is initially deactivated (default: `true`). |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form description="Build packages" --form ref="main" --form cron="0 1 * * 5" --form cron_timezone="UTC" --form active="true" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form description="Build packages" --form ref="main" --form cron="0 1 * * 5" --form cron_timezone="UTC" \
--form active="true" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules"
``` ```
```json ```json
...@@ -164,7 +166,8 @@ PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id ...@@ -164,7 +166,8 @@ PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id
| `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule is initially deactivated. | | `active` | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule is initially deactivated. |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form cron="0 2 * * *" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form cron="0 2 * * *" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13"
``` ```
```json ```json
...@@ -334,7 +337,8 @@ POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables ...@@ -334,7 +337,8 @@ POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables
| `variable_type` | string | no | The type of a variable. Available types are: `env_var` (default) and `file` | | `variable_type` | string | no | The type of a variable. Available types are: `env_var` (default) and `file` |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "key=NEW_VARIABLE" --form "value=new value" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "key=NEW_VARIABLE" \
--form "value=new value" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables"
``` ```
```json ```json
...@@ -362,7 +366,9 @@ PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key ...@@ -362,7 +366,9 @@ PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key
| `variable_type` | string | no | The type of a variable. Available types are: `env_var` (default) and `file` | | `variable_type` | string | no | The type of a variable. Available types are: `env_var` (default) and `file` |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "value=updated value" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables/NEW_VARIABLE" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form "value=updated value" \
"https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables/NEW_VARIABLE"
``` ```
```json ```json
......
...@@ -81,7 +81,8 @@ POST /projects/:id/triggers ...@@ -81,7 +81,8 @@ POST /projects/:id/triggers
| `description` | string | yes | The trigger name | | `description` | string | yes | The trigger name |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form description="my description" "https://gitlab.example.com/api/v4/projects/1/triggers" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form description="my description" "https://gitlab.example.com/api/v4/projects/1/triggers"
``` ```
```json ```json
...@@ -111,7 +112,8 @@ PUT /projects/:id/triggers/:trigger_id ...@@ -111,7 +112,8 @@ PUT /projects/:id/triggers/:trigger_id
| `description` | string | no | The trigger name | | `description` | string | no | The trigger name |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form description="my description" "https://gitlab.example.com/api/v4/projects/1/triggers/10" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form description="my description" "https://gitlab.example.com/api/v4/projects/1/triggers/10"
``` ```
```json ```json
......
...@@ -81,13 +81,15 @@ POST /project_aliases ...@@ -81,13 +81,15 @@ POST /project_aliases
| `name` | string | yes | The name of the alias. Must be unique. | | `name` | string | yes | The name of the alias. Must be unique. |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/project_aliases" --form "project_id=1" --form "name=gitlab" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/project_aliases" --form "project_id=1" --form "name=gitlab"
``` ```
or or
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/project_aliases" --form "project_id=gitlab-org/gitlab" --form "name=gitlab" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/project_aliases" --form "project_id=gitlab-org/gitlab" --form "name=gitlab"
``` ```
Example response: Example response:
......
...@@ -109,7 +109,9 @@ POST /projects/:id/badges ...@@ -109,7 +109,9 @@ POST /projects/:id/badges
| `name` | string | no | Name of the badge | | `name` | string | no | Name of the badge |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "link_url=https://gitlab.com/gitlab-org/gitlab-foss/commits/master&image_url=https://shields.io/my/badge1&name=mybadge" "https://gitlab.example.com/api/v4/projects/:id/badges" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "link_url=https://gitlab.com/gitlab-org/gitlab-foss/commits/master&image_url=https://shields.io/my/badge1&name=mybadge" \
"https://gitlab.example.com/api/v4/projects/:id/badges"
``` ```
Example response: Example response:
......
...@@ -113,7 +113,8 @@ GET /projects/:id/export/download ...@@ -113,7 +113,8 @@ GET /projects/:id/export/download
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
```shell ```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name --remote-name "https://gitlab.example.com/api/v4/projects/5/export/download" curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name \
--remote-name "https://gitlab.example.com/api/v4/projects/5/export/download"
``` ```
```shell ```shell
...@@ -144,7 +145,8 @@ The `file=` parameter must point to a file on your file system and be preceded ...@@ -144,7 +145,8 @@ The `file=` parameter must point to a file on your file system and be preceded
by `@`. For example: by `@`. For example:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "path=api-project" --form "file=@/path/to/file" "https://gitlab.example.com/api/v4/projects/import" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "path=api-project" \
--form "file=@/path/to/file" "https://gitlab.example.com/api/v4/projects/import"
``` ```
cURL doesn't support posting a file from a remote server. Importing a project from a remote server can be accomplished through something like the following: cURL doesn't support posting a file from a remote server. Importing a project from a remote server can be accomplished through something like the following:
......
...@@ -85,7 +85,8 @@ POST /projects/:id/variables ...@@ -85,7 +85,8 @@ POST /projects/:id/variables
| `environment_scope` | string | no | The `environment_scope` of the variable. Default: `*` | | `environment_scope` | string | no | The `environment_scope` of the variable. Default: `*` |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables" --form "key=NEW_VARIABLE" --form "value=new value" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/variables" --form "key=NEW_VARIABLE" --form "value=new value"
``` ```
```json ```json
...@@ -119,7 +120,8 @@ PUT /projects/:id/variables/:key ...@@ -119,7 +120,8 @@ PUT /projects/:id/variables/:key
| `filter` | hash | no | Available filters: `[environment_scope]`. See the [`filter` parameter details](#the-filter-parameter). | | `filter` | hash | no | Available filters: `[environment_scope]`. See the [`filter` parameter details](#the-filter-parameter). |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" --form "value=updated value" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" --form "value=updated value"
``` ```
```json ```json
......
...@@ -221,7 +221,8 @@ Example request: ...@@ -221,7 +221,8 @@ Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"destination_storage_name":"storage2"}' "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves" --data '{"destination_storage_name":"storage2"}' \
"https://gitlab.example.com/api/v4/projects/1/repository_storage_moves"
``` ```
Example response: Example response:
...@@ -266,7 +267,8 @@ Example request: ...@@ -266,7 +267,8 @@ Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"source_storage_name":"default"}' "https://gitlab.example.com/api/v4/project_repository_storage_moves" --data '{"source_storage_name":"default"}' \
"https://gitlab.example.com/api/v4/project_repository_storage_moves"
``` ```
Example response: Example response:
......
...@@ -1999,7 +1999,8 @@ cURL to post data using the header `Content-Type: multipart/form-data`. The ...@@ -1999,7 +1999,8 @@ cURL to post data using the header `Content-Type: multipart/form-data`. The
`@`. For example: `@`. For example:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads"
``` ```
Returned object: Returned object:
...@@ -2073,7 +2074,8 @@ preceded by `@`. For example: ...@@ -2073,7 +2074,8 @@ preceded by `@`. For example:
Example request: Example request:
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "avatar=@dk.png" "https://gitlab.example.com/api/v4/projects/5" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form "avatar=@dk.png" "https://gitlab.example.com/api/v4/projects/5"
``` ```
Returned object: Returned object:
......
...@@ -96,7 +96,10 @@ POST /projects/:id/protected_environments ...@@ -96,7 +96,10 @@ POST /projects/:id/protected_environments
``` ```
```shell ```shell
curl --header 'Content-Type: application/json' --request POST --data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}]}' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/22034114/protected_environments" curl --header 'Content-Type: application/json' --request POST \
--data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}]}' \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/22034114/protected_environments"
``` ```
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
......
...@@ -539,7 +539,8 @@ PUT /projects/:id/releases/:tag_name ...@@ -539,7 +539,8 @@ PUT /projects/:id/releases/:tag_name
Example request: Example request:
```shell ```shell
curl --header 'Content-Type: application/json' --request PUT --data '{"name": "new name", "milestones": ["v1.2"]}' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1" curl --header 'Content-Type: application/json' --request PUT --data '{"name": "new name", "milestones": ["v1.2"]}' \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1"
``` ```
Example response: Example response:
......
...@@ -148,7 +148,9 @@ You have to specify at least one of `name` or `url` ...@@ -148,7 +148,9 @@ You have to specify at least one of `name` or `url`
Example request: Example request:
```shell ```shell
curl --request PUT --data name="new name" --data link_type="runbook" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1" curl --request PUT --data name="new name" --data link_type="runbook" \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1"
``` ```
Example response: Example response:
......
...@@ -71,7 +71,8 @@ POST /projects/:id/remote_mirrors ...@@ -71,7 +71,8 @@ POST /projects/:id/remote_mirrors
Example request: Example request:
```shell ```shell
curl --request POST --data "url=https://username:token@example.com/gitlab/example.git" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/42/remote_mirrors" curl --request POST --data "url=https://username:token@example.com/gitlab/example.git" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/42/remote_mirrors"
``` ```
Example response: Example response:
......
...@@ -183,10 +183,11 @@ POST /projects/:id/repository/files/:file_path ...@@ -183,10 +183,11 @@ POST /projects/:id/repository/files/:file_path
``` ```
```shell ```shell
curl --request POST --header 'PRIVATE-TOKEN: <your_access_token>' --header "Content-Type: application/json" \ curl --request POST --header 'PRIVATE-TOKEN: <your_access_token>' \
--data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \ --header "Content-Type: application/json" \
"content": "some content", "commit_message": "create a new file"}' \ --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \
"https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb" "content": "some content", "commit_message": "create a new file"}' \
"https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb"
``` ```
Example response: Example response:
...@@ -218,10 +219,11 @@ PUT /projects/:id/repository/files/:file_path ...@@ -218,10 +219,11 @@ PUT /projects/:id/repository/files/:file_path
``` ```
```shell ```shell
curl --request PUT --header 'PRIVATE-TOKEN: <your_access_token>' --header "Content-Type: application/json" \ curl --request PUT --header 'PRIVATE-TOKEN: <your_access_token>' \
--data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \ --header "Content-Type: application/json" \
"content": "some content", "commit_message": "update file"}' \ --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \
"https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb" "content": "some content", "commit_message": "update file"}' \
"https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb"
``` ```
Example response: Example response:
...@@ -264,10 +266,11 @@ DELETE /projects/:id/repository/files/:file_path ...@@ -264,10 +266,11 @@ DELETE /projects/:id/repository/files/:file_path
``` ```
```shell ```shell
curl --request DELETE --header 'PRIVATE-TOKEN: <your_access_token>' --header "Content-Type: application/json" \ curl --request DELETE --header 'PRIVATE-TOKEN: <your_access_token>' \
--data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \ --header "Content-Type: application/json" \
"commit_message": "delete file"}' \ --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \
"https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb" "commit_message": "delete file"}' \
"https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb"
``` ```
Parameters: Parameters:
......
...@@ -232,7 +232,8 @@ PUT /runners/:id ...@@ -232,7 +232,8 @@ PUT /runners/:id
| `maximum_timeout` | integer | no | Maximum timeout set when this runner handles the job | | `maximum_timeout` | integer | no | Maximum timeout set when this runner handles the job |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/runners/6" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/runners/6" \
--form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2"
``` ```
NOTE: NOTE:
...@@ -289,7 +290,8 @@ PUT --form "active=false" /runners/:runner_id ...@@ -289,7 +290,8 @@ PUT --form "active=false" /runners/:runner_id
| `runner_id` | integer | yes | The ID of a runner | | `runner_id` | integer | yes | The ID of a runner |
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --form "active=false" "https://gitlab.example.com/api/v4/runners/6" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--form "active=false" "https://gitlab.example.com/api/v4/runners/6"
``` ```
## List runner's jobs ## List runner's jobs
...@@ -449,7 +451,8 @@ POST /projects/:id/runners ...@@ -449,7 +451,8 @@ POST /projects/:id/runners
| `runner_id` | integer | yes | The ID of a runner | | `runner_id` | integer | yes | The ID of a runner |
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/9/runners" --form "runner_id=9" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/9/runners" \
--form "runner_id=9"
``` ```
Example response: Example response:
...@@ -567,7 +570,9 @@ POST /runners ...@@ -567,7 +570,9 @@ POST /runners
| `maximum_timeout` | integer | no | Maximum timeout set when this runner handles the job | | `maximum_timeout` | integer | no | Maximum timeout set when this runner handles the job |
```shell ```shell
curl --request POST "https://gitlab.example.com/api/v4/runners" --form "token=<registration_token>" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" curl --request POST "https://gitlab.example.com/api/v4/runners" \
--form "token=<registration_token>" --form "description=test-1-20150125-test" \
--form "tag_list=ruby,mysql,tag1,tag2"
``` ```
Response: Response:
...@@ -621,7 +626,8 @@ DELETE /runners ...@@ -621,7 +626,8 @@ DELETE /runners
| `token` | string | yes | The runner's [authentication token](#registration-and-authentication-tokens). | | `token` | string | yes | The runner's [authentication token](#registration-and-authentication-tokens). |
```shell ```shell
curl --request DELETE "https://gitlab.example.com/api/v4/runners" --form "token=<authentication_token>" curl --request DELETE "https://gitlab.example.com/api/v4/runners" \
--form "token=<authentication_token>"
``` ```
Response: Response:
...@@ -643,7 +649,8 @@ POST /runners/verify ...@@ -643,7 +649,8 @@ POST /runners/verify
| `token` | string | yes | Runner's [authentication token](#registration-and-authentication-tokens). | | `token` | string | yes | Runner's [authentication token](#registration-and-authentication-tokens). |
```shell ```shell
curl --request POST "https://gitlab.example.com/api/v4/runners/verify" --form "token=<authentication_token>" curl --request POST "https://gitlab.example.com/api/v4/runners/verify" \
--form "token=<authentication_token>"
``` ```
Response: Response:
......
...@@ -39,7 +39,9 @@ Pagination follows the [SCIM spec](https://tools.ietf.org/html/rfc7644#section-3 ...@@ -39,7 +39,9 @@ Pagination follows the [SCIM spec](https://tools.ietf.org/html/rfc7644#section-3
Example request: Example request:
```shell ```shell
curl "https://gitlab.example.com/api/scim/v2/groups/test_group/Users?filter=id%20eq%20%220b1d561c-21ff-4092-beab-8154b17f82f2%22" --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" curl "https://gitlab.example.com/api/scim/v2/groups/test_group/Users?filter=id%20eq%20%220b1d561c-21ff-4092-beab-8154b17f82f2%22" \
--header "Authorization: Bearer <your_scim_token>" \
--header "Content-Type: application/scim+json"
``` ```
Example response: Example response:
...@@ -90,7 +92,8 @@ Parameters: ...@@ -90,7 +92,8 @@ Parameters:
Example request: Example request:
```shell ```shell
curl "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" curl "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" \
--header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
``` ```
Example response: Example response:
...@@ -134,7 +137,9 @@ Parameters: ...@@ -134,7 +137,9 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --verbose --request POST "https://gitlab.example.com/api/scim/v2/groups/test_group/Users" --data '{"externalId":"test_uid","active":null,"userName":"username","emails":[{"primary":true,"type":"work","value":"name@example.com"}],"name":{"formatted":"Test User","familyName":"User","givenName":"Test"},"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"meta":{"resourceType":"User"}}' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" curl --verbose --request POST "https://gitlab.example.com/api/scim/v2/groups/test_group/Users" \
--data '{"externalId":"test_uid","active":null,"userName":"username","emails":[{"primary":true,"type":"work","value":"name@example.com"}],"name":{"formatted":"Test User","familyName":"User","givenName":"Test"},"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"meta":{"resourceType":"User"}}' \
--header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
``` ```
Example response: Example response:
...@@ -188,7 +193,9 @@ Parameters: ...@@ -188,7 +193,9 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --verbose --request PATCH "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" --data '{ "Operations": [{"op":"Add","path":"name.formatted","value":"New Name"}] }' --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" curl --verbose --request PATCH "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" \
--data '{ "Operations": [{"op":"Add","path":"name.formatted","value":"New Name"}] }' \
--header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
``` ```
Returns an empty response with a `204` status code if successful. Returns an empty response with a `204` status code if successful.
...@@ -211,7 +218,8 @@ Parameters: ...@@ -211,7 +218,8 @@ Parameters:
Example request: Example request:
```shell ```shell
curl --verbose --request DELETE "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" --header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json" curl --verbose --request DELETE "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" \
--header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
``` ```
Returns an empty response with a `204` status code if successful. Returns an empty response with a `204` status code if successful.
......
...@@ -230,8 +230,10 @@ Supported attributes: ...@@ -230,8 +230,10 @@ Supported attributes:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"destination_storage_name":"storage2"}' "https://gitlab.example.com/api/v4/snippets/1/repository_storage_moves" --header "Content-Type: application/json" \
--data '{"destination_storage_name":"storage2"}' \
"https://gitlab.example.com/api/v4/snippets/1/repository_storage_moves"
``` ```
Example response: Example response:
...@@ -279,8 +281,10 @@ Supported attributes: ...@@ -279,8 +281,10 @@ Supported attributes:
Example request: Example request:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data '{"source_storage_name":"default"}' "https://gitlab.example.com/api/v4/snippet_repository_storage_moves" --header "Content-Type: application/json" \
--data '{"source_storage_name":"default"}' \
"https://gitlab.example.com/api/v4/snippet_repository_storage_moves"
``` ```
Example response: Example response:
......
...@@ -733,7 +733,8 @@ PUT /user/status ...@@ -733,7 +733,8 @@ PUT /user/status
When both parameters `emoji` and `message` are empty, the status is cleared. When the `clear_status_after` parameter is missing from the request, the previously set value for `"clear_status_after` is cleared. When both parameters `emoji` and `message` are empty, the status is cleared. When the `clear_status_after` parameter is missing from the request, the previously set value for `"clear_status_after` is cleared.
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "clear_status_after=1_day" --data "emoji=coffee" --data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "clear_status_after=1_day" --data "emoji=coffee" \
--data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status"
``` ```
Example responses Example responses
...@@ -1068,7 +1069,8 @@ Parameters: ...@@ -1068,7 +1069,8 @@ Parameters:
| key | string | yes | The new GPG key | | key | string | yes | The new GPG key |
```shell ```shell
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" 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"
``` ```
Example response: Example response:
...@@ -1179,7 +1181,8 @@ Parameters: ...@@ -1179,7 +1181,8 @@ Parameters:
| `key_id` | integer | yes | The ID of the GPG key | | `key_id` | integer | yes | The ID of the GPG key |
```shell ```shell
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" 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"
``` ```
Example response: Example response:
...@@ -1589,7 +1592,8 @@ POST /users/:user_id/impersonation_tokens ...@@ -1589,7 +1592,8 @@ POST /users/:user_id/impersonation_tokens
| `scopes` | array | yes | The array of scopes of the impersonation token (`api`, `read_user`) | | `scopes` | array | yes | The array of scopes of the impersonation token (`api`, `read_user`) |
```shell ```shell
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" 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"
``` ```
Example response: Example response:
...@@ -1653,7 +1657,8 @@ POST /users/:user_id/personal_access_tokens ...@@ -1653,7 +1657,8 @@ POST /users/:user_id/personal_access_tokens
| `scopes` | array | yes | The array of scopes of the personal access token (`api`, `read_user`, `read_api`, `read_repository`, `write_repository`) | | `scopes` | array | yes | The array of scopes of the personal access token (`api`, `read_user`, `read_api`, `read_repository`, `write_repository`) |
```shell ```shell
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/personal_access_tokens" 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/personal_access_tokens"
``` ```
Example response: Example response:
......
...@@ -97,7 +97,8 @@ POST /projects/:id/wikis ...@@ -97,7 +97,8 @@ POST /projects/:id/wikis
| `format` | string | no | The format of the wiki page. Available formats are: `markdown` (default), `rdoc`, `asciidoc` and `org` | | `format` | string | no | The format of the wiki page. Available formats are: `markdown` (default), `rdoc`, `asciidoc` and `org` |
```shell ```shell
curl --data "format=rdoc&title=Hello&content=Hello world" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/wikis" curl --data "format=rdoc&title=Hello&content=Hello world" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/wikis"
``` ```
Example response: Example response:
...@@ -128,7 +129,8 @@ PUT /projects/:id/wikis/:slug ...@@ -128,7 +129,8 @@ PUT /projects/:id/wikis/:slug
| `slug` | string | yes | URL-encoded slug (a unique string) of the wiki page, such as `dir%2Fpage_name` | | `slug` | string | yes | URL-encoded slug (a unique string) of the wiki page, such as `dir%2Fpage_name` |
```shell ```shell
curl --request PUT --data "format=rdoc&content=documentation&title=Docs" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/wikis/foo" curl --request PUT --data "format=rdoc&content=documentation&title=Docs" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/wikis/foo"
``` ```
Example response: Example response:
...@@ -182,7 +184,8 @@ The `file=` parameter must point to a file on your file system and be preceded ...@@ -182,7 +184,8 @@ The `file=` parameter must point to a file on your file system and be preceded
by `@`. For example: by `@`. For example:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/1/wikis/attachments" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/1/wikis/attachments"
``` ```
Example response: Example response:
......
...@@ -79,7 +79,8 @@ Alternatively, you can use the API to protect an environment: ...@@ -79,7 +79,8 @@ Alternatively, you can use the API to protect an environment:
1. Use the API to add a user to the group as a reporter: 1. Use the API to add a user to the group as a reporter:
```shell ```shell
$ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "user_id=3222377&access_level=20" "https://gitlab.com/api/v4/groups/9899826/members" $ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "user_id=3222377&access_level=20" "https://gitlab.com/api/v4/groups/9899826/members"
{"id":3222377,"name":"Sean Carroll","username":"sfcarroll","state":"active","avatar_url":"https://assets.gitlab-static.net/uploads/-/system/user/avatar/3222377/avatar.png","web_url":"https://gitlab.com/sfcarroll","access_level":20,"created_at":"2020-10-26T17:37:50.309Z","expires_at":null} {"id":3222377,"name":"Sean Carroll","username":"sfcarroll","state":"active","avatar_url":"https://assets.gitlab-static.net/uploads/-/system/user/avatar/3222377/avatar.png","web_url":"https://gitlab.com/sfcarroll","access_level":20,"created_at":"2020-10-26T17:37:50.309Z","expires_at":null}
``` ```
...@@ -87,7 +88,8 @@ Alternatively, you can use the API to protect an environment: ...@@ -87,7 +88,8 @@ Alternatively, you can use the API to protect an environment:
1. Use the API to add the group to the project as a reporter: 1. Use the API to add the group to the project as a reporter:
```shell ```shell
$ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --request POST "https://gitlab.com/api/v4/projects/22034114/share?group_id=9899826&group_access=20" $ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--request POST "https://gitlab.com/api/v4/projects/22034114/share?group_id=9899826&group_access=20"
{"id":1233335,"project_id":22034114,"group_id":9899826,"group_access":20,"expires_at":null} {"id":1233335,"project_id":22034114,"group_id":9899826,"group_access":20,"expires_at":null}
``` ```
...@@ -95,7 +97,8 @@ Alternatively, you can use the API to protect an environment: ...@@ -95,7 +97,8 @@ Alternatively, you can use the API to protect an environment:
1. Use the API to add the group with protected environment access: 1. Use the API to add the group with protected environment access:
```shell ```shell
curl --header 'Content-Type: application/json' --request POST --data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}]}' --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.com/api/v4/projects/22034114/protected_environments" curl --header 'Content-Type: application/json' --request POST --data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}]}' \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.com/api/v4/projects/22034114/protected_environments"
``` ```
The group now has access and can be seen in the UI. The group now has access and can be seen in the UI.
......
...@@ -70,7 +70,8 @@ GET /-/chaos/leakmem?memory_mb=1024&duration_s=50&async=true ...@@ -70,7 +70,8 @@ GET /-/chaos/leakmem?memory_mb=1024&duration_s=50&async=true
| `async` | boolean | no | Set to true to leak memory in a Sidekiq background worker process | | `async` | boolean | no | Set to true to leak memory in a Sidekiq background worker process |
```shell ```shell
curl "http://localhost:3000/-/chaos/leakmem?memory_mb=1024&duration_s=10" --header 'X-Chaos-Secret: secret' curl "http://localhost:3000/-/chaos/leakmem?memory_mb=1024&duration_s=10" \
--header 'X-Chaos-Secret: secret'
curl "http://localhost:3000/-/chaos/leakmem?memory_mb=1024&duration_s=10&token=secret" curl "http://localhost:3000/-/chaos/leakmem?memory_mb=1024&duration_s=10&token=secret"
``` ```
...@@ -93,7 +94,8 @@ GET /-/chaos/cpu_spin?duration_s=50&async=true ...@@ -93,7 +94,8 @@ GET /-/chaos/cpu_spin?duration_s=50&async=true
| `async` | boolean | no | Set to true to consume CPU in a Sidekiq background worker process | | `async` | boolean | no | Set to true to consume CPU in a Sidekiq background worker process |
```shell ```shell
curl "http://localhost:3000/-/chaos/cpu_spin?duration_s=60" --header 'X-Chaos-Secret: secret' curl "http://localhost:3000/-/chaos/cpu_spin?duration_s=60" \
--header 'X-Chaos-Secret: secret'
curl "http://localhost:3000/-/chaos/cpu_spin?duration_s=60&token=secret" curl "http://localhost:3000/-/chaos/cpu_spin?duration_s=60&token=secret"
``` ```
...@@ -118,7 +120,8 @@ GET /-/chaos/db_spin?duration_s=50&async=true ...@@ -118,7 +120,8 @@ GET /-/chaos/db_spin?duration_s=50&async=true
| `async` | boolean | no | Set to true to perform the operation in a Sidekiq background worker process | | `async` | boolean | no | Set to true to perform the operation in a Sidekiq background worker process |
```shell ```shell
curl "http://localhost:3000/-/chaos/db_spin?interval_s=1&duration_s=60" --header 'X-Chaos-Secret: secret' curl "http://localhost:3000/-/chaos/db_spin?interval_s=1&duration_s=60" \
--header 'X-Chaos-Secret: secret'
curl "http://localhost:3000/-/chaos/db_spin?interval_s=1&duration_s=60&token=secret" curl "http://localhost:3000/-/chaos/db_spin?interval_s=1&duration_s=60&token=secret"
``` ```
...@@ -140,7 +143,8 @@ GET /-/chaos/sleep?duration_s=50&async=true ...@@ -140,7 +143,8 @@ GET /-/chaos/sleep?duration_s=50&async=true
| `async` | boolean | no | Set to true to sleep in a Sidekiq background worker process | | `async` | boolean | no | Set to true to sleep in a Sidekiq background worker process |
```shell ```shell
curl "http://localhost:3000/-/chaos/sleep?duration_s=60" --header 'X-Chaos-Secret: secret' curl "http://localhost:3000/-/chaos/sleep?duration_s=60" \
--header 'X-Chaos-Secret: secret'
curl "http://localhost:3000/-/chaos/sleep?duration_s=60&token=secret" curl "http://localhost:3000/-/chaos/sleep?duration_s=60&token=secret"
``` ```
...@@ -200,7 +204,8 @@ POST /-/chaos/gc ...@@ -200,7 +204,8 @@ POST /-/chaos/gc
Example request: Example request:
```shell ```shell
curl --request POST "http://localhost:3000/-/chaos/gc" --header 'X-Chaos-Secret: secret' curl --request POST "http://localhost:3000/-/chaos/gc" \
--header 'X-Chaos-Secret: secret'
curl --request POST "http://localhost:3000/-/chaos/gc?token=secret" curl --request POST "http://localhost:3000/-/chaos/gc?token=secret"
``` ```
......
...@@ -150,7 +150,8 @@ This example creates a new group. Be aware of the use of single (`'`) and double ...@@ -150,7 +150,8 @@ This example creates a new group. Be aware of the use of single (`'`) and double
(`"`) quotes. (`"`) quotes.
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"path": "my-group", "name": "My group"}' "https://gitlab.example.com/api/v4/groups" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"path": "my-group", "name": "My group"}' "https://gitlab.example.com/api/v4/groups"
``` ```
For readability, you can also set up the `--data` by using the following format: For readability, you can also set up the `--data` by using the following format:
...@@ -172,7 +173,8 @@ Instead of using JSON or URL-encoding data, you can use `multipart/form-data` wh ...@@ -172,7 +173,8 @@ Instead of using JSON or URL-encoding data, you can use `multipart/form-data` wh
properly handles data encoding: properly handles data encoding:
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "title=ssh-key" --form "key=ssh-rsa AAAAB3NzaC1yc2EA..." "https://gitlab.example.com/api/v4/users/25/keys" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "title=ssh-key" \
--form "key=ssh-rsa AAAAB3NzaC1yc2EA..." "https://gitlab.example.com/api/v4/users/25/keys"
``` ```
The above example is run by and administrator and will add an SSH public key The above example is run by and administrator and will add an SSH public key
...@@ -198,5 +200,6 @@ exclude specific users when requesting a list of users for a project, you would ...@@ -198,5 +200,6 @@ exclude specific users when requesting a list of users for a project, you would
do something like this: do something like this:
```shell ```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "skip_users[]=<user_id>" --data "skip_users[]=<user_id>" "https://gitlab.example.com/api/v4/projects/<project_id>/users" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "skip_users[]=<user_id>" \
--data "skip_users[]=<user_id>" "https://gitlab.example.com/api/v4/projects/<project_id>/users"
``` ```
...@@ -76,7 +76,9 @@ POST /internal/allowed ...@@ -76,7 +76,9 @@ POST /internal/allowed
Example request: Example request:
```shell ```shell
curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded token>" --data "key_id=11&project=gnuwget/wget2&action=git-upload-pack&protocol=ssh" "http://localhost:3001/api/v4/internal/allowed" curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded token>" \
--data "key_id=11&project=gnuwget/wget2&action=git-upload-pack&protocol=ssh" \
"http://localhost:3001/api/v4/internal/allowed"
``` ```
Example response: Example response:
...@@ -124,7 +126,8 @@ information for LFS clients when the repository is accessed over SSH. ...@@ -124,7 +126,8 @@ information for LFS clients when the repository is accessed over SSH.
Example request: Example request:
```shell ```shell
curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded token>" --data "key_id=11&project=gnuwget/wget2" "http://localhost:3001/api/v4/internal/lfs_authenticate" curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded token>" \
--data "key_id=11&project=gnuwget/wget2" "http://localhost:3001/api/v4/internal/lfs_authenticate"
``` ```
```json ```json
...@@ -258,7 +261,8 @@ GET /internal/two_factor_recovery_codes ...@@ -258,7 +261,8 @@ GET /internal/two_factor_recovery_codes
Example request: Example request:
```shell ```shell
curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" --data "key_id=7" "http://localhost:3001/api/v4/internal/two_factor_recovery_codes" curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" \
--data "key_id=7" "http://localhost:3001/api/v4/internal/two_factor_recovery_codes"
``` ```
Example response: Example response:
...@@ -305,7 +309,9 @@ POST /internal/personal_access_token ...@@ -305,7 +309,9 @@ POST /internal/personal_access_token
Example request: Example request:
```shell ```shell
curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" --data "user_id=29&name=mytokenname&scopes[]=read_user&scopes[]=read_repository&expires_at=2020-07-24" "http://localhost:3001/api/v4/internal/personal_access_token" curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" \
--data "user_id=29&name=mytokenname&scopes[]=read_user&scopes[]=read_repository&expires_at=2020-07-24" \
"http://localhost:3001/api/v4/internal/personal_access_token"
``` ```
Example response: Example response:
...@@ -339,7 +345,8 @@ POST /internal/pre_receive ...@@ -339,7 +345,8 @@ POST /internal/pre_receive
Example request: Example request:
```shell ```shell
curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" --data "gl_repository=project-7" "http://localhost:3001/api/v4/internal/pre_receive" curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" \
--data "gl_repository=project-7" "http://localhost:3001/api/v4/internal/pre_receive"
``` ```
Example response: Example response:
...@@ -371,7 +378,10 @@ POST /internal/post_receive ...@@ -371,7 +378,10 @@ POST /internal/post_receive
Example Request: Example Request:
```shell ```shell
curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" --data "gl_repository=project-7" --data "identifier=user-1" --data "changes=0000000000000000000000000000000000000000 fd9e76b9136bdd9fe217061b497745792fe5a5ee gh-pages\n" "http://localhost:3001/api/v4/internal/post_receive" curl --request POST --header "Gitlab-Shared-Secret: <Base64 encoded secret>" \
--data "gl_repository=project-7" --data "identifier=user-1" \
--data "changes=0000000000000000000000000000000000000000 fd9e76b9136bdd9fe217061b497745792fe5a5ee gh-pages\n" \
"http://localhost:3001/api/v4/internal/post_receive"
``` ```
Example response: Example response:
...@@ -418,7 +428,8 @@ GET /internal/kubernetes/agent_info ...@@ -418,7 +428,8 @@ GET /internal/kubernetes/agent_info
Example Request: Example Request:
```shell ```shell
curl --request GET --header "Gitlab-Kas-Api-Request: <JWT token>" --header "Authorization: Bearer <agent token>" "http://localhost:3000/api/v4/internal/kubernetes/agent_info" curl --request GET --header "Gitlab-Kas-Api-Request: <JWT token>" \
--header "Authorization: Bearer <agent token>" "http://localhost:3000/api/v4/internal/kubernetes/agent_info"
``` ```
### Kubernetes agent project information ### Kubernetes agent project information
...@@ -443,7 +454,8 @@ GET /internal/kubernetes/project_info ...@@ -443,7 +454,8 @@ GET /internal/kubernetes/project_info
Example Request: Example Request:
```shell ```shell
curl --request GET --header "Gitlab-Kas-Api-Request: <JWT token>" --header "Authorization: Bearer <agent token>" "http://localhost:3000/api/v4/internal/kubernetes/project_info?id=7" curl --request GET --header "Gitlab-Kas-Api-Request: <JWT token>" \
--header "Authorization: Bearer <agent token>" "http://localhost:3000/api/v4/internal/kubernetes/project_info?id=7"
``` ```
### Kubernetes agent usage metrics ### Kubernetes agent usage metrics
...@@ -463,7 +475,8 @@ POST /internal/kubernetes/usage_metrics ...@@ -463,7 +475,8 @@ POST /internal/kubernetes/usage_metrics
Example Request: Example Request:
```shell ```shell
curl --request POST --header "Gitlab-Kas-Api-Request: <JWT token>" --header "Content-Type: application/json" --data '{"gitops_sync_count":1}' "http://localhost:3000/api/v4/internal/kubernetes/usage_metrics" curl --request POST --header "Gitlab-Kas-Api-Request: <JWT token>" --header "Content-Type: application/json" \
--data '{"gitops_sync_count":1}' "http://localhost:3000/api/v4/internal/kubernetes/usage_metrics"
``` ```
### Kubernetes agent alert metrics ### Kubernetes agent alert metrics
...@@ -482,7 +495,10 @@ POST internal/kubernetes/modules/cilium_alert ...@@ -482,7 +495,10 @@ POST internal/kubernetes/modules/cilium_alert
Example Request: Example Request:
```shell ```shell
curl --request POST --header "Gitlab-Kas-Api-Request: <JWT token>" --header "Authorization: Bearer <agent token>" --header "Content-Type: application/json" --data '"{\"alert\":{\"title\":\"minimal\",\"message\":\"network problem\",\"evalMatches\":[{\"value\":1,\"metric\":\"Count\",\"tags\":{}}]}}"' "http://localhost:3000/api/v4/internal/kubernetes/modules/cilium_alert" curl --request POST --header "Gitlab-Kas-Api-Request: <JWT token>" \
--header "Authorization: Bearer <agent token>" --header "Content-Type: application/json" \
--data '"{\"alert\":{\"title\":\"minimal\",\"message\":\"network problem\",\"evalMatches\":[{\"value\":1,\"metric\":\"Count\",\"tags\":{}}]}}"' \
"http://localhost:3000/api/v4/internal/kubernetes/modules/cilium_alert"
``` ```
## Subscriptions ## Subscriptions
......
...@@ -315,7 +315,8 @@ To fix this, fetch the new GPG key: ...@@ -315,7 +315,8 @@ To fix this, fetch the new GPG key:
```shell ```shell
sudo apt install gpg-agent sudo apt install gpg-agent
curl "https://gitlab-org.gitlab.io/omnibus-gitlab/gitlab_new_gpg.key" --output /tmp/omnibus_gitlab_gpg.key curl "https://gitlab-org.gitlab.io/omnibus-gitlab/gitlab_new_gpg.key" \
--output /tmp/omnibus_gitlab_gpg.key
sudo apt-key add /tmp/omnibus_gitlab_gpg.key sudo apt-key add /tmp/omnibus_gitlab_gpg.key
``` ```
......
...@@ -603,11 +603,12 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md). ...@@ -603,11 +603,12 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
This step is optional but may help significantly speed up large indexing operations. This step is optional but may help significantly speed up large indexing operations.
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' \
"index" : { --data '{
"refresh_interval" : "-1", "index" : {
"number_of_replicas" : 0 "refresh_interval" : "-1",
} }' "number_of_replicas" : 0
} }'
``` ```
1. Index projects and their associated data: 1. Index projects and their associated data:
...@@ -684,11 +685,12 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md). ...@@ -684,11 +685,12 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
1. Enable replication and refreshing again after indexing (only if you previously disabled it): 1. Enable replication and refreshing again after indexing (only if you previously disabled it):
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' \
"index" : { --data '{
"number_of_replicas" : 1, "index" : {
"refresh_interval" : "1s" "number_of_replicas" : 1,
} }' "refresh_interval" : "1s"
} }'
``` ```
A force merge should be called after enabling the refreshing above. A force merge should be called after enabling the refreshing above.
...@@ -696,10 +698,11 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md). ...@@ -696,10 +698,11 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
For Elasticsearch 6.x, the index should be in read-only mode before proceeding with the force merge: For Elasticsearch 6.x, the index should be in read-only mode before proceeding with the force merge:
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' \
"settings": { --data '{
"index.blocks.write": true "settings": {
} }' "index.blocks.write": true
} }'
``` ```
Then, initiate the force merge: Then, initiate the force merge:
...@@ -711,10 +714,11 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md). ...@@ -711,10 +714,11 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
After this, if your index is in read-only mode, switch back to read-write: After this, if your index is in read-only mode, switch back to read-write:
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' \
"settings": { --data '{
"index.blocks.write": false "settings": {
} }' "index.blocks.write": false
} }'
``` ```
1. After the indexing has completed, enable [**Search with Elasticsearch enabled**](#enabling-advanced-search). 1. After the indexing has completed, enable [**Search with Elasticsearch enabled**](#enabling-advanced-search).
...@@ -730,21 +734,23 @@ However, some larger installations may wish to tune the merge policy settings: ...@@ -730,21 +734,23 @@ However, some larger installations may wish to tune the merge policy settings:
- Consider reducing the `index.merge.policy.max_merged_segment` size from the default 5 GB to maybe 2 GB or 3 GB. Merging only happens when a segment has at least 50% deletions. Smaller segment sizes will allow merging to happen more frequently. - Consider reducing the `index.merge.policy.max_merged_segment` size from the default 5 GB to maybe 2 GB or 3 GB. Merging only happens when a segment has at least 50% deletions. Smaller segment sizes will allow merging to happen more frequently.
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings ---header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings ---header 'Content-Type: application/json' \
"index" : { --data '{
"merge.policy.max_merged_segment": "2gb" "index" : {
} "merge.policy.max_merged_segment": "2gb"
}' }
}'
``` ```
- You can also adjust `index.merge.policy.reclaim_deletes_weight`, which controls how aggressively deletions are targeted. But this can lead to costly merge decisions, so we recommend not changing this unless you understand the tradeoffs. - You can also adjust `index.merge.policy.reclaim_deletes_weight`, which controls how aggressively deletions are targeted. But this can lead to costly merge decisions, so we recommend not changing this unless you understand the tradeoffs.
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings ---header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings ---header 'Content-Type: application/json' \
"index" : { --data '{
"merge.policy.reclaim_deletes_weight": "3.0" "index" : {
} "merge.policy.reclaim_deletes_weight": "3.0"
}' }
}'
``` ```
- Do not do a [force merge](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html "Force Merge") to remove deleted documents. A warning in the [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html "Force Merge") states that this can lead to very large segments that may never get reclaimed, and can also cause significant performance or availability issues. - Do not do a [force merge](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html "Force Merge") to remove deleted documents. A warning in the [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html "Force Merge") states that this can lead to very large segments that may never get reclaimed, and can also cause significant performance or availability issues.
...@@ -917,11 +923,12 @@ Setting the number of replicas to `0` is discouraged (this is not allowed in the ...@@ -917,11 +923,12 @@ Setting the number of replicas to `0` is discouraged (this is not allowed in the
If you have a **hard requirement to have a green status for your single node Elasticsearch cluster**, please make sure you understand the risks outlined in the previous paragraph and then run the following query to set the number of replicas to `0`(the cluster will no longer try to create any shard replicas): If you have a **hard requirement to have a green status for your single node Elasticsearch cluster**, please make sure you understand the risks outlined in the previous paragraph and then run the following query to set the number of replicas to `0`(the cluster will no longer try to create any shard replicas):
```shell ```shell
curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' \
"index" : { --data '{
"number_of_replicas" : 0 "index" : {
} "number_of_replicas" : 0
}' }
}'
``` ```
### `health check timeout: no Elasticsearch node available` error in Sidekiq ### `health check timeout: no Elasticsearch node available` error in Sidekiq
......
...@@ -633,7 +633,9 @@ Examples: ...@@ -633,7 +633,9 @@ Examples:
- Select all tags, keep at least 1 tag per image, clean up any tag older than 14 days, run once a month, preserve any images with the name `master` and the policy is enabled: - Select all tags, keep at least 1 tag per image, clean up any tag older than 14 days, run once a month, preserve any images with the name `master` and the policy is enabled:
```shell ```shell
curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" --data-binary '{"container_expiration_policy_attributes":{"cadence":"1month","enabled":true,"keep_n":1,"older_than":"14d","name_regex":"","name_regex_delete":".*","name_regex_keep":".*-master"}}' "https://gitlab.example.com/api/v4/projects/2" curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" \
--data-binary '{"container_expiration_policy_attributes":{"cadence":"1month","enabled":true,"keep_n":1,"older_than":"14d","name_regex":"","name_regex_delete":".*","name_regex_keep":".*-master"}}' \
"https://gitlab.example.com/api/v4/projects/2"
``` ```
Valid values for `cadence` when using the API are: Valid values for `cadence` when using the API are:
......
...@@ -207,7 +207,8 @@ your cluster either using [Cloud Shell](https://cloud.google.com/shell/) or the ...@@ -207,7 +207,8 @@ your cluster either using [Cloud Shell](https://cloud.google.com/shell/) or the
NAME HOSTS PORTS NAME HOSTS PORTS
production-auto-deploy fjdiaz-auto-devv-2.34.68.60.207.nip.io,le-16730183.34.68.60.207.nip.io 80, 443 production-auto-deploy fjdiaz-auto-devv-2.34.68.60.207.nip.io,le-16730183.34.68.60.207.nip.io 80, 443
$ curl --location --insecure "fjdiaz-auto-devv-2.34.68.60.207.nip.io" | grep 'Rails!' --after 2 --before 2 $ curl --location --insecure "fjdiaz-auto-devv-2.34.68.60.207.nip.io" | grep 'Rails!' --after 2 \
--before 2
<body> <body>
<p>You're on Rails!</p> <p>You're on Rails!</p>
</body> </body>
...@@ -222,7 +223,8 @@ Now let's send a potentially malicious request, as if we were a scanner, ...@@ -222,7 +223,8 @@ Now let's send a potentially malicious request, as if we were a scanner,
checking for vulnerabilities within our application and examine the ModSecurity logs: checking for vulnerabilities within our application and examine the ModSecurity logs:
```shell ```shell
$ curl --location --insecure "fjdiaz-auto-devv-2.34.68.60.207.nip.io" --header "User-Agent: absinthe" | grep 'Rails!' --after 2 --before 2 $ curl --location --insecure "fjdiaz-auto-devv-2.34.68.60.207.nip.io" --header "User-Agent: absinthe" | grep 'Rails!' --after 2 \
--before 2
<body> <body>
<p>You're on Rails!</p> <p>You're on Rails!</p>
</body> </body>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment