Skip to content
문서 섹션

인증

계산기 호출에는 모든 요금제에서 API 키가 필요하며, 무료 키는 비용이 들지 않습니다. 계산기 경로, 작업 경로, 사용량 엔드포인트는 두 헤더 중 어느 쪽으로도 키를 받습니다.

키는 rfc_로 시작합니다. 키는 만들 때 한 번만 표시되고 다시는 표시되지 않습니다. 저장되는 것은 해시뿐입니다.

키 보내기

키는 X-API-Key 헤더로, 또는 Authorization: Bearer rfc_… 형식으로 보냅니다. 키가 없는 요청은 401로 거부되며 keyUrl이 함께 반환되고, 발급된 적이 없거나 폐기된 키도 401로 거부됩니다. 401은 할당량과 관련이 없습니다. 할당량을 다 쓴 경우는 402입니다(오류 참고).

할당량은 계정에 속합니다

계정의 모든 키(폐기된 키 포함)의 호출은 하나의 월간 수치에서 차감됩니다. 이 수치는 UTC 기준으로 매월 초에 초기화되며, 각 호출은 여전히 그 호출을 한 키에 기록됩니다.

요금제별 월간 할당량과 키 한도
요금제월간 호출 수와 키
Free월 5회, API 키 1개
Pro월 100회, API 키 3개
API월 10,000회, API 키 5개

키 받기

사람은 대시보드에서 키를 받습니다. 프로그램이 사용자에게 키를 건네는 방법은 두 가지이며, 둘 다 일반 rfc_ 키가 됩니다. 다른 키처럼 집계되고, 목록에 표시되며, 폐기할 수 있습니다.

디바이스 권한 부여: 브라우저가 없는 프로그램을 위한 방법

OAuth 2.0 디바이스 권한 부여(RFC 8628)를 사용하면 사용자가 아무것도 붙여 넣지 않아도 프로그램(플러그인, CLI, 로컬 MCP 서버)이 키를 받을 수 있습니다. 프로그램은 코드를 요청하고, 그 코드와 https://rftools.io/device/을 사용자에게 보여 준 뒤 폴링합니다. 사용자는 그곳에서 로그인하고, 프로그램이 스스로 밝힌 이름을 확인한 뒤 승인하거나 거부합니다. 승인되면 프로그램의 다음 폴링에서 키가 한 번만 반환됩니다. 두 엔드포인트 모두 JSON 또는 폼 본문을 받습니다.

  • 코드는 BCDFGHJKLMNPQRSTVWXZ에서 고른 8자로, XXXX-XXXX 형태로 표시되며 발급 후 10분이 지나면 만료됩니다.
  • interval(처음에는 5초)보다 빠르게 폴링하지 마세요.
  • 이 키는 계정의 키 한도에 포함됩니다. 한도에 도달한 계정은 먼저 키를 폐기하라는 안내를 받습니다.
  • 사용자에게는 코드만 보여 주세요. device_code는 교환되기 전까지 프로그램의 비밀 정보입니다.
  • Python 라이브러리가 이 모든 과정을 처리합니다: rftools login 또는 rftools.Client().login().

기다리는 동안 토큰 엔드포인트는 RFC 8628 error와 함께 400으로 응답합니다:

디바이스 권한 부여 오류
error의미
authorization_pending사용자가 아직 결정하지 않았습니다. 간격을 지켜 폴링을 계속하세요.
slow_down간격보다 빠르게 폴링했습니다. 간격이 5초 늘어나며, 본문에 새 간격이 담깁니다.
access_denied사용자가 코드를 거부했거나, 키를 받아 가기 전에 계정이 키 한도에 도달했습니다. 폴링을 멈추세요.
expired_token코드가 만료되었거나(발급 후 10분), 그 키를 이미 받아 갔습니다. 처음부터 다시 시작하세요.
invalid_grant디바이스 코드가 다른 client_id에 발급되었습니다.
invalid_request / unsupported_grant_type매개변수가 빠졌거나 grant_type이 잘못되었습니다.

디바이스 권한 부여 엔드포인트에는 무엇을 보내든 자격 증명 없는 요청의 속도 제한이 적용됩니다.