공개 API

API 인증

API 요청에 쓸 접속 토큰을 받는 방법입니다.

API에는 접속 토큰만 보냅니다

모든 보호된 API는 Authorization: Bearer <토큰> 헤더에 접속 토큰만 받습니다. 접속 토큰은 5분 동안 유효하며, ntro token으로 받을 수 있습니다.

export NITROSHIP_ACCESS_TOKEN="$(ntro token)"
curl --fail-with-body \
  -H "Authorization: Bearer $NITROSHIP_ACCESS_TOKEN" \
  https://api.nitroship.co/v1/me

ntro token은 로그인한 계정의 접속 토큰을 출력합니다. CI나 스크립트처럼 로그인할 수 없는 환경이라면 ntro_ API 토큰을 NITROSHIP_TOKEN에 넣고 실행하세요. CLI가 API 토큰으로 접속 토큰을 받아 출력합니다.

export NITROSHIP_TOKEN='ntro_...'
export NITROSHIP_ACCESS_TOKEN="$(ntro token)"

표준 출력에는 토큰만 나오므로 위처럼 변수에 바로 담을 수 있습니다. --json을 붙이면 {"accessToken": "..."} 형식으로 출력합니다.

ntro_ 토큰을 API에 그대로 보내지 마세요

ntro_ API 토큰을 Bearer 헤더에 넣으면 401 token_exchange_required를 받습니다. 먼저 ntro token으로 접속 토큰을 받아 보내세요.

요청은 사용자의 팀 역할 범위 안에서만 허용되고, 이메일 인증 전에는 변경 요청이 403 email_verification_required로 거부될 수 있습니다.

자동화를 만들 때 권장하는 방식

  1. 받은 접속 토큰은 5분 동안 재사용합니다. 요청마다 새로 받지 마세요.
  2. API가 401을 돌려주면 ntro token으로 새 토큰을 받아 그 요청을 한 번만 재시도합니다.
  3. 다시 401이면 재시도를 멈추고 오류로 처리합니다. API 토큰이 철회되었거나 만료되었을 수 있습니다.

CLI 명령(ntro deploy 등)만 쓴다면 이 과정이 필요 없습니다. CLI가 접속 토큰을 알아서 받아 씁니다.

알아둘 점

  • 철회 시점: API 토큰을 철회하면 그 뒤로는 접속 토큰을 받을 수 없습니다. 다만 이미 받은 접속 토큰은 5분이 지날 때까지 쓸 수 있습니다.
  • 마지막 사용 시각: API 토큰으로 접속 토큰을 받을 때마다 API 토큰의 마지막 사용 시각이 갱신됩니다.
  • 토큰 관리 제한: API 토큰으로 받은 접속 토큰으로는 API 토큰을 만들거나 조회·철회할 수 없습니다. 토큰을 관리하려면 로그인해서 받은 접속 토큰이 필요합니다. 자세한 내용은 API 토큰 문서를 참고하세요.
  • 비밀 관리: 토큰은 비밀 저장소에서 주입하고, 화면 출력이나 로그에 남기지 마세요.

이 페이지에서