summaryrefslogtreecommitdiff
path: root/doc/api/deploy_key_multiple_projects.md
blob: 0c9e3e66cae113b4b0f5c4aabc98d263457bbb15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Adding deploy keys to multiple projects via API

If you want to easily add the same deploy key to multiple projects in the same
group, this can be achieved quite easily with the API.

First, find the ID of the projects you're interested in, by either listing all
projects:

```
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/projects
```

Or finding the ID of a group and then listing all projects in that group:

```
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/groups

# For group 1234:
curl --header 'PRIVATE-TOKEN: <your_access_token>' https://gitlab.example.com/api/v4/groups/1234
```

With those IDs, add the same deploy key to all:

```
for project_id in 321 456 987; do
    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --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
```