API 참조

도구 실행 생성

POST/v1/tool-runs

flat 고정 호출당 가격, 입력으로 사전 계산하는 input 가격, 최종 사용량 기반 usage 가격을 통합 지원합니다. pricing.quote_required는 견적 필수 여부를, requires_usage는 비용 상한과 신뢰할 수 있는 최종 사용량 필요 여부를 결정합니다. 둘 다 schema_version으로 추정하지 않습니다. metered_pricing이 꺼지면 최종 사용량이 필요한 새 호출만 제한하며 최종 사용량이 불필요한 고정/입력 규칙은 계속 사용할 수 있습니다. 현재 키에 도구 권한이 있어야 하며 실행 식별 정보와 결과는 원래 키 범위로 제한됩니다. 도구 전체 스위치가 꺼지면 카탈로그가 비어 있으며 익명 카탈로그는 실행 권한이 아닙니다. 새 호출에는 비어 있지 않은 version/input과 Idempotency-Key가 필요합니다. 생성 응답을 잃어 run_id가 없다면 원래 API 키, 원래 Idempotency-Key와 원래 전체 요청 본문으로 이 작업을 재전송하여 기존 실행을 복구하세요. 새 견적을 받거나 비용 상한을 바꾸지 마세요. 접수된 실행의 재전송은 현재 스위치나 견적 만료에 의존하지 않습니다. run_id를 알면 원래 실행만 조회하세요. 결과가 불명확한 제출에 다른 키로 새 실행을 만들지 마세요.

견적 후 실행

도구 상세에서 정확한 버전, input_schema와 pricing을 조회하세요. mode=flat은 고정 호출당 가격, mode=input은 입력으로 사전 계산하는 가격, mode=usage는 최종 사용량 기반 가격입니다. 규칙의 schema_version은 저장 형식만 설명합니다.

quote_required=true인 새 호출은 먼저 견적을 받아야 합니다. 응답에 반환된 tool_id/version을 확인하고 quote_id와 원래 요청을 보관하세요. requires_usage=true이면 maximum_usd 이상인 max_cost_usd도 제공해야 합니다. 다른 실행에서는 비용 상한이 선택 사항이지만 제공하면 검사합니다. 최종 사용량이 불필요한 고정 가격 실행은 바로 실행할 수 있습니다. 입력 기반 가격 규칙은 견적이 필요하지만 최종 사용량 없이 정산할 수도 있습니다.

견적은 원래 소스를 고정합니다. 나중에 기본 소스가 바뀌어도 원래 소스와 설정이 유효하다면 원래 견적은 원래 소스를 계속 사용합니다. 아직 제출하지 않은 새 호출에서 quote_expired, quote_stale 또는 invalid_quote가 발생하면 입력을 확인하고 새 견적을 받을 수 있습니다. 실행에 성공했지만 요금이 reserved이면 최종 사용량을 계속 조회하세요. 출력 성공만으로 정산을 입증할 수는 없습니다.

잃어버린 응답 복구

전송 전에 원래 API 키 식별 정보, Idempotency-Key와 전체 요청 본문을 보관하세요. 생성 응답을 잃어 run_id가 없다면 같은 API 키, 같은 요청 키와 원래 전체 요청으로 POST /v1/tool-runs를 재전송하세요. 원래 quote_id와 max_cost_usd를 유지하고 새 견적을 받거나 키를 바꾸지 마세요. 기존 실행은 서비스을 다시 호출하지 않고 원래 기록을 우선 반환합니다. 이후 견적이 만료되거나 새 호출 스위치가 꺼져도 복구할 수 있습니다. run_id가 있으면 원래 실행만 GET으로 조회하세요.

멱등성 충돌 시 원래 요청을 대조하세요. 다른 유료 작업을 만들려고 키를 자동으로 바꾸지 마세요. 오류 처리, 요금과 비동기 복구를 참고하세요.

인증과 권한

현재 GloopAPI 키를 사용하세요. 사용 가능한 모델, 기능과 권한은 해당 카탈로그와 엔드포인트 문서에 따라 달라집니다.

Authorization: Bearer $GLOOP_API_KEY

인증 방식: BearerAuth

요청

요청 헤더

  • Idempotency-Keystring필수

    동일한 키로 원래 요청 의도를 유지하세요. 네트워크 중단 후 먼저 복구를 조회하고 불명확한 상태를 무조건 재전송하지 마세요.

    최소 길이
    1
    최대 길이
    191

요청 본문 · application/json

유형
object
필수 필드
tool_idversioninput
추가 속성
false

요청 본문 필수

  • quote_idstring선택 사항

    pricing.quote_required=true인 새 실행에는 유효한 견적이 필요합니다. 최종 사용량이 불필요한 고정 판매 가격에서는 생략할 수 있습니다. 견적을 제공하면 연결 관계를 항상 검사합니다.

  • tool_idstring필수

    현재 키의 실행 가능 카탈로그에 있는 도구 ID입니다.

  • versionstring필수

    계약/기능 또는 도구 버전입니다. 실행에는 카탈로그가 반환한 도구 버전을 사용합니다.

    최소 길이
    1
    패턴
    ".*\\S.*"
  • inputunknown필수

    이 도구 버전의 input_schema를 통과해야 합니다. 정규 JSON만 허용하며 관리자 route_id 등의 추가 필드는 금지됩니다.

  • max_cost_usdstring선택 사항null 허용

    pricing.requires_usage=true인 새 실행에는 견적의 maximum_usd 이상인 유효하고 null이 아닌 10진수 USD 예산이 필수입니다. 그 밖에는 선택 사항이지만 제공하면 검사합니다. 예산은 실행 생성 시에만 검사합니다.

응답과 오류

HTTP 200

실행 상태가 succeeded 또는 failed이면 최초 동기 응답과 원래 요청의 멱등 복구 모두 200을 반환합니다. succeeded여도 최종 사용량 정산을 기다리며 billing.status=reserved일 수 있습니다. HTTP 200이 요금 정산 완료를 뜻하지는 않습니다.

application/json

유형
object
필수 필드
idtool_idversionstatusoutputbillingresult_expiredcreated_atupdated_at
  • idstring필수

    해당 상세 경로에 사용하는 이 객체의 공개 식별자입니다.

  • tool_idstring필수

    현재 키의 실행 가능 카탈로그에 있는 도구 ID입니다.

  • versionstring필수

    계약/기능 또는 도구 버전입니다. 실행에는 카탈로그가 반환한 도구 버전을 사용합니다.

  • statusstring필수

    submitting/running/submission_unknown/succeeded/failed이며 submission_unknown은 제출 결과가 불명확함을 뜻합니다. 다른 Idempotency-Key로 재전송하지 마세요.

  • outputunknown필수

    도구의 output_schema가 정의하는 JSON입니다. 만료 후에도 결과가 남는다고 가정하지 마세요.

  • error_codestring선택 사항

    분기 로직에 사용할 수 있는 공개 오류 코드입니다.

  • billingobject필수

    독립적인 요금 상태이며 생성 상태로 대체하지 마세요.

    billing 하위 필드(7)
    • review_requiredboolean선택 사항

      요금 증거에 수동 검토가 필요합니다.

    • reasonstring선택 사항

      작업 불가 또는 요금 검토의 공개 사유입니다.

    • usageunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • breakdownunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • statusstring필수

      현재 객체 상태입니다. 요금 및 저장 단계와 별도로 판단하세요.

    • reserved_usdstring필수

      최대 USD 예약액 문자열입니다.

    • charged_usdstring필수

      현재 확정된 USD 과금액 문자열입니다.

    allOf 분기 1

    유형: object

    이 분기의 필수 항목: status, reserved_usd, charged_usd

    • review_requiredboolean선택 사항

      요금 증거에 수동 검토가 필요합니다.

    • reasonstring선택 사항

      작업 불가 또는 요금 검토의 공개 사유입니다.

    • usageunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • breakdownunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • statusstring필수

      현재 객체 상태입니다. 요금 및 저장 단계와 별도로 판단하세요.

    • reserved_usdstring필수

      최대 USD 예약액 문자열입니다.

    • charged_usdstring필수

      현재 확정된 USD 과금액 문자열입니다.

  • result_expiredboolean필수

    결과의 만료 여부이며 요금/멱등성 기록은 남습니다.

  • created_atinteger필수

    Unix 초 단위 생성 시각입니다.

  • updated_atinteger필수

    Unix 초 단위 마지막 갱신 시각입니다.

HTTP 202

실행 상태가 submitting, running 또는 submission_unknown입니다. 요청이 접수되었으며 요금은 여전히 billing으로 독립 판단해야 합니다.

application/json

유형
object
필수 필드
idtool_idversionstatusoutputbillingresult_expiredcreated_atupdated_at
  • idstring필수

    해당 상세 경로에 사용하는 이 객체의 공개 식별자입니다.

  • tool_idstring필수

    현재 키의 실행 가능 카탈로그에 있는 도구 ID입니다.

  • versionstring필수

    계약/기능 또는 도구 버전입니다. 실행에는 카탈로그가 반환한 도구 버전을 사용합니다.

  • statusstring필수

    submitting/running/submission_unknown/succeeded/failed이며 submission_unknown은 제출 결과가 불명확함을 뜻합니다. 다른 Idempotency-Key로 재전송하지 마세요.

  • outputunknown필수

    도구의 output_schema가 정의하는 JSON입니다. 만료 후에도 결과가 남는다고 가정하지 마세요.

  • error_codestring선택 사항

    분기 로직에 사용할 수 있는 공개 오류 코드입니다.

  • billingobject필수

    독립적인 요금 상태이며 생성 상태로 대체하지 마세요.

    billing 하위 필드(7)
    • review_requiredboolean선택 사항

      요금 증거에 수동 검토가 필요합니다.

    • reasonstring선택 사항

      작업 불가 또는 요금 검토의 공개 사유입니다.

    • usageunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • breakdownunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • statusstring필수

      현재 객체 상태입니다. 요금 및 저장 단계와 별도로 판단하세요.

    • reserved_usdstring필수

      최대 USD 예약액 문자열입니다.

    • charged_usdstring필수

      현재 확정된 USD 과금액 문자열입니다.

    allOf 분기 1

    유형: object

    이 분기의 필수 항목: status, reserved_usd, charged_usd

    • review_requiredboolean선택 사항

      요금 증거에 수동 검토가 필요합니다.

    • reasonstring선택 사항

      작업 불가 또는 요금 검토의 공개 사유입니다.

    • usageunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • breakdownunknown선택 사항

      선택한 도구의 스키마 또는 프로토콜이 정의하는 JSON 값입니다. 고정 필드를 가정하지 마세요.

    • statusstring필수

      현재 객체 상태입니다. 요금 및 저장 단계와 별도로 판단하세요.

    • reserved_usdstring필수

      최대 USD 예약액 문자열입니다.

    • charged_usdstring필수

      현재 확정된 USD 과금액 문자열입니다.

  • result_expiredboolean필수

    결과의 만료 여부이며 요금/멱등성 기록은 남습니다.

  • created_atinteger필수

    Unix 초 단위 생성 시각입니다.

  • updated_atinteger필수

    Unix 초 단위 마지막 갱신 시각입니다.

HTTP 400

요청 필드 또는 매개변수가 유효하지 않습니다.

application/json

유형
object
필수 필드
error

HTTP 401

키가 없거나 유효하지 않거나 만료 또는 폐기되었습니다.

application/json

유형
object
필수 필드
error

HTTP 403

IP, 계정, 모델 또는 도구 권한이 부족합니다.

application/json

유형
object
필수 필드
error

HTTP 404

객체/기능을 사용할 수 없거나 기능 스위치가 비활성화되었습니다.

application/json

유형
object
필수 필드
error

HTTP 409

멱등성/견적 충돌, 준비되지 않은 객체 또는 여전히 참조 중인 상태입니다.

application/json

유형
object
필수 필드
error

HTTP 429

요청/대기열 속도 제한입니다.

application/json

유형
object
필수 필드
error

HTTP 500

내부 인증 또는 데이터 저장 오류입니다.

application/json

유형
object
필수 필드
error

HTTP 503

서비스, 가격 또는 스토리지를 사용할 수 없습니다.

application/json

유형
object
필수 필드
error

엔드포인트 참고 사항

이 예제는 requires_usage=true인 도구용입니다. quote_id와 max_cost_usd를 바꾸세요. 예산은 이 견적의 maximum_usd 이상인 유효한 10진수 USD 문자열이어야 하며 0.01은 설명용입니다. 견적은 필요하지만 최종 사용량은 불필요한 입력 기반 가격 규칙에서는 예산이 선택 사항입니다. 최종 사용량이 불필요한 고정 가격 실행에서는 견적과 예산 모두 선택 사항입니다. 전송 전에 원래 키 식별 정보, 요청 키와 전체 요청 본문을 보관하고 응답을 잃으면 복구에 재사용하세요.

개발할 준비가 되셨나요? 열기: 콘솔 API 키를 생성하거나 살펴보기: 기능.