InfoGrab DocsInfoGrab Docs

사용자 토큰 API

요약

이 API로 개인 액세스 토큰과 가장 토큰을 다룹니다. 지정한 사용자의 개인 액세스 토큰을 생성합니다. 토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다. 본인 계정의 개인 액세스 토큰을 생성합니다. 세분화된 범위로 생성한 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다.

이 API로 개인 액세스 토큰과 가장 토큰을 다룹니다. 자세한 내용은 개인 액세스 토큰과 가장 토큰을 참고합니다.

사용자의 개인 액세스 토큰 생성#

히스토리
  • 응답의 last_used_ips가 GitLab 19.4에서 도입되었습니다.

지정한 사용자의 개인 액세스 토큰을 생성합니다.

토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
POST /users/:user_id/personal_access_tokens

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID 입니다.
name string yes 개인 액세스 토큰의 이름입니다.
description string no 개인 액세스 토큰의 설명입니다. 최대 255자입니다.
expires_at date no ISO 형식(YYYY-MM-DD)으로 지정한 액세스 토큰의 만료일입니다. 지정하지 않고 토큰에 만료일이 필요하면 최대 허용 수명 제한이 기본값으로 적용됩니다. 필요하지 않으면 토큰에 만료일이 없습니다.
scopes array yes 승인된 스코프의 배열입니다. 사용 가능한 값은 액세스 토큰 스코프를 참고합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "name=mytoken" --data "expires_at=2017-04-04" \
  --data "scopes[]=api" \
  --url "https://gitlab.example.com/api/v4/users/42/personal_access_tokens"

응답 예시:

{
    "id": 3,
    "name": "mytoken",
    "revoked": false,
    "created_at": "2020-10-14T11:58:53.526Z",
    "description": "Test Token description",
    "scopes": [
        "api"
    ],
    "user_id": 42,
    "last_used_ips": [],
    "active": true,
    "expires_at": "2020-12-31",
    "token": "<your_new_access_token>"
}

개인 액세스 토큰 생성#

히스토리
  • 응답의 last_used_ips가 GitLab 19.4에서 도입되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

본인 계정의 개인 액세스 토큰을 생성합니다. 보안을 위해 이 토큰은 다음과 같습니다.

토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다.

사전 요구 사항:

  • 본인 인증이 되어 있어야 합니다.
POST /user/personal_access_tokens

지원하는 속성:

속성 타입 필수 여부 설명
name string yes 개인 액세스 토큰의 이름입니다.
description string no 개인 액세스 토큰의 설명입니다. 최대 255자입니다.
scopes array yes 승인된 스코프의 배열입니다. k8s_proxy와 self_rotate만 허용합니다.
expires_at date no ISO 형식(YYYY-MM-DD)으로 지정한 액세스 토큰의 만료일입니다. 지정하지 않고 토큰에 만료일이 필요하면 최대 허용 수명 제한이 기본값으로 적용됩니다. 필요하지 않으면 토큰에 만료일이 없습니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "name=mytoken" --data "scopes[]=k8s_proxy" \
  --url "https://gitlab.example.com/api/v4/user/personal_access_tokens"

응답 예시:

{
    "id": 3,
    "name": "mytoken",
    "revoked": false,
    "created_at": "2020-10-14T11:58:53.526Z",
    "description": "Test Token description",
    "scopes": [
        "k8s_proxy"
    ],
    "user_id": 42,
    "last_used_ips": [],
    "active": true,
    "expires_at": "2020-10-15",
    "token": "<your_new_access_token>"
}
Note

세분화된 범위로 생성한 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

사용자의 모든 가장 토큰 조회#

히스토리
  • 응답의 last_used_ips가 GitLab 19.2에서 expose_last_used_ips_for_access_tokens라는 이름의 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 응답의 last_used_ips가 GitLab 19.4에서 일반 제공되었습니다. 기능 플래그 expose_last_used_ips_for_access_tokens는 제거되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

지정한 사용자의 모든 가장 토큰을 조회합니다.

page 및 per_page 페이지네이션 파라미터로 결과를 필터링합니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
GET /users/:user_id/impersonation_tokens

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
state string no 상태를 기준으로 토큰을 필터링합니다. 사용 가능한 값: all, active, inactive.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"

응답 예시:

[
   {
      "active" : true,
      "user_id" : 2,
      "scopes" : [
         "api"
      ],
      "revoked" : false,
      "name" : "mytoken",
      "description": "Test Token description",
      "id" : 2,
      "created_at" : "2017-03-17T17:18:09.283Z",
      "impersonation" : true,
      "expires_at" : "2017-04-04",
      "last_used_at": "2017-03-24T09:44:21.722Z",
      "last_used_ips": ["192.0.2.10"]
   },
   {
      "active" : false,
      "user_id" : 2,
      "scopes" : [
         "read_user"
      ],
      "revoked" : true,
      "name" : "mytoken2",
      "description": "Test Token description",
      "created_at" : "2017-03-17T17:19:28.697Z",
      "id" : 3,
      "impersonation" : true,
      "expires_at" : "2017-04-14",
      "last_used_at": "2017-03-24T09:44:21.722Z",
      "last_used_ips": ["192.0.2.11"]
   }
]
Note

세분화된 범위로 생성한 가장 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

사용자의 가장 토큰 조회#

히스토리
  • 응답의 last_used_ips가 GitLab 19.2에서 expose_last_used_ips_for_access_tokens라는 이름의 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 응답의 last_used_ips가 GitLab 19.4에서 일반 제공되었습니다. 기능 플래그 expose_last_used_ips_for_access_tokens는 제거되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

지정한 사용자의 가장 토큰 하나를 조회합니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
GET /users/:user_id/impersonation_tokens/:impersonation_token_id

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
impersonation_token_id integer yes 가장 토큰의 ID

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2"

응답 예시:

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

세분화된 범위로 생성한 가장 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

가장 토큰 생성#

히스토리
  • 응답의 last_used_ips가 GitLab 19.2에서 expose_last_used_ips_for_access_tokens라는 이름의 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 응답의 last_used_ips가 GitLab 19.4에서 일반 제공되었습니다. 기능 플래그 expose_last_used_ips_for_access_tokens는 제거되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

지정한 사용자의 가장 토큰을 생성합니다. 이 토큰은 해당 사용자를 대신해 동작하며, API 호출은 물론 Git 읽기·쓰기 작업도 수행할 수 있습니다. 이 토큰은 해당 사용자의 프로필 설정 페이지에 표시되지 않습니다.

토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
POST /users/:user_id/impersonation_tokens

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
name string yes 가장 토큰의 이름
description string no 가장 토큰의 설명
expires_at date yes ISO 형식(YYYY-MM-DD)으로 지정한 가장 토큰의 만료일입니다. 지정하지 않으면 최대 허용 수명 제한으로 설정됩니다.
scopes array yes 승인된 스코프의 배열입니다. 사용 가능한 값은 액세스 토큰 스코프를 참고합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "name=mytoken" --data "expires_at=2017-04-04" \
  --data "scopes[]=api" \
  --url "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"

응답 예시:

{
   "id" : 2,
   "revoked" : false,
   "user_id" : 2,
   "scopes" : [
      "api"
   ],
   "token" : "<impersonation_token>",
   "active" : true,
   "impersonation" : true,
   "name" : "mytoken",
   "description": "Test Token description",
   "created_at" : "2017-03-17T17:18:09.283Z",
   "expires_at" : "2017-04-04",
   "last_used_ips": []
}
Note

세분화된 범위로 생성한 가장 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

가장 토큰 폐기#

지정한 사용자의 가장 토큰을 폐기합니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
impersonation_token_id integer yes 가장 토큰의 ID

요청 예시:

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

사용자 토큰 API

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

이 API로 개인 액세스 토큰과 가장 토큰을 다룹니다. 지정한 사용자의 개인 액세스 토큰을 생성합니다. 토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다. 본인 계정의 개인 액세스 토큰을 생성합니다. 세분화된 범위로 생성한 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다.

이 API로 개인 액세스 토큰과 가장 토큰을 다룹니다. 자세한 내용은 개인 액세스 토큰과 가장 토큰을 참고합니다.

사용자의 개인 액세스 토큰 생성#

히스토리
  • 응답의 last_used_ips가 GitLab 19.4에서 도입되었습니다.

지정한 사용자의 개인 액세스 토큰을 생성합니다.

토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
POST /users/:user_id/personal_access_tokens

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID 입니다.
name string yes 개인 액세스 토큰의 이름입니다.
description string no 개인 액세스 토큰의 설명입니다. 최대 255자입니다.
expires_at date no ISO 형식(YYYY-MM-DD)으로 지정한 액세스 토큰의 만료일입니다. 지정하지 않고 토큰에 만료일이 필요하면 최대 허용 수명 제한이 기본값으로 적용됩니다. 필요하지 않으면 토큰에 만료일이 없습니다.
scopes array yes 승인된 스코프의 배열입니다. 사용 가능한 값은 액세스 토큰 스코프를 참고합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "name=mytoken" --data "expires_at=2017-04-04" \
  --data "scopes[]=api" \
  --url "https://gitlab.example.com/api/v4/users/42/personal_access_tokens"

응답 예시:

{
    "id": 3,
    "name": "mytoken",
    "revoked": false,
    "created_at": "2020-10-14T11:58:53.526Z",
    "description": "Test Token description",
    "scopes": [
        "api"
    ],
    "user_id": 42,
    "last_used_ips": [],
    "active": true,
    "expires_at": "2020-12-31",
    "token": "<your_new_access_token>"
}

개인 액세스 토큰 생성#

히스토리
  • 응답의 last_used_ips가 GitLab 19.4에서 도입되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

본인 계정의 개인 액세스 토큰을 생성합니다. 보안을 위해 이 토큰은 다음과 같습니다.

토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다.

사전 요구 사항:

  • 본인 인증이 되어 있어야 합니다.
POST /user/personal_access_tokens

지원하는 속성:

속성 타입 필수 여부 설명
name string yes 개인 액세스 토큰의 이름입니다.
description string no 개인 액세스 토큰의 설명입니다. 최대 255자입니다.
scopes array yes 승인된 스코프의 배열입니다. k8s_proxy와 self_rotate만 허용합니다.
expires_at date no ISO 형식(YYYY-MM-DD)으로 지정한 액세스 토큰의 만료일입니다. 지정하지 않고 토큰에 만료일이 필요하면 최대 허용 수명 제한이 기본값으로 적용됩니다. 필요하지 않으면 토큰에 만료일이 없습니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "name=mytoken" --data "scopes[]=k8s_proxy" \
  --url "https://gitlab.example.com/api/v4/user/personal_access_tokens"

응답 예시:

{
    "id": 3,
    "name": "mytoken",
    "revoked": false,
    "created_at": "2020-10-14T11:58:53.526Z",
    "description": "Test Token description",
    "scopes": [
        "k8s_proxy"
    ],
    "user_id": 42,
    "last_used_ips": [],
    "active": true,
    "expires_at": "2020-10-15",
    "token": "<your_new_access_token>"
}
Note

세분화된 범위로 생성한 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

사용자의 모든 가장 토큰 조회#

히스토리
  • 응답의 last_used_ips가 GitLab 19.2에서 expose_last_used_ips_for_access_tokens라는 이름의 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 응답의 last_used_ips가 GitLab 19.4에서 일반 제공되었습니다. 기능 플래그 expose_last_used_ips_for_access_tokens는 제거되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

지정한 사용자의 모든 가장 토큰을 조회합니다.

page 및 per_page 페이지네이션 파라미터로 결과를 필터링합니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
GET /users/:user_id/impersonation_tokens

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
state string no 상태를 기준으로 토큰을 필터링합니다. 사용 가능한 값: all, active, inactive.

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"

응답 예시:

[
   {
      "active" : true,
      "user_id" : 2,
      "scopes" : [
         "api"
      ],
      "revoked" : false,
      "name" : "mytoken",
      "description": "Test Token description",
      "id" : 2,
      "created_at" : "2017-03-17T17:18:09.283Z",
      "impersonation" : true,
      "expires_at" : "2017-04-04",
      "last_used_at": "2017-03-24T09:44:21.722Z",
      "last_used_ips": ["192.0.2.10"]
   },
   {
      "active" : false,
      "user_id" : 2,
      "scopes" : [
         "read_user"
      ],
      "revoked" : true,
      "name" : "mytoken2",
      "description": "Test Token description",
      "created_at" : "2017-03-17T17:19:28.697Z",
      "id" : 3,
      "impersonation" : true,
      "expires_at" : "2017-04-14",
      "last_used_at": "2017-03-24T09:44:21.722Z",
      "last_used_ips": ["192.0.2.11"]
   }
]
Note

세분화된 범위로 생성한 가장 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

사용자의 가장 토큰 조회#

히스토리
  • 응답의 last_used_ips가 GitLab 19.2에서 expose_last_used_ips_for_access_tokens라는 이름의 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 응답의 last_used_ips가 GitLab 19.4에서 일반 제공되었습니다. 기능 플래그 expose_last_used_ips_for_access_tokens는 제거되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

지정한 사용자의 가장 토큰 하나를 조회합니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
GET /users/:user_id/impersonation_tokens/:impersonation_token_id

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
impersonation_token_id integer yes 가장 토큰의 ID

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2"

응답 예시:

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

세분화된 범위로 생성한 가장 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

가장 토큰 생성#

히스토리
  • 응답의 last_used_ips가 GitLab 19.2에서 expose_last_used_ips_for_access_tokens라는 이름의 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 응답의 last_used_ips가 GitLab 19.4에서 일반 제공되었습니다. 기능 플래그 expose_last_used_ips_for_access_tokens는 제거되었습니다.
  • 응답의 granular_scopes가 GitLab 19.5에서 도입되었습니다.

지정한 사용자의 가장 토큰을 생성합니다. 이 토큰은 해당 사용자를 대신해 동작하며, API 호출은 물론 Git 읽기·쓰기 작업도 수행할 수 있습니다. 이 토큰은 해당 사용자의 프로필 설정 페이지에 표시되지 않습니다.

토큰 값은 응답에 포함되지만, 이후에는 다시 조회할 수 없습니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
POST /users/:user_id/impersonation_tokens

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
name string yes 가장 토큰의 이름
description string no 가장 토큰의 설명
expires_at date yes ISO 형식(YYYY-MM-DD)으로 지정한 가장 토큰의 만료일입니다. 지정하지 않으면 최대 허용 수명 제한으로 설정됩니다.
scopes array yes 승인된 스코프의 배열입니다. 사용 가능한 값은 액세스 토큰 스코프를 참고합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "name=mytoken" --data "expires_at=2017-04-04" \
  --data "scopes[]=api" \
  --url "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"

응답 예시:

{
   "id" : 2,
   "revoked" : false,
   "user_id" : 2,
   "scopes" : [
      "api"
   ],
   "token" : "<impersonation_token>",
   "active" : true,
   "impersonation" : true,
   "name" : "mytoken",
   "description": "Test Token description",
   "created_at" : "2017-03-17T17:18:09.283Z",
   "expires_at" : "2017-04-04",
   "last_used_ips": []
}
Note

세분화된 범위로 생성한 가장 토큰의 경우 응답에 granular_scopes 속성도 포함됩니다. 자세한 내용은 모든 개인 액세스 토큰 나열을 참고합니다.

가장 토큰 폐기#

지정한 사용자의 가장 토큰을 폐기합니다.

사전 요구 사항:

  • 인스턴스의 관리자 액세스 권한이 있어야 합니다.
DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id

지원하는 속성:

속성 타입 필수 여부 설명
user_id integer yes 사용자 계정의 ID
impersonation_token_id integer yes 가장 토큰의 ID

요청 예시:

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