ユーザーAPI

ユーザー一覧

アクティブユーザー=総アカウント数-ブロックされたユーザー数

ユーザーのリストを取得します。

この関数はページネーションパラメータpageper_page を受け取り、ユーザーのリストを制限します。

一般ユーザー

GET /users
[
  {
    "id": 1,
    "username": "john_smith",
    "name": "John Smith",
    "state": "active",
    "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
    "web_url": "http://localhost:3000/john_smith"
  },
  {
    "id": 2,
    "username": "jack_smith",
    "name": "Jack Smith",
    "state": "blocked",
    "avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
    "web_url": "http://localhost:3000/jack_smith"
  }
]

また、?search=を使用して、名前またはプライマリ E メールでユーザーを検索することもできます。 たとえば、/users?search=John

また、ユーザー名でユーザーを検索することもできます:

GET /users?username=:username

使用例:

GET /users?username=jack_smith

さらに、blockedactiveのように、状態に基づいてユーザーをフィルタリングすることもできます。 これは、blocked またはactiveのユーザーをフィルタリングする場合にのみ機能します。active=false またはblocked=falseには対応していません。

GET /users?active=true
GET /users?blocked=true
注:ユーザー名検索では、大文字と小文字は区別されません。

管理者の方へ

GET /users
属性 タイプ 必須 説明
order_by いいえ idnameusernamecreated_atupdated_at のフィールド順にユーザーを返します。 デフォルトは次のとおりです。id
sort いいえ ユーザーをasc またはdesc 順序で descソートして返しますdesc 。 デフォルトは desc
two_factor いいえ フィルタ値はenabled またはdisabledです。 デフォルトでは、すべてのユーザを返します。
without_projects ブーリアン いいえ プロジェクトを持たないユーザーをフィルタリングします。 デフォルトはfalse
[
  {
    "id": 1,
    "username": "john_smith",
    "email": "john@example.com",
    "name": "John Smith",
    "state": "active",
    "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
    "web_url": "http://localhost:3000/john_smith",
    "created_at": "2012-05-23T08:00:58Z",
    "is_admin": false,
    "bio": null,
    "bio_html": null,
    "location": null,
    "skype": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": "",
    "job_title": "",
    "last_sign_in_at": "2012-06-01T11:41:01Z",
    "confirmed_at": "2012-05-23T09:05:22Z",
    "theme_id": 1,
    "last_activity_on": "2012-05-23",
    "color_scheme_id": 2,
    "projects_limit": 100,
    "current_sign_in_at": "2012-06-02T06:36:55Z",
    "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123",
    "identities": [
      {"provider": "github", "extern_uid": "2435223452345"},
      {"provider": "bitbucket", "extern_uid": "john.smith"},
      {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}
    ],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": true,
    "external": false,
    "private_profile": false,
    "current_sign_in_ip": "196.165.1.102",
    "last_sign_in_ip": "172.127.2.22"
  },
  {
    "id": 2,
    "username": "jack_smith",
    "email": "jack@example.com",
    "name": "Jack Smith",
    "state": "blocked",
    "avatar_url": "http://localhost:3000/uploads/user/avatar/2/index.jpg",
    "web_url": "http://localhost:3000/jack_smith",
    "created_at": "2012-05-23T08:01:01Z",
    "is_admin": false,
    "bio": null,
    "bio_html": null,
    "location": null,
    "skype": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": "",
    "job_title": "",
    "last_sign_in_at": null,
    "confirmed_at": "2012-05-30T16:53:06.148Z",
    "theme_id": 1,
    "last_activity_on": "2012-05-23",
    "color_scheme_id": 3,
    "projects_limit": 100,
    "current_sign_in_at": "2014-03-19T17:54:13Z",
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": true,
    "external": false,
    "private_profile": false,
    "current_sign_in_ip": "10.165.1.102",
    "last_sign_in_ip": "172.127.2.22"
  }
]

GitLabStarter、Bronze以上のユーザーには、shared_runners_minutes_limitextra_shared_runners_minutes_limit パラメータも表示されます。

[
  {
    "id": 1,
    ...
    "shared_runners_minutes_limit": 133,
    "extra_shared_runners_minutes_limit": 133,
    ...
  }
]

GitLabSilver 以上のユーザーには、group_saml プロバイダーオプションも表示されます:

[
  {
    "id": 1,
    ...
    "identities": [
      {"provider": "github", "extern_uid": "2435223452345"},
      {"provider": "bitbucket", "extern_uid": "john.smith"},
      {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"},
      {"provider": "group_saml", "extern_uid": "123789", "saml_provider_id": 10}
    ],
    ...
  }
]

外部UIDとプロバイダからユーザーを検索できます:

GET /users?extern_uid=:extern_uid&provider=:provider

使用例:

GET /users?extern_uid=1234567&provider=github

で外部ユーザーを検索できます:/users?external=true

で作成日時の範囲でユーザーを検索できます:

GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060

プロジェクトのないユーザーを検索できます:/users?without_projects=true

カスタム属性でフィルタリングできます:

GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value

を使って、ユーザーのカスタム属性をレスポンスに含めることができます:

GET /users?with_custom_attributes=true

シングルユーザー

シングルユーザーを取得します。

ユーザー

GET /users/:id

パラメーター

  • id (必須) - ユーザーのID
{
  "id": 1,
  "username": "john_smith",
  "name": "John Smith",
  "state": "active",
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
  "web_url": "http://localhost:3000/john_smith",
  "created_at": "2012-05-23T08:00:58Z",
  "bio": null,
  "bio_html": null,
  "location": null,
  "public_email": "john@example.com",
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "job_title": "Operations Specialist"
}

管理者用

GET /users/:id

パラメーター

  • id (必須) - ユーザーのID

回答例

{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "state": "active",
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
  "web_url": "http://localhost:3000/john_smith",
  "created_at": "2012-05-23T08:00:58Z",
  "is_admin": false,
  "bio": null,
  "bio_html": null,
  "location": null,
  "public_email": "john@example.com",
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "job_title": "Operations Specialist",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "theme_id": 1,
  "last_activity_on": "2012-05-23",
  "color_scheme_id": 2,
  "projects_limit": 100,
  "current_sign_in_at": "2012-06-02T06:36:55Z",
  "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123",
  "identities": [
    {"provider": "github", "extern_uid": "2435223452345"},
    {"provider": "bitbucket", "extern_uid": "john.smith"},
    {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}
  ],
  "can_create_group": true,
  "can_create_project": true,
  "two_factor_enabled": true,
  "external": false,
  "private_profile": false,
  "current_sign_in_ip": "196.165.1.102",
  "last_sign_in_ip": "172.127.2.22",
  "plan": "gold",
  "trial": true
}
注: plantrial パラメータは GitLab Enterprise Edition でのみ利用可能です。

GitLabStarter、Bronze以上のユーザーには、shared_runners_minutes_limitextra_shared_runners_minutes_limit パラメータも表示されます。

{
  "id": 1,
  "username": "john_smith",
  "shared_runners_minutes_limit": 133,
  "extra_shared_runners_minutes_limit": 133,
  ...
}

GitLab.comSilver以上のユーザーには、group_saml のオプションも表示されます:

{
  "id": 1,
  "username": "john_smith",
  "shared_runners_minutes_limit": 133,
  "extra_shared_runners_minutes_limit": 133,
  "identities": [
    {"provider": "github", "extern_uid": "2435223452345"},
    {"provider": "bitbucket", "extern_uid": "john.smith"},
    {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"},
    {"provider": "group_saml", "extern_uid": "123789", "saml_provider_id": 10}
  ],
  ...
}

を使って、ユーザーのカスタム属性をレスポンスに含めることができます:

GET /users/:id?with_custom_attributes=true

ユーザー作成

新規ユーザーを作成します。 新規ユーザーを作成できるのは管理者のみであることに注意してください。passwordreset_passwordforce_random_passwordのいずれかを指定する必要があります。reset_passwordforce_random_password が両方ともfalseの場合は、password が必要です。

なお、force_random_passwordreset_passwordpasswordより優先されます。また、reset_passwordforce_random_password は併用可能です。

注:GitLab 12.1以降、private_profile はデフォルトでfalseになります。
POST /users

パラメーター

属性 必須 説明
admin いいえ ユーザが管理者である - true または false(デフォルト)
avatar いいえ ユーザーのアバター用画像ファイル
bio いいえ ユーザー略歴
can_create_group いいえ ユーザーがグループを作成できる - true または false
color_scheme_id いいえ ファイルビューアのユーザーカラースキーム(詳細については、ユーザー設定ドキュメントを参照してください)
email はい メール
extern_uid いいえ 外部UID
external いいえ ユーザを外部ユーザとしてフラグ付け - true または false (デフォルト)
extra_shared_runners_minutes_limit いいえ このユーザーの追加パイプライン分数枠(プランに含まれる分数とは別に購入します)
force_random_password いいえ ユーザーパスワードをランダムな値に設定 - true または false(デフォルト)
group_id_for_saml いいえ SAML が設定されているグループの ID
linkedin いいえ LinkedIn
location いいえ ユーザーの所在地
name はい 名称
note いいえ このユーザーの管理メモ
organization いいえ 組織名
password いいえ パスワード
private_profile いいえ ユーザーのプロフィールが非公開かどうか - true、false (デフォルト)、またはnull (falseに変換されます)
projects_limit いいえ ユーザーが作成できるプロジェクトの数
provider いいえ 外部プロバイダー名
public_email いいえ ユーザーの公開メール
reset_password いいえ ユーザパスワードリセットリンクの送信 - true または false(デフォルト)
shared_runners_minutes_limit いいえ このユーザーのパイプライン分数クォータ(プランに含まれます)。nil (デフォルト、システムデフォルトを継承)、0 (無制限)、または> 0
skip_confirmation いいえ 確認をスキップ - true または false(デフォルト)
skype いいえ スカイプID
theme_id いいえ そのユーザーの GitLab テーマ (詳しくはユーザー設定のドキュメントを参照)
twitter いいえ Twitterアカウント
username はい ユーザー名
website_url いいえ ウェブサイトURL

ユーザーの変更

既存のユーザーを変更します。 ユーザーの属性を変更できるのは管理者のみです。

PUT /users/:id

パラメーター

属性 必須 説明
admin いいえ ユーザが管理者である - true または false(デフォルト)
avatar いいえ ユーザーのアバター用画像ファイル
bio いいえ ユーザー略歴
can_create_group いいえ ユーザーがグループを作成できる - true または false
color_scheme_id いいえ ファイルビューアのユーザーカラースキーム(詳細については、ユーザー設定ドキュメントを参照してください)
email いいえ メール
extern_uid いいえ 外部UID
external いいえ ユーザを外部ユーザとしてフラグ付け - true または false (デフォルト)
extra_shared_runners_minutes_limit いいえ このユーザーの追加パイプライン分数枠(プランに含まれる分数とは別に購入します)
group_id_for_saml いいえ SAML が設定されているグループの ID
id はい ユーザーのID
linkedin いいえ LinkedIn
location いいえ ユーザーの所在地
name いいえ 名称
note いいえ このユーザーの管理メモ
organization いいえ 組織名
password いいえ パスワード
private_profile いいえ ユーザーのプロフィールが非公開かどうか - true、false (デフォルト)、またはnull (falseに変換されます)
projects_limit いいえ 各ユーザーが作成できるプロジェクトの制限
provider いいえ 外部プロバイダー名
public_email いいえ ユーザーの公開メール
shared_runners_minutes_limit いいえ このユーザーのパイプライン分数クォータ(プランに含まれます)。nil (デフォルト、システムデフォルトを継承)、0 (無制限)、または> 0
skip_reconfirmation いいえ リコンファームをスキップ - true または false(デフォルト)
skype いいえ スカイプID
theme_id いいえ そのユーザーの GitLab テーマ (詳しくはユーザー設定のドキュメントを参照)
twitter いいえ Twitterアカウント
username いいえ ユーザー名
website_url いいえ ウェブサイトURL

パスワードが更新されると、ユーザは次回ログイン時に強制的にパスワードを変更させられます。 今のところ、このメソッドは409 (Conflict) の方が適切な場合でも、404 エラーしか返さないことに注意してください。 例えば、メールアドレスの名前を既存のものに変更する場合などです。

ユーザーから認証IDを削除

管理者のみが使用できます。

DELETE /users/:id/identities/:provider

パラメーター

  • id (必須) - ユーザーのID
  • provider (必須) - 外部プロバイダー名

ユーザー削除

ユーザーを削除します。 管理者のみが利用可能です。オペレーションに成功した場合は204 No Content ステータスコードを、リソースが見つからなかった場合は404 ステータスコードを、ユーザーをソフト削除できなかった場合は409 ステータスコードを返します。

DELETE /users/:id

パラメーター

  • id (必須) - ユーザーのID
  • hard_delete (オプション) - trueの場合、通常ゴーストユーザーに移動される貢献者は、このユーザーのみが所有するグループと同様に、代わりに削除されます。

現在のユーザーをリストアップ(一般ユーザーの場合)

現在認証されているユーザーを取得します。

GET /user
{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "state": "active",
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
  "web_url": "http://localhost:3000/john_smith",
  "created_at": "2012-05-23T08:00:58Z",
  "bio": null,
  "bio_html": null,
  "location": null,
  "public_email": "john@example.com",
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "theme_id": 1,
  "last_activity_on": "2012-05-23",
  "color_scheme_id": 2,
  "projects_limit": 100,
  "current_sign_in_at": "2012-06-02T06:36:55Z",
  "identities": [
    {"provider": "github", "extern_uid": "2435223452345"},
    {"provider": "bitbucket", "extern_uid": "john_smith"},
    {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}
  ],
  "can_create_group": true,
  "can_create_project": true,
  "two_factor_enabled": true,
  "external": false,
  "private_profile": false
}

現在のユーザを一覧表示(管理者用)

パラメーター

  • sudo (オプション) - 代理で電話をかけるユーザーのID。
GET /user
{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "state": "active",
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
  "web_url": "http://localhost:3000/john_smith",
  "created_at": "2012-05-23T08:00:58Z",
  "is_admin": false,
  "bio": null,
  "bio_html": null,
  "location": null,
  "public_email": "john@example.com",
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "job_title": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "theme_id": 1,
  "last_activity_on": "2012-05-23",
  "color_scheme_id": 2,
  "projects_limit": 100,
  "current_sign_in_at": "2012-06-02T06:36:55Z",
  "identities": [
    {"provider": "github", "extern_uid": "2435223452345"},
    {"provider": "bitbucket", "extern_uid": "john_smith"},
    {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}
  ],
  "can_create_group": true,
  "can_create_project": true,
  "two_factor_enabled": true,
  "external": false,
  "private_profile": false,
  "current_sign_in_ip": "196.165.1.102",
  "last_sign_in_ip": "172.127.2.22"
}

ユーザーステータス

現在ログインしているユーザーのステータスを取得します。

GET /user/status
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user/status"

回答例

{
  "emoji":"coffee",
  "message":"I crave coffee :coffee:",
  "message_html": "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>"
}

ユーザーのステータス取得

ユーザーのステータスを取得します。

GET /users/:id_or_username/status
属性 タイプ 必須 説明
id_or_username はい ステータスを取得するユーザーのIDまたはユーザー名。
curl "https://gitlab.example.com/users/janedoe/status"

回答例

{
  "emoji":"coffee",
  "message":"I crave coffee :coffee:",
  "message_html": "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>"
}

ユーザーステータスの設定

現在のユーザーのステータスを設定します。

PUT /user/status
属性 タイプ 必須 説明
emoji いいえ ステータスとして使用する絵文字の名前。省略された場合はspeech_balloon が使用されます。 絵文字名はGemojione インデックスで指定された名前のいずれかを使用できます。
message いいえ ステータスとして設定するメッセージ。 絵文字コードを含めることもできます。

パラメータemojimessage の両方が空の場合、ステータスはクリアされます。

curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "emoji=coffee" --data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status"

回答例

{
  "emoji":"coffee",
  "message":"I crave coffee",
  "message_html": "I crave coffee"
}

ユーザー数

現在ログインしているユーザーのカウント数(右上のメニューと同じ)を取得します。

属性 タイプ 説明
merge_requests 番号 アクティブで、現在のユーザーに割り当てられているリクエストをマージします。
GET /user_counts
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user_counts"

回答例

{
  "merge_requests": 4
}

ユーザープロジェクト一覧

ユーザープロジェクト一覧をご参照ください。

SSHキー一覧

現在認証されているユーザーの SSH キーの一覧を取得します。

GET /user/keys
[
  {
    "id": 1,
    "title": "Public key",
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
    "created_at": "2014-08-01T14:47:39.080Z"
  },
  {
    "id": 3,
    "title": "Another Public key",
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
    "created_at": "2014-08-01T14:47:39.080Z"
  }
]

パラメーター

  • 皆無

ユーザーのSSHキーを一覧表示します。

指定したユーザーのSSHキーの一覧を取得します。

GET /users/:id_or_username/keys
属性 タイプ 必須 説明
id_or_username はい SSH キーを取得するユーザーの ID またはユーザー名。

単一のSSHキー

キーを1つ取得します。

GET /user/keys/:key_id

パラメーター

  • key_id (必須) - SSHキーのID。
{
  "id": 1,
  "title": "Public key",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2014-08-01T14:47:39.080Z"
}

SSHキーの追加

現在認証されているユーザーが所有する新しい鍵を作成します。

POST /user/keys

パラメーター

  • title (必須) - 新しいSSHキーのタイトル。
  • key (必須) - 新しい SSH キー。
  • expires_at (オプション) - SSH キーの有効期限。ISO 8601 形式 (YYYY-MM-DDTHH:MM:SSZ) で指定します。
{
  "title": "ABC",
  "key": "ssh-dss AAAAB3NzaC1kc3MAAACBAMLrhYgI3atfrSD6KDas1b/3n6R/HP+bLaHHX6oh+L1vg31mdUqK0Ac/NjZoQunavoyzqdPYhFz9zzOezCrZKjuJDS3NRK9rspvjgM0xYR4d47oNZbdZbwkI4cTv/gcMlquRy0OvpfIvJtjtaJWMwTLtM5VhRusRuUlpH99UUVeXAAAAFQCVyX+92hBEjInEKL0v13c/egDCTQAAAIEAvFdWGq0ccOPbw4f/F8LpZqvWDydAcpXHV3thwb7WkFfppvm4SZte0zds1FJ+Hr8Xzzc5zMHe6J4Nlay/rP4ewmIW7iFKNBEYb/yWa+ceLrs+TfR672TaAgO6o7iSRofEq5YLdwgrwkMmIawa21FrZ2D9SPao/IwvENzk/xcHu7YAAACAQFXQH6HQnxOrw4dqf0NqeKy1tfIPxYYUZhPJfo9O0AmBW2S36pD2l14kS89fvz6Y1g8gN/FwFnRncMzlLY/hX70FSc/3hKBSbH6C6j8hwlgFKfizav21eS358JJz93leOakJZnGb8XlWvz1UJbwCsnR2VEY8Dz90uIk1l/UqHkA= loic@call",
  "expires_at": "2016-01-21T00:00:00.000Z"
}

成功すると、作成されたキーがステータス201 Created で返されます。 エラーが発生した場合は、400 Bad Request にエラーを説明するメッセージが返されます:

{
  "message": {
    "fingerprint": [
      "has already been taken"
    ],
    "key": [
      "has already been taken"
    ]
  }
}

ユーザーのSSHキーを追加します。

指定されたユーザが所有する新しいキーを作成します。 admin でのみ利用可能です。

POST /users/:id/keys

パラメーター

  • id (必須) - 指定したユーザーのID
  • title (必須) - 新しいSSHキーのタイトル。
  • key (必須) - 新しい SSH キー。
  • expires_at (オプション) - SSH キーの有効期限。ISO 8601 形式 (YYYY-MM-DDTHH:MM:SSZ) で指定します。
注:これは、監査インスタンス・イベントで説明されているように、監査イベントも追加します。

現在のユーザーのSSHキーを削除します。

現在認証されているユーザが所有するキーを削除します。 オペレーションに成功した場合は204 No Content ステータスコードを返し、 リソースが見つからなかった場合は404 を返します。

DELETE /user/keys/:key_id

パラメーター

  • key_id (必須) - SSHキーID

指定したユーザのSSHキーを削除します。

指定したユーザが所有するキーを削除します。 admin のみ有効です。

DELETE /users/:id/keys/:key_id

パラメーター

  • id (必須) - 指定したユーザーのID
  • key_id (必須) - SSHキーID

すべての GPG 鍵を一覧表示します。

現在認証されているユーザーの GPG 鍵の一覧を取得します。

GET /user/gpg_keys
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"

回答例

[
    {
        "id": 1,
        "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",
        "created_at": "2017-09-05T09:17:46.264Z"
    }
]

特定のGPGキーを取得

現在認証されているユーザの特定の GPG 鍵を取得します。

GET /user/gpg_keys/:key_id

パラメーター

属性 タイプ 必須 説明
key_id 整数 はい GPGキーのID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys/1"

回答例

  {
      "id": 1,
      "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",
      "created_at": "2017-09-05T09:17:46.264Z"
  }

GPGキーの追加

現在認証されているユーザーが所有する新しい GPG 鍵を作成します。

POST /user/gpg_keys

パラメーター

属性 タイプ 必須 説明
キー はい 新しい GPG キー
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"

回答例

[
    {
        "id": 1,
        "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",
        "created_at": "2017-09-05T09:17:46.264Z"
    }
]

GPGキーの削除

現在認証されているユーザが所有する GPG 鍵を削除します。

DELETE /user/gpg_keys/:key_id

パラメーター

属性 タイプ 必須 説明
key_id 整数 はい GPGキーのID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys/1"

成功した場合は204 No Content を、キーが見つからない場合は404 Not found を返します。

指定したユーザのすべての GPG 鍵を一覧表示します。

指定したユーザーのGPG鍵のリストを取得します。 管理者のみ利用可能です。

GET /users/:id/gpg_keys

パラメーター

属性 タイプ 必須 説明
id 整数 はい ユーザーのID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"

回答例

[
    {
        "id": 1,
        "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",
        "created_at": "2017-09-05T09:17:46.264Z"
    }
]

指定したユーザーの特定の GPG キーを取得します。

指定したユーザの特定の GPG キーを取得します。 管理者のみ利用可能です。

GET /users/:id/gpg_keys/:key_id

パラメーター

属性 タイプ 必須 説明
id 整数 はい ユーザーのID
key_id 整数 はい GPGキーのID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"

回答例

  {
      "id": 1,
      "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",
      "created_at": "2017-09-05T09:17:46.264Z"
  }

指定したユーザーのGPGキーを追加

指定したユーザが所有する新しいGPGキーを作成します。 管理者のみ利用可能です。

POST /users/:id/gpg_keys

パラメーター

属性 タイプ 必須 説明
id 整数 はい ユーザーのID
key_id 整数 はい GPGキーのID
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"

回答例

[
    {
        "id": 1,
        "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----",
        "created_at": "2017-09-05T09:17:46.264Z"
    }
]

指定したユーザーの GPG 鍵を削除します。

指定したユーザが所有する GPG キーを削除します。 管理者のみ利用可能です。

DELETE /users/:id/gpg_keys/:key_id

パラメーター

属性 タイプ 必須 説明
id 整数 はい ユーザーのID
key_id 整数 はい GPGキーのID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"

リストEメール

現在認証されているユーザの電子メールのリストを取得します。

GET /user/emails
[
  {
    "id": 1,
    "email": "email@example.com"
  },
  {
    "id": 3,
    "email": "email2@example.com"
  }
]

パラメーター

  • 皆無

ユーザーのEメールをリストアップ

指定したユーザの電子メールのリストを取得します。 管理者のみ利用可能です。

GET /users/:id/emails

パラメーター

  • id (必須) - 指定したユーザーのID

シングルメール

一通のメールを受信します。

GET /user/emails/:email_id

パラメーター

  • email_id (必須) - EメールID
{
  "id": 1,
  "email": "email@example.com"
}

電子メールの追加

現在認証されているユーザが所有する新しい電子メールを作成します。

POST /user/emails

パラメーター

  • email (必須) - メールアドレス
{
  "id": 4,
  "email": "email@example.com"
}

成功すると、作成されたメールがステータス201 Created で返されます。 エラーが発生した場合は、400 Bad Request にエラーの説明メッセージが返されます:

{
  "message": {
    "email": [
      "has already been taken"
    ]
  }
}

ユーザーのEメールを追加

指定したユーザが所有するメールを新規作成します。 管理者のみ利用可能です。

POST /users/:id/emails

パラメーター

  • id (必須) - 指定したユーザーのID
  • email (必須) - メールアドレス
  • skip_confirmation (オプション) - 確認をスキップし、電子メールが確認されたものとします - true または false (デフォルト)

現在のユーザーのメールを削除

現在認証されているユーザが所有するメールを削除します。 オペレーションに成功した場合は204 No Content ステータスコードを返し、 リソースが見つからなかった場合は404 を返します。

DELETE /user/emails/:email_id

パラメーター

  • email_id (必須) - EメールID

指定したユーザーのメールを削除

指定したユーザが所有するメールを削除します。 管理者のみ利用可能です。

DELETE /users/:id/emails/:email_id

パラメーター

  • id (必須) - 指定したユーザーのID
  • email_id (必須) - EメールID

ブロックユーザー

指定したユーザーをブロックします。 管理者のみ有効です。

POST /users/:id/block

パラメーター

  • id (必須) - 指定したユーザーのID

リターンズ

  • 201 OK 成功について
  • 404 User Not Found ユーザが見つからない場合
  • 403 Forbidden LDAP同期によって既にブロックされているユーザーをブロックしようとしたとき。

ブロック解除

指定したユーザのブロックを解除します。 管理者のみ有効です。

POST /users/:id/unblock

パラメーター

  • id (必須) - 指定したユーザーのID

成功した場合は201 OK を、ユーザが見つからない場合は404 User Not Found を、LDAP 同期によってブロックされたユーザのブロックを解除しようとした場合は403 Forbidden を返します。

ユーザーの無効化

GitLab 12.4で導入されました

指定されたユーザーを停止します。 admin のみ有効です。

POST /users/:id/deactivate

パラメーター

  • id (必須) - 指定したユーザーのID

リターンズ

  • 201 OK 成功について
  • 404 User Not Found ユーザが見つからない場合
  • 403 Forbidden ユーザーを無効化しようとしたとき:
    • 管理者またはLDAP同期によってブロックされています。
    • 過去180日以内にアクティビティがあったユーザー。 これらのユーザーを無効にすることはできません。

ユーザーのアクティベート

GitLab 12.4で導入されました

指定したユーザーをアクティブにします。 admin のみ有効です。

POST /users/:id/activate

パラメーター

  • id (必須) - 指定したユーザーのID

リターンズ

  • 201 OK 成功について
  • 404 User Not Found ユーザが見つからない場合
  • 403 Forbidden 管理者またはLDAP同期によってブロックされたユーザーをアクティブにしようとしたとき。

ユーザー貢献イベントの取得

イベントAPIのドキュメントを参照してください。

ユーザーのすべてのなりすましトークンを取得します。

管理者権限が必要です。

これは、ユーザのすべてのなりすましトークンを取得します。 なりすましトークンのリストを制限するには、ページ分割パラメータpageper_page を使用します。

GET /users/:user_id/impersonation_tokens

パラメーター

属性 タイプ 必須 説明
user_id 整数 はい ユーザーのID
state いいえ 状態 (all,active,inactive) に基づいてトークンをフィルタリングします。
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"

回答例

[
   {
      "active" : true,
      "scopes" : [
         "api"
      ],
      "revoked" : false,
      "name" : "mytoken",
      "id" : 2,
      "created_at" : "2017-03-17T17:18:09.283Z",
      "impersonation" : true,
      "expires_at" : "2017-04-04"
   },
   {
      "active" : false,
      "scopes" : [
         "read_user"
      ],
      "revoked" : true,
      "name" : "mytoken2",
      "created_at" : "2017-03-17T17:19:28.697Z",
      "id" : 3,
      "impersonation" : true,
      "expires_at" : "2017-04-14"
   }
]

ユーザーのなりすましトークンの取得

管理者権限が必要です。

ユーザーのなりすましトークンを表示します。

GET /users/:user_id/impersonation_tokens/:impersonation_token_id

パラメーター

属性 タイプ 必須 説明
user_id 整数 はい ユーザーのID
impersonation_token_id 整数 はい なりすましトークンのID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2"

回答例

{
   "active" : true,
   "scopes" : [
      "api"
   ],
   "revoked" : false,
   "name" : "mytoken",
   "id" : 2,
   "created_at" : "2017-03-17T17:18:09.283Z",
   "impersonation" : true,
   "expires_at" : "2017-04-04"
}

なりすましトークンの作成

管理者権限が必要です。 トークンの値は一度だけ返されます。 必ず保存してください - 二度とアクセスできなくなります。

これは、新しいなりすましトークンを作成します。 これは管理者しかできないことに注意しましょう。 ユーザーになりすまし、APIコールとGitの読み書きの両方を実行するためのなりすましトークンを作成できるのは管理者のみです。 ユーザーはこれらのトークンをプロフィール設定ページで見ることはできません。

POST /users/:user_id/impersonation_tokens
属性 タイプ 必須 説明
user_id 整数 はい ユーザーのID
name はい なりすましトークンの名前
expires_at 日付 いいえ なりすましトークンの有効期限(ISO形式) (YYYY-MM-DD)
scopes アレイ はい なりすましトークンのスコープの配列 (api,read_user)
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"

回答例

{
   "id" : 2,
   "revoked" : false,
   "scopes" : [
      "api"
   ],
   "token" : "EsMo-vhKfXGwX9RKrwiy",
   "active" : true,
   "impersonation" : true,
   "name" : "mytoken",
   "created_at" : "2017-03-17T17:18:09.283Z",
   "expires_at" : "2017-04-04"
}

なりすましトークンの取り消し

管理者権限が必要です。

なりすましトークンを取り消します。

DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1"

パラメーター

属性 タイプ 必須 説明
user_id 整数 はい ユーザーのID
impersonation_token_id 整数 はい なりすましトークンのID

ユーザーのアクティビティを取得(管理者のみ)

注:このAPIエンドポイントは、8.15(EE) および 9.1(CE) 以上でのみ利用可能です。

全ユーザーの最終アクティビティ日付を、古いものから新しいものへとソートして取得します。

タイムスタンプを更新するアクティビティは以下の通り:

  • git HTTP/SSH アクティビティ(clone や push など)
  • GitLabにログインしているユーザー
  • ダッシュボード、プロジェクト、イシュー、マージリクエストに関連するページを訪問するユーザー(GitLab 11.8 で導入)
  • APIを使用するユーザー
  • GraphQL API を使用するユーザー

デフォルトでは、過去6ヶ月間の全ユーザーのアクティビティが表示されますが、from パラメータを使用して変更することができます。

GET /user/activities

パラメーター

属性 タイプ 必須 説明
from いいえ YEAR-MONTH-DAY形式の日付文字列。例えば、2016-03-11。デフォルトは6ヶ月前です。
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/activities"

回答例

[
  {
    "username": "user1",
    "last_activity_on": "2015-12-14",
    "last_activity_at": "2015-12-14"
  },
  {
    "username": "user2",
    "last_activity_on": "2015-12-15",
    "last_activity_at": "2015-12-15"
  },
  {
    "username": "user3",
    "last_activity_on": "2015-12-16",
    "last_activity_at": "2015-12-16"
  }
]

last_activity_at は非推奨ですので、last_activity_onをご利用ください。

ユーザーメンバーシップ(管理者のみ)

GitLab 12.8で導入されました

このエンドポイントは管理者のみ利用可能です。このエンドポイントは、メンバーシップのsource_idsource_namesource_typeaccess_level を返します。ソースはNamespace (グループを表す) またはProjectのタイプです。レスポンスは直接のメンバーシップのみを表します。サブグループなどの継承されたメンバーシップは含まれません。アクセスレベルは整数値で表されます。詳細については、アクセスレベル値の意味をお読みください。

GET /users/:id/memberships

パラメーター

属性 タイプ 必須 説明
id 整数 はい 指定したユーザーのID
type いいえ Project またはNamespace

リターンズ

  • 200 OK 成功について
  • 404 User Not Found ユーザーが見つからない場合
  • 403 Forbidden 管理者からの要求がない場合
  • 400 Bad Request 要求された型がサポートされていない場合
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/:user_id/memberships"

回答例

[
  {
    "source_id": 1,
    "source_name": "Project one",
    "source_type": "Project",
    "access_level": "20"
  },
  {
    "source_id": 3,
    "source_name": "Group three",
    "source_type": "Namespace",
    "access_level": "20"
  },
]