gitlab-org--gitlab-foss/doc/api/namespaces.md
Mark Chao 15469fe0a1 doc
2018-06-06 21:01:44 +09:00

2.7 KiB

Namespaces API

Usernames and groupnames fall under a special category called namespaces.

For users and groups supported API calls see the users and groups documentation respectively.

Pagination is used.

List namespaces

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.

GET /namespaces

Example request:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces

Example response:

[
  {
    "id": 1,
    "name": "user1",
    "path": "user1",
    "kind": "user",
    "full_path": "user1"
  },
  {
    "id": 2,
    "name": "group1",
    "path": "group1",
    "kind": "group",
    "full_path": "group1",
    "parent_id": null,
    "members_count_with_descendants": 2
  },
  {
    "id": 3,
    "name": "bar",
    "path": "bar",
    "kind": "group",
    "full_path": "foo/bar",
    "parent_id": 9,
    "members_count_with_descendants": 5
  }
]

Note: members_count_with_descendants are presented only for group maintainers/owners.

Search for namespace

Get all namespaces that match a string in their name or path.

GET /namespaces?search=foobar
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:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces?search=twitter

Example response:

[
  {
    "id": 4,
    "name": "twitter",
    "path": "twitter",
    "kind": "group",
    "full_path": "twitter",
    "parent_id": null,
    "members_count_with_descendants": 2
  }
]

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:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces/2

Example response:

{
  "id": 2,
  "name": "group1",
  "path": "group1",
  "kind": "group",
  "full_path": "group1",
  "parent_id": null,
  "members_count_with_descendants": 2
}

Example request:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/namespaces/group1

Example response:

{
  "id": 2,
  "name": "group1",
  "path": "group1",
  "kind": "group",
  "full_path": "group1",
  "parent_id": null,
  "members_count_with_descendants": 2
}