본문으로 건너뛰기

파일 목록

워크스페이스의 업로드 소스와 잡 결과물을 돌려줍니다

GET /v1/files

인증

방식허용조건
API 키 (Authorization: Bearer xci_live_…)가능키 권한 read (run 키도 가능)
콘솔 세션 쿠키가능조직 역할 owner, admin, developer

매개변수

이름위치타입필수설명
workspace_id쿼리string콘솔 세션은 워크스페이스가 필요한 곳에서 필수, API 키는 생략하거나 키의 워크스페이스와 같아야 합니다
kind쿼리upload | artifactupload 또는 artifact
job_id쿼리string이 잡의 파일만
limit쿼리integer한 페이지 크기, 최소 1, 최대 100, 기본 20
cursor쿼리string이전 응답의 next_cursor

응답

200

필드타입항상설명
dataarray<object>항상항목 배열
data[].idstring항상ID
data[].kindupload | artifact항상upload 또는 artifact
data[].namestring항상이름
data[].pathstring경로, null 가능
data[].bytesinteger항상크기(바이트), 최소 0
data[].job_idstring잡 ID, null 가능
data[].created_attimestamp항상만든 시각
data[].expires_atstring실행 중인 잡의 결과물이면 null(보존은 잡 종료부터)
data[].in_useboolean아직 끝나지 않은 잡에 묶인 업로드(지울 수 없음)
data[].download_urlstring결과물이면 같은 인증으로 GET해 15분짜리 파일 URL을 받는 주소, 업로드면 null, null 가능
next_cursorstring항상다음 페이지 커서, 마지막이면 null, null 가능
total_bytesinteger항상워크스페이스의 살아 있는 파일 전체 크기, 최소 0
{
  "data": [
    {
      "id": "art_1Lp6Yz3Nq9",
      "kind": "artifact",
      "name": "App.ipa",
      "path": "build/App.ipa",
      "bytes": 25165824,
      "job_id": "job_2Qm7Xp9Lk4",
      "created_at": "2026-10-12T03:11:05Z",
      "expires_at": "2026-10-19T03:14:45Z",
      "in_use": false,
      "download_url": "/api/runner/v1/jobs/job_2Qm7Xp9Lk4/artifacts/art_1Lp6Yz3Nq9"
    }
  ],
  "next_cursor": "…",
  "total_bytes": 26214400
}

오류

HTTP코드다시 시도뜻
400invalid_request아니오본문이나 쿼리가 검증에 실패했습니다, error.details.fields에 문제 필드가 있습니다
401api_key_required아니오API 키 엔드포인트에 Authorization: Bearer 헤더가 없습니다
401api_key_revoked_leaked아니오공개 유출 신고로 자동 폐기된 키입니다, 새 키를 발급하세요
401invalid_api_key아니오모르는 키이거나 폐기, 만료, 체크섬 불일치입니다(종료된 xeno_ 접두사 포함)
401session_required아니오콘솔 엔드포인트를 유효한 콘솔 세션 쿠키 없이 불렀습니다
403insufficient_permission아니오역할이나 키 권한(run/read)이 이 요청을 허용하지 않습니다
404not_found아니오자원이 없거나 이 호출자에게 보이지 않습니다
429rate_limited가능이 키 또는 조직의 요청이 너무 많습니다, retryafters만큼 기다리세요
500internal_error가능예상하지 못한 오류입니다, 다시 시도하고 반복되면 request_id와 함께 알려 주세요

오류 봉투 모양과 전체 코드 표는 오류 코드에 있습니다

예시

curl "https://xenoci.com/api/runner/v1/files?kind=artifact" \
  -H "Authorization: Bearer $XENOCI_API_KEY"

다음 단계