InfoGrab Docs

키 API

요약

이 API를 사용하여 SSH 키에 대한 정보를 검색합니다. API 호출에서 SHA256 핑거프린트를 사용하는 경우 핑거프린트를 URL 인코딩해야 합니다. 지정된 SSH 키를 소유한 사용자에 대한 정보를 검색합니다. 성공하면 200 OK와 다음 응답 속성을 반환합니다:

이 API를 사용하여 SSH 키에 대한 정보를 검색합니다. 배포 키 핑거프린트에 대한 쿼리는 해당 키를 사용하는 프로젝트에 대한 정보도 검색합니다.

API 호출에서 SHA256 핑거프린트를 사용하는 경우 핑거프린트를 URL 인코딩해야 합니다.

SSH 키 ID로 사용자 검색#

사전 요구사항:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

지정된 SSH 키를 소유한 사용자에 대한 정보를 검색합니다.

GET /keys/:id

지원되는 속성:

속성 유형 필수 설명
id integer Yes SSH 키의 ID.

성공하면 200 OK와 다음 응답 속성을 반환합니다:

속성 유형 설명
created_at string ISO 8601 형식의 SSH 키 생성 날짜 및 시간.
expires_at string ISO 8601 형식의 SSH 키 만료 날짜 및 시간.
id integer SSH 키의 ID.
key string SSH 키 내용.
last_used_at string ISO 8601 형식의 SSH 키 최종 사용 날짜 및 시간.
title string SSH 키의 제목.
usage_type string SSH 키의 사용 유형 (예: auth 또는 auth_and_signing).
user object SSH 키와 관련된 사용자.
user.avatar_url string 사용자 아바타의 URL.
user.bio string 사용자의 바이오.
user.created_at string ISO 8601 형식의 사용자 계정 생성 날짜 및 시간.
user.id integer 사용자의 ID.
user.linkedin string 사용자의 LinkedIn 프로필 URL.
user.location string 사용자의 위치.
user.name string 사용자의 이름.
user.organization string 사용자의 조직.
user.public_email string 사용자의 공개 이메일 주소.
user.state string 사용자의 상태.
user.twitter string 사용자의 Twitter 프로필 URL.
user.username string 사용자의 사용자 이름.
user.web_url string 사용자 프로필의 URL.
user.website_url string 사용자의 웹사이트 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys/1"

응답 예시:

{
  "id": 1,
  "title": "Sample key 25",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1256k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2015-09-03T07:24:44.627Z",
  "expires_at": "2020-05-05T00:00:00.000Z",
  "last_used_at": "2020-04-07T00:00:00.000Z",
  "usage_type": "auth",
  "user": {
    "name": "John Smith",
    "username": "john_smith",
    "id": 25,
    "state": "active",
    "avatar_url": "http://www.gravatar.com/avatar/cfa35b8cd2ec278026357769582fa563?s=40\u0026d=identicon",
    "web_url": "http://localhost:3000/john_smith",
    "created_at": "2015-09-03T07:24:01.670Z",
    "bio": null,
    "location": null,
    "public_email": "john@example.com",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": null,
    "last_sign_in_at": "2015-09-03T07:24:01.670Z",
    "confirmed_at": "2015-09-03T07:24:01.670Z",
    "last_activity_on": "2015-09-03",
    "email": "john@example.com",
    "theme_id": 2,
    "color_scheme_id": 1,
    "projects_limit": 10,
    "current_sign_in_at": null,
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": false,
    "external": false,
    "private_profile": null
  }
}

SSH 키 핑거프린트로 사용자 검색#

사전 요구사항:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

지정된 SSH 키를 소유한 사용자에 대한 정보를 검색합니다.

GET /keys

지원되는 속성:

속성 유형 필수 설명
fingerprint string Yes SSH 키의 핑거프린트.

성공하면 200 OK와 다음 응답 속성을 반환합니다:

속성 유형 설명
created_at string ISO 8601 형식의 SSH 키 생성 날짜 및 시간.
expires_at string ISO 8601 형식의 SSH 키 만료 날짜 및 시간.
id integer SSH 키의 ID.
key string SSH 키 내용.
last_used_at string ISO 8601 형식의 SSH 키 최종 사용 날짜 및 시간.
title string SSH 키의 제목.
usage_type string SSH 키의 사용 유형 (예: auth 또는 auth_and_signing).
user object SSH 키와 관련된 사용자.
user.avatar_url string 사용자 아바타의 URL.
user.bio string 사용자의 바이오.
user.can_create_group boolean true이면 사용자가 그룹을 만들 수 있습니다.
user.can_create_project boolean true이면 사용자가 프로젝트를 만들 수 있습니다.
user.color_scheme_id integer 사용자의 색상 구성표 ID.
user.confirmed_at string ISO 8601 형식의 사용자 확인 날짜 및 시간.
user.created_at string ISO 8601 형식의 사용자 계정 생성 날짜 및 시간.
user.current_sign_in_at string ISO 8601 형식의 사용자 현재 로그인 날짜 및 시간.
user.email string 사용자의 이메일 주소.
user.external boolean true이면 사용자는 외부 사용자입니다.
user.id integer 사용자의 ID.
user.identities array 사용자와 관련된 ID.
user.last_activity_on string 사용자의 마지막 활동 날짜.
user.last_sign_in_at string ISO 8601 형식의 사용자 마지막 로그인 날짜 및 시간.
user.linkedin string 사용자의 LinkedIn 프로필 URL.
user.location string 사용자의 위치.
user.name string 사용자의 이름.
user.organization string 사용자의 조직.
user.private_profile boolean true이면 사용자의 프로필은 비공개입니다.
user.projects_limit integer 사용자의 프로젝트 제한.
user.public_email string 사용자의 공개 이메일 주소.
user.state string 사용자 계정의 상태.
user.theme_id integer 사용자의 테마 ID.
user.twitter string 사용자의 Twitter 프로필 URL.
user.two_factor_enabled boolean true이면 사용자에 대한 이중 인증이 활성화되어 있습니다.
user.username string 사용자의 사용자 이름.
user.web_url string 사용자 프로필의 URL.
user.website_url string 사용자의 웹사이트 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys?fingerprint=ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1"

응답 예시:

{
  "id": 1,
  "title": "Sample key 1",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2019-11-14T15:11:13.222Z",
  "expires_at": "2020-05-05T00:00:00.000Z",
  "last_used_at": "2020-04-07T00:00:00.000Z",
  "usage_type": "auth",
  "user": {
    "id": 1,
    "name": "Administrator",
    "username": "root",
    "state": "active",
    "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "http://0.0.0.0:3000/root",
    "created_at": "2019-11-14T15:09:34.831Z",
    "bio": null,
    "location": null,
    "public_email": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": null,
    "last_sign_in_at": "2019-11-16T22:41:26.663Z",
    "confirmed_at": "2019-11-14T15:09:34.575Z",
    "last_activity_on": "2019-11-20",
    "email": "admin@example.com",
    "theme_id": 1,
    "color_scheme_id": 1,
    "projects_limit": 100000,
    "current_sign_in_at": "2019-11-19T14:42:18.078Z",
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": false,
    "external": false,
    "private_profile": false,
    "shared_runners_minutes_limit": null,
    "extra_shared_runners_minutes_limit": null
  }
}

배포 키 핑거프린트로 사용자 검색#

지정된 배포 키 핑거프린트를 사용하는 사용자와 프로젝트에 대한 정보를 검색합니다. 배포 키는 생성한 사용자에게 바인딩됩니다.

GET /keys

지원되는 속성:

속성 유형 필수 설명
fingerprint string Yes 배포 키의 핑거프린트.

성공하면 200 OK와 다음 응답 속성을 반환합니다:

속성 유형 설명
created_at string ISO 8601 형식의 배포 키 생성 날짜 및 시간.
deploy_keys_projects array 배포 키 프로젝트 정보.
deploy_keys_projects[].can_push boolean true이면 배포 키가 프로젝트에 push할 수 있습니다.
deploy_keys_projects[].created_at string ISO 8601 형식의 생성 날짜 및 시간.
deploy_keys_projects[].deploy_key_id integer 배포 키의 ID.
deploy_keys_projects[].id integer 배포 키 프로젝트 관계의 ID.
deploy_keys_projects[].project_id integer 프로젝트의 ID.
deploy_keys_projects[].updated_at string ISO 8601 형식의 마지막 업데이트 날짜 및 시간.
expires_at string ISO 8601 형식의 배포 키 만료 날짜 및 시간.
id integer 배포 키의 ID.
key string 배포 키 내용.
last_used_at string ISO 8601 형식의 배포 키 최종 사용 날짜 및 시간.
title string 배포 키의 제목.
usage_type string 배포 키의 사용 유형 (예: auth 또는 auth_and_signing).
user object 배포 키와 관련된 사용자.
user.avatar_url string 사용자 아바타의 URL.
user.bio string 사용자의 바이오.
user.can_create_group boolean true이면 사용자가 그룹을 만들 수 있습니다.
user.can_create_project boolean true이면 사용자가 프로젝트를 만들 수 있습니다.
user.color_scheme_id integer 사용자의 색상 구성표 ID.
user.confirmed_at string ISO 8601 형식의 사용자 확인 날짜 및 시간.
user.created_at string ISO 8601 형식의 사용자 계정 생성 날짜 및 시간.
user.current_sign_in_at string ISO 8601 형식의 사용자 현재 로그인 날짜 및 시간.
user.email string 사용자의 이메일 주소.
user.external boolean true이면 사용자는 외부 사용자입니다.
user.extra_shared_runners_minutes_limit integer 사용자의 추가 공유 러너 분 제한.
user.id integer 사용자의 ID.
user.identities array 사용자와 관련된 ID.
user.last_activity_on string 사용자의 마지막 활동 날짜.
user.last_sign_in_at string ISO 8601 형식의 사용자 마지막 로그인 날짜 및 시간.
user.linkedin string 사용자의 LinkedIn 프로필 URL.
user.location string 사용자의 위치.
user.name string 사용자의 이름.
user.organization string 사용자의 조직.
user.private_profile boolean true이면 사용자의 프로필은 비공개입니다.
user.projects_limit integer 사용자의 프로젝트 제한.
user.public_email string 사용자의 공개 이메일 주소.
user.shared_runners_minutes_limit integer 사용자의 공유 러너 분 제한.
user.state string 사용자 계정의 상태.
user.theme_id integer 사용자의 테마 ID.
user.twitter string 사용자의 Twitter 프로필 URL.
user.two_factor_enabled boolean true이면 사용자에 대한 이중 인증이 활성화되어 있습니다.
user.username string 사용자의 사용자 이름.
user.web_url string 사용자 프로필의 URL.
user.website_url string 사용자의 웹사이트 URL.

MD5 핑거프린트가 있는 요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys?fingerprint=ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1"

SHA256 핑거프린트가 있는 요청 예시 (URL 인코딩):

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys?fingerprint=SHA256%3AnUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo%2FlCg"

SHA256 예시에서 /%2F로, :%3A로 표현됩니다.

응답 예시:

{
  "id": 1,
  "title": "Sample key 1",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2019-11-14T15:11:13.222Z",
  "expires_at": "2020-05-05T00:00:00.000Z",
  "last_used_at": "2020-04-07T00:00:00.000Z",
  "usage_type": "auth",
  "user": {
    "id": 1,
    "name": "Administrator",
    "username": "root",
    "state": "active",
    "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "http://0.0.0.0:3000/root",
    "created_at": "2019-11-14T15:09:34.831Z",
    "bio": null,
    "location": null,
    "public_email": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": null,
    "last_sign_in_at": "2019-11-16T22:41:26.663Z",
    "confirmed_at": "2019-11-14T15:09:34.575Z",
    "last_activity_on": "2019-11-20",
    "email": "admin@example.com",
    "theme_id": 1,
    "color_scheme_id": 1,
    "projects_limit": 100000,
    "current_sign_in_at": "2019-11-19T14:42:18.078Z",
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": false,
    "external": false,
    "private_profile": false,
    "shared_runners_minutes_limit": null,
    "extra_shared_runners_minutes_limit": null
  },
  "deploy_keys_projects": [
    {
      "id": 1,
      "deploy_key_id": 1,
      "project_id": 1,
      "created_at": "2020-01-09T07:32:52.453Z",
      "updated_at": "2020-01-09T07:32:52.453Z",
      "can_push": false
    }
  ]
}

키 API

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 SSH 키에 대한 정보를 검색합니다. API 호출에서 SHA256 핑거프린트를 사용하는 경우 핑거프린트를 URL 인코딩해야 합니다. 지정된 SSH 키를 소유한 사용자에 대한 정보를 검색합니다. 성공하면 200 OK와 다음 응답 속성을 반환합니다:

이 API를 사용하여 SSH 키에 대한 정보를 검색합니다. 배포 키 핑거프린트에 대한 쿼리는 해당 키를 사용하는 프로젝트에 대한 정보도 검색합니다.

API 호출에서 SHA256 핑거프린트를 사용하는 경우 핑거프린트를 URL 인코딩해야 합니다.

SSH 키 ID로 사용자 검색#

사전 요구사항:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

지정된 SSH 키를 소유한 사용자에 대한 정보를 검색합니다.

GET /keys/:id

지원되는 속성:

속성 유형 필수 설명
id integer Yes SSH 키의 ID.

성공하면 200 OK와 다음 응답 속성을 반환합니다:

속성 유형 설명
created_at string ISO 8601 형식의 SSH 키 생성 날짜 및 시간.
expires_at string ISO 8601 형식의 SSH 키 만료 날짜 및 시간.
id integer SSH 키의 ID.
key string SSH 키 내용.
last_used_at string ISO 8601 형식의 SSH 키 최종 사용 날짜 및 시간.
title string SSH 키의 제목.
usage_type string SSH 키의 사용 유형 (예: auth 또는 auth_and_signing).
user object SSH 키와 관련된 사용자.
user.avatar_url string 사용자 아바타의 URL.
user.bio string 사용자의 바이오.
user.created_at string ISO 8601 형식의 사용자 계정 생성 날짜 및 시간.
user.id integer 사용자의 ID.
user.linkedin string 사용자의 LinkedIn 프로필 URL.
user.location string 사용자의 위치.
user.name string 사용자의 이름.
user.organization string 사용자의 조직.
user.public_email string 사용자의 공개 이메일 주소.
user.state string 사용자의 상태.
user.twitter string 사용자의 Twitter 프로필 URL.
user.username string 사용자의 사용자 이름.
user.web_url string 사용자 프로필의 URL.
user.website_url string 사용자의 웹사이트 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys/1"

응답 예시:

{
  "id": 1,
  "title": "Sample key 25",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1256k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2015-09-03T07:24:44.627Z",
  "expires_at": "2020-05-05T00:00:00.000Z",
  "last_used_at": "2020-04-07T00:00:00.000Z",
  "usage_type": "auth",
  "user": {
    "name": "John Smith",
    "username": "john_smith",
    "id": 25,
    "state": "active",
    "avatar_url": "http://www.gravatar.com/avatar/cfa35b8cd2ec278026357769582fa563?s=40\u0026d=identicon",
    "web_url": "http://localhost:3000/john_smith",
    "created_at": "2015-09-03T07:24:01.670Z",
    "bio": null,
    "location": null,
    "public_email": "john@example.com",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": null,
    "last_sign_in_at": "2015-09-03T07:24:01.670Z",
    "confirmed_at": "2015-09-03T07:24:01.670Z",
    "last_activity_on": "2015-09-03",
    "email": "john@example.com",
    "theme_id": 2,
    "color_scheme_id": 1,
    "projects_limit": 10,
    "current_sign_in_at": null,
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": false,
    "external": false,
    "private_profile": null
  }
}

SSH 키 핑거프린트로 사용자 검색#

사전 요구사항:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.

지정된 SSH 키를 소유한 사용자에 대한 정보를 검색합니다.

GET /keys

지원되는 속성:

속성 유형 필수 설명
fingerprint string Yes SSH 키의 핑거프린트.

성공하면 200 OK와 다음 응답 속성을 반환합니다:

속성 유형 설명
created_at string ISO 8601 형식의 SSH 키 생성 날짜 및 시간.
expires_at string ISO 8601 형식의 SSH 키 만료 날짜 및 시간.
id integer SSH 키의 ID.
key string SSH 키 내용.
last_used_at string ISO 8601 형식의 SSH 키 최종 사용 날짜 및 시간.
title string SSH 키의 제목.
usage_type string SSH 키의 사용 유형 (예: auth 또는 auth_and_signing).
user object SSH 키와 관련된 사용자.
user.avatar_url string 사용자 아바타의 URL.
user.bio string 사용자의 바이오.
user.can_create_group boolean true이면 사용자가 그룹을 만들 수 있습니다.
user.can_create_project boolean true이면 사용자가 프로젝트를 만들 수 있습니다.
user.color_scheme_id integer 사용자의 색상 구성표 ID.
user.confirmed_at string ISO 8601 형식의 사용자 확인 날짜 및 시간.
user.created_at string ISO 8601 형식의 사용자 계정 생성 날짜 및 시간.
user.current_sign_in_at string ISO 8601 형식의 사용자 현재 로그인 날짜 및 시간.
user.email string 사용자의 이메일 주소.
user.external boolean true이면 사용자는 외부 사용자입니다.
user.id integer 사용자의 ID.
user.identities array 사용자와 관련된 ID.
user.last_activity_on string 사용자의 마지막 활동 날짜.
user.last_sign_in_at string ISO 8601 형식의 사용자 마지막 로그인 날짜 및 시간.
user.linkedin string 사용자의 LinkedIn 프로필 URL.
user.location string 사용자의 위치.
user.name string 사용자의 이름.
user.organization string 사용자의 조직.
user.private_profile boolean true이면 사용자의 프로필은 비공개입니다.
user.projects_limit integer 사용자의 프로젝트 제한.
user.public_email string 사용자의 공개 이메일 주소.
user.state string 사용자 계정의 상태.
user.theme_id integer 사용자의 테마 ID.
user.twitter string 사용자의 Twitter 프로필 URL.
user.two_factor_enabled boolean true이면 사용자에 대한 이중 인증이 활성화되어 있습니다.
user.username string 사용자의 사용자 이름.
user.web_url string 사용자 프로필의 URL.
user.website_url string 사용자의 웹사이트 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys?fingerprint=ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1"

응답 예시:

{
  "id": 1,
  "title": "Sample key 1",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2019-11-14T15:11:13.222Z",
  "expires_at": "2020-05-05T00:00:00.000Z",
  "last_used_at": "2020-04-07T00:00:00.000Z",
  "usage_type": "auth",
  "user": {
    "id": 1,
    "name": "Administrator",
    "username": "root",
    "state": "active",
    "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "http://0.0.0.0:3000/root",
    "created_at": "2019-11-14T15:09:34.831Z",
    "bio": null,
    "location": null,
    "public_email": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": null,
    "last_sign_in_at": "2019-11-16T22:41:26.663Z",
    "confirmed_at": "2019-11-14T15:09:34.575Z",
    "last_activity_on": "2019-11-20",
    "email": "admin@example.com",
    "theme_id": 1,
    "color_scheme_id": 1,
    "projects_limit": 100000,
    "current_sign_in_at": "2019-11-19T14:42:18.078Z",
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": false,
    "external": false,
    "private_profile": false,
    "shared_runners_minutes_limit": null,
    "extra_shared_runners_minutes_limit": null
  }
}

배포 키 핑거프린트로 사용자 검색#

지정된 배포 키 핑거프린트를 사용하는 사용자와 프로젝트에 대한 정보를 검색합니다. 배포 키는 생성한 사용자에게 바인딩됩니다.

GET /keys

지원되는 속성:

속성 유형 필수 설명
fingerprint string Yes 배포 키의 핑거프린트.

성공하면 200 OK와 다음 응답 속성을 반환합니다:

속성 유형 설명
created_at string ISO 8601 형식의 배포 키 생성 날짜 및 시간.
deploy_keys_projects array 배포 키 프로젝트 정보.
deploy_keys_projects[].can_push boolean true이면 배포 키가 프로젝트에 push할 수 있습니다.
deploy_keys_projects[].created_at string ISO 8601 형식의 생성 날짜 및 시간.
deploy_keys_projects[].deploy_key_id integer 배포 키의 ID.
deploy_keys_projects[].id integer 배포 키 프로젝트 관계의 ID.
deploy_keys_projects[].project_id integer 프로젝트의 ID.
deploy_keys_projects[].updated_at string ISO 8601 형식의 마지막 업데이트 날짜 및 시간.
expires_at string ISO 8601 형식의 배포 키 만료 날짜 및 시간.
id integer 배포 키의 ID.
key string 배포 키 내용.
last_used_at string ISO 8601 형식의 배포 키 최종 사용 날짜 및 시간.
title string 배포 키의 제목.
usage_type string 배포 키의 사용 유형 (예: auth 또는 auth_and_signing).
user object 배포 키와 관련된 사용자.
user.avatar_url string 사용자 아바타의 URL.
user.bio string 사용자의 바이오.
user.can_create_group boolean true이면 사용자가 그룹을 만들 수 있습니다.
user.can_create_project boolean true이면 사용자가 프로젝트를 만들 수 있습니다.
user.color_scheme_id integer 사용자의 색상 구성표 ID.
user.confirmed_at string ISO 8601 형식의 사용자 확인 날짜 및 시간.
user.created_at string ISO 8601 형식의 사용자 계정 생성 날짜 및 시간.
user.current_sign_in_at string ISO 8601 형식의 사용자 현재 로그인 날짜 및 시간.
user.email string 사용자의 이메일 주소.
user.external boolean true이면 사용자는 외부 사용자입니다.
user.extra_shared_runners_minutes_limit integer 사용자의 추가 공유 러너 분 제한.
user.id integer 사용자의 ID.
user.identities array 사용자와 관련된 ID.
user.last_activity_on string 사용자의 마지막 활동 날짜.
user.last_sign_in_at string ISO 8601 형식의 사용자 마지막 로그인 날짜 및 시간.
user.linkedin string 사용자의 LinkedIn 프로필 URL.
user.location string 사용자의 위치.
user.name string 사용자의 이름.
user.organization string 사용자의 조직.
user.private_profile boolean true이면 사용자의 프로필은 비공개입니다.
user.projects_limit integer 사용자의 프로젝트 제한.
user.public_email string 사용자의 공개 이메일 주소.
user.shared_runners_minutes_limit integer 사용자의 공유 러너 분 제한.
user.state string 사용자 계정의 상태.
user.theme_id integer 사용자의 테마 ID.
user.twitter string 사용자의 Twitter 프로필 URL.
user.two_factor_enabled boolean true이면 사용자에 대한 이중 인증이 활성화되어 있습니다.
user.username string 사용자의 사용자 이름.
user.web_url string 사용자 프로필의 URL.
user.website_url string 사용자의 웹사이트 URL.

MD5 핑거프린트가 있는 요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys?fingerprint=ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1"

SHA256 핑거프린트가 있는 요청 예시 (URL 인코딩):

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/keys?fingerprint=SHA256%3AnUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo%2FlCg"

SHA256 예시에서 /%2F로, :%3A로 표현됩니다.

응답 예시:

{
  "id": 1,
  "title": "Sample key 1",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2019-11-14T15:11:13.222Z",
  "expires_at": "2020-05-05T00:00:00.000Z",
  "last_used_at": "2020-04-07T00:00:00.000Z",
  "usage_type": "auth",
  "user": {
    "id": 1,
    "name": "Administrator",
    "username": "root",
    "state": "active",
    "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "http://0.0.0.0:3000/root",
    "created_at": "2019-11-14T15:09:34.831Z",
    "bio": null,
    "location": null,
    "public_email": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": null,
    "last_sign_in_at": "2019-11-16T22:41:26.663Z",
    "confirmed_at": "2019-11-14T15:09:34.575Z",
    "last_activity_on": "2019-11-20",
    "email": "admin@example.com",
    "theme_id": 1,
    "color_scheme_id": 1,
    "projects_limit": 100000,
    "current_sign_in_at": "2019-11-19T14:42:18.078Z",
    "identities": [],
    "can_create_group": true,
    "can_create_project": true,
    "two_factor_enabled": false,
    "external": false,
    "private_profile": false,
    "shared_runners_minutes_limit": null,
    "extra_shared_runners_minutes_limit": null
  },
  "deploy_keys_projects": [
    {
      "id": 1,
      "deploy_key_id": 1,
      "project_id": 1,
      "created_at": "2020-01-09T07:32:52.453Z",
      "updated_at": "2020-01-09T07:32:52.453Z",
      "can_push": false
    }
  ]
}