ライセンス

ライセンスエンドポイントと対話するには、管理者として認証する必要があります。

現在のライセンスに関する情報の取得

GET /license
{
  "id": 2,
  "plan": "gold",
  "created_at": "2018-02-27T23:21:58.674Z",
  "starts_at": "2018-01-27",
  "expires_at": "2022-01-27",
  "historical_max": 300,
  "maximum_user_count": 300,
  "expired": false,
  "overage": 200,
  "user_limit": 100,
  "active_users": 300,
  "licensee": {
    "Name": "John Doe1"
  },
  "add_ons": {
    "GitLab_FileLocks": 1,
    "GitLab_Auditor_User": 1
  }
}

すべてのライセンスの情報を取得

GET /licenses
[
  {
    "id": 1,
    "plan": "silver",
    "created_at": "2018-02-27T23:21:58.674Z",
    "starts_at": "2018-01-27",
    "expires_at": "2022-01-27",
    "historical_max": 300,
    "maximum_user_count": 300,
    "expired": false,
    "overage": 200,
    "user_limit": 100,
    "licensee": {
      "Name": "John Doe1"
    },
    "add_ons": {
      "GitLab_FileLocks": 1,
      "GitLab_Auditor_User": 1
    }
  },
  {
    "id": 2,
    "plan": "gold",
    "created_at": "2018-02-27T23:21:58.674Z",
    "starts_at": "2018-01-27",
    "expires_at": "2022-01-27",
    "historical_max": 300,
    "maximum_user_count": 300,
    "expired": false,
    "overage": 200,
    "user_limit": 100,
    "licensee": {
      "Name": "Doe John"
    },
    "add_ons": {
      "GitLab_FileLocks": 1
    }
  }
]

超過分は、請求可能ユーザー数とライセンスユーザー数の差です。これは、ライセンスの有効期限が切れているかどうかによって計算方法が異なります。

  • ライセンスの有効期限が切れている場合は、過去の最大請求可能ユーザー数 (historical_max) が使用されます。
  • ライセンスの有効期限が切れていない場合は、現在の請求可能ユーザー数が使用されます。

を返します:

  • 200 OK JSON 形式のライセンスを含むレスポンス。ライセンスがない場合は、空の JSON 配列を返します。
  • 403 Forbidden 現在のユーザーがライセンスの読み取りを許可されていない場合。

単一のライセンスに関する情報の取得

GET /license/:id

サポートされる属性:

属性種類必須説明
id整数。yesGitLabライセンスのID。

以下のステータスコードを返します:

  • 200 OK:レスポンスには、JSON 形式のライセンスが含まれます。
  • 404 Not Found:要求されたライセンスは存在しません。
  • 403 Forbidden:現在のユーザーはライセンスの読み取りを許可されていません。

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/license/:id"

応答例

{
  "id": 1,
  "plan": "premium",
  "created_at": "2018-02-27T23:21:58.674Z",
  "starts_at": "2018-01-27",
  "expires_at": "2022-01-27",
  "historical_max": 300,
  "maximum_user_count": 300,
  "expired": false,
  "overage": 200,
  "user_limit": 100,
  "active_users": 50,
  "licensee": {
    "Name": "John Doe1"
  },
  "add_ons": {
    "GitLab_FileLocks": 1,
    "GitLab_Auditor_User": 1
  }
}

新しいライセンスの追加

POST /license
属性種類必須説明
license文字列です。yesライセンス文字列
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/license?license=eyJkYXRhIjoiMHM5Q...S01Udz09XG4ifQ=="

応答例

{
  "id": 1,
  "plan": "gold",
  "created_at": "2018-02-27T23:21:58.674Z",
  "starts_at": "2018-01-27",
  "expires_at": "2022-01-27",
  "historical_max": 300,
  "maximum_user_count": 300,
  "expired": false,
  "overage": 200,
  "user_limit": 100,
  "active_users": 300,
  "licensee": {
    "Name": "John Doe1"
  },
  "add_ons": {
    "GitLab_FileLocks": 1,
    "GitLab_Auditor_User": 1
  }
}

を返します:

  • 201 Created ライセンスの追加に成功した場合
  • 400 Bad Request ライセンスが追加できなかった場合は、その理由を説明するエラー メッセージが表示されます。

ライセンスの削除

DELETE /license/:id
属性種類必須説明
id整数。yesGitLabライセンスのID。
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/license/:id"

応答例

{
  "id": 2,
  "plan": "gold",
  "created_at": "2018-02-27T23:21:58.674Z",
  "starts_at": "2018-01-27",
  "expires_at": "2022-01-27",
  "historical_max": 300,
  "maximum_user_count": 300,
  "expired": false,
  "overage": 200,
  "user_limit": 100,
  "licensee": {
    "Name": "John Doe"
  },
  "add_ons": {
    "GitLab_FileLocks": 1,
    "GitLab_Auditor_User": 1
  }
}

を返します:

  • 204 No Content ライセンスの削除に成功した場合
  • 403 Forbidden 現在のユーザーがライセンスの削除を許可されていない場合。
  • 404 Not Found 削除するライセンスが見つからない場合。

請求可能ユーザーの再計算のトリガー

PUT /license/:id/refresh_billable_users
属性種類必須説明
id整数。yesGitLabライセンスのID。
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/license/:id/refresh_billable_users"

応答例

{
  "success": true
}

を返します:

  • 202 Accepted 課金可能ユーザーを更新する要求が正常に開始された場合。
  • 403 Forbidden 現在のユーザがライセンスの請求可能ユーザの更新を許可されていない場合。
  • 404 Not Found ライセンスが見つからない場合
属性種類説明
successbooleanリクエストが成功したかどうか。