본문으로 건너뛰기

API 키 받기

XenoCI 콘솔에서 API 키를 찾고, 만들고, 관리하세요

XenoCI API 키는 콘솔에 있습니다. 기존 키를 보거나 새 키를 만들려면 왼쪽 메뉴의 API 키 (/console/keys)로 이동하세요

키의 범위와 권한

키를 만들 때 키가 어느 워크스페이스에서 무엇을 할 수 있는지, 언제 멈추는지를 정합니다. 키는 워크스페이스 하나에 묶이고, 그 키로 보낸 잡과 사용량은 모두 그 워크스페이스로 잡힙니다. 권한은 둘 중 하나입니다

권한할 수 있는 일
실행과 조회 (run)잡 제출, 취소, 로그와 결과물 조회, 사용량 조회
조회만 (read)잡, 로그, 사용량 읽기, 변경 요청은 403 insufficient_permission으로 거절

만료는 만료 없음, 30일, 90일, 1년 가운데 고릅니다. 만료된 키로 보낸 요청은 401 invalid_api_key를 받습니다

어떤 키도 결제, 키 관리, 멤버와 워크스페이스 관리는 할 수 없습니다, 그 일은 콘솔에 로그인한 사람만 합니다 (403 console_only). CI 파이프라인, 코딩 에이전트, 개인 터미널처럼 쓰는 곳마다 키를 따로 만들고 이름을 붙여 두면 폐기할 때 다른 곳이 멈추지 않습니다

API 키 생성

  1. XenoCI 콘솔에 로그인

    xenoci.com/console으로 이동해 Google 계정이나 이메일로 로그인하거나, 아직 계정이 없다면 계정을 만드세요

  2. API 키 페이지 열기

    왼쪽 메뉴의 API 키로 이동하세요. 대시보드의 API 키 받기 버튼이나 명령 팔레트의 API 키 만들기도 같은 화면을 엽니다

  3. 키 생성

    키 생성을 클릭하고 워크스페이스를 고른 다음 키 이름을 적습니다 (예: github-actions). 권한에서 실행과 조회 또는 조회만을 고르고, 만료를 고른 뒤 키 추가를 클릭합니다

  4. 키 복사와 저장

    콘솔은 xci_live_로 시작하는 전체 키를 생성 시 단 한 번만 표시합니다. 복사로 키를 복사해 시크릿 관리자 같은 안전한 곳에 저장하세요. 환경 변수로 쓰기의 명령 복사를 누르면 export XENOCI_API_KEY="…" 한 줄이 통째로 복사됩니다. 창을 닫으면 키 값을 다시 볼 수 없고, 목록에는 앞 12자와 뒤 4자만 남습니다. 키를 분실하면 새 키를 만드세요

API 키 사용

키를 환경 변수로 설정하세요

export XENOCI_API_KEY="xci_live_..."

xenocast CLI, MCP 서버, GitHub Actions 액션(Xeno-CI/build)은 XENOCI_API_KEY를 자동으로 읽습니다. CLI는 xenocast config set api-key로 저장한 키도 쓰고, 환경 변수가 있으면 환경 변수가 우선합니다. GitHub Actions에서는 저장소 시크릿 XENOCI_API_KEY로 등록하고 api-key 입력에 넘깁니다

직접 HTTP 요청을 보낼 때는 Authorization 헤더에 Bearer 방식으로 키를 담습니다. 다른 헤더 이름은 받지 않습니다

curl https://xenoci.com/api/runner/v1/me \
  -H "Authorization: Bearer $XENOCI_API_KEY"

응답의 auth 값이 api_key이면 키가 살아 있는 것이고, 키의 id와 이름, 권한, 조직, 워크스페이스가 함께 옵니다. 첫 잡을 보내려면 빠른 시작을 따르세요. 키 형식, 권한, 오류 코드를 포함한 전체 내용은 인증을 참조하세요

키 관리와 폐기

API 키 화면의 목록에는 키마다 이름과 표시 접두사, 범위(워크스페이스), 권한, 마지막 사용, 만료, 생성됨, 이번 달 비용이 보입니다. 생성자, 상태(활성, 폐기됨, 만료됨), 권한, 워크스페이스로 거르고 이름으로 검색합니다. 각 키의 메뉴에서 이름 바꾸기, 사용량 보기, 폐기를 고릅니다

  • 폐기는 즉시 적용됩니다, 그 키로 오는 요청은 바로 401 invalid_api_key로 거절되고, 이미 시작한 잡은 끝까지 실행됩니다. 폐기한 키는 되살릴 수 없습니다
  • 키 값을 바꾸는 기능은 따로 없습니다, 새 키를 만들어 쓰는 곳에 넣은 뒤 옛 키를 폐기하면 됩니다
  • 워크스페이스를 보관하면 그 워크스페이스의 키는 모두 폐기되고, 보관된 워크스페이스의 키로 보낸 요청은 403 workspace_archived를 받습니다
  • 멤버를 조직에서 내보내도 그 사람이 만든 키는 계속 동작합니다, 필요하면 따로 폐기하세요
  • 마지막 사용 시각은 1분에 한 번만 갱신됩니다

키가 유출되었을 때

  • GitHub 비밀 검사 연동이 켜진 환경에서는 공개 저장소에서 발견된 키가 자동으로 폐기되고, 조직의 소유자와 관리자, 키를 만든 사람에게 메일이 갑니다. 그 키로 보낸 요청은 401 api_key_revoked_leaked를 받습니다
  • 한 키에서 10분 동안 1000회가 넘는 요청이 오면 같은 사람들에게 급증 알림 메일이 갑니다 (키마다 하루 한 번). 본인이나 팀이 한 일이 아니면 콘솔에서 그 키를 폐기하고 새 키로 바꾸세요
  • CLI와 MCP 로그에는 키 값이 xci_live_[REDACTED]로 가려져 기록됩니다

API 키와 키 관리 API

키 목록, 생성, 이름 변경, 폐기에는 각각 엔드포인트가 있지만, 모두 콘솔 로그인 세션으로만 부를 수 있습니다. API 키로 부르면 403 console_only를 받습니다. 키 값은 생성 응답에 한 번만 들어 있고, 목록은 표시 접두사만 돌려줍니다

동작엔드포인트
키 생성POST /v1/organizations/{org_id}/workspaces/{workspace_id}/api-keys
키 목록GET /v1/organizations/{org_id}/api-keys
이름 변경PATCH /v1/organizations/{org_id}/api-keys/{key_id}
폐기POST /v1/organizations/{org_id}/api-keys/{key_id}/revoke