debian-mirror-gitlab/doc/api/namespaces.md

144 lines
2.7 KiB
Markdown
Raw Normal View History

2017-09-10 17:25:29 +05:30
# Namespaces API
2015-09-11 14:41:01 +05:30
2016-04-02 18:10:28 +05:30
Usernames and groupnames fall under a special category called namespaces.
For users and groups supported API calls see the [users](users.md) and
[groups](groups.md) documentation respectively.
[Pagination](README.md#pagination) is used.
2015-09-11 14:41:01 +05:30
## List namespaces
2016-04-02 18:10:28 +05:30
Get a list of the namespaces of the authenticated user. If the user is an
administrator, a list of all namespaces in the GitLab instance is shown.
2015-09-11 14:41:01 +05:30
```
GET /namespaces
```
2016-04-02 18:10:28 +05:30
Example request:
```bash
2017-08-17 22:00:37 +05:30
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces
2016-04-02 18:10:28 +05:30
```
Example response:
2015-09-11 14:41:01 +05:30
```json
[
{
"id": 1,
2018-03-17 18:26:18 +05:30
"name": "user1",
2015-09-11 14:41:01 +05:30
"path": "user1",
2017-09-10 17:25:29 +05:30
"kind": "user",
"full_path": "user1"
2015-09-11 14:41:01 +05:30
},
{
"id": 2,
2018-03-17 18:26:18 +05:30
"name": "group1",
2015-09-11 14:41:01 +05:30
"path": "group1",
2017-09-10 17:25:29 +05:30
"kind": "group",
"full_path": "group1",
"parent_id": "null",
"members_count_with_descendants": 2
2017-08-17 22:00:37 +05:30
},
{
"id": 3,
2018-03-17 18:26:18 +05:30
"name": "bar",
2017-08-17 22:00:37 +05:30
"path": "bar",
"kind": "group",
"full_path": "foo/bar",
2017-09-10 17:25:29 +05:30
"parent_id": "9",
"members_count_with_descendants": 5
2015-09-11 14:41:01 +05:30
}
]
```
2017-09-10 17:25:29 +05:30
**Note**: `members_count_with_descendants` are presented only for group masters/owners.
2015-09-11 14:41:01 +05:30
## Search for namespace
2016-04-02 18:10:28 +05:30
Get all namespaces that match a string in their name or path.
2015-09-11 14:41:01 +05:30
```
GET /namespaces?search=foobar
```
2016-04-02 18:10:28 +05:30
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `search` | string | no | Returns a list of namespaces the user is authorized to see based on the search criteria |
Example request:
```bash
2017-08-17 22:00:37 +05:30
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces?search=twitter
2016-04-02 18:10:28 +05:30
```
Example response:
2015-09-11 14:41:01 +05:30
```json
[
{
2016-04-02 18:10:28 +05:30
"id": 4,
2018-03-17 18:26:18 +05:30
"name": "twitter",
2016-04-02 18:10:28 +05:30
"path": "twitter",
2017-08-17 22:00:37 +05:30
"kind": "group",
"full_path": "twitter",
2017-09-10 17:25:29 +05:30
"parent_id": "null",
"members_count_with_descendants": 2
2015-09-11 14:41:01 +05:30
}
]
```
2018-03-17 18:26:18 +05:30
## Get namespace by ID
Get a namespace by ID.
```
GET /namespaces/:id
```
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | ID or path of the namespace |
Example request:
```bash
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces/2
```
Example response:
```json
{
"id": 2,
"name": "group1",
"path": "group1",
"kind": "group",
"full_path": "group1",
"parent_id": "null",
"members_count_with_descendants": 2
}
```
Example request:
```bash
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces/group1
```
Example response:
```json
{
"id": 2,
"name": "group1",
"path": "group1",
"kind": "group",
"full_path": "group1",
"parent_id": "null",
"members_count_with_descendants": 2
}
```