API reference
Query tool runs
/v1/tool-runsUnified support for flat constant per-call pricing, input pricing precomputed from inputs, and usage pricing based on final usage. pricing.quote_required determines whether a quote is mandatory; requires_usage determines whether a cost cap and authoritative final usage are required. Neither is inferred from schema_version. When metered_pricing is off, only new calls requiring final usage are restricted; constant/input rules remain available if they need no final usage. The current key must have tool authorization; run identity and results are scoped to the original key. The catalog is empty when the master tool switch is off; the anonymous catalog is not executable authorization. Lists only runs owned by the original key, strictly ordered by created_at descending, then id descending; id provides stable tie-breaking within the same second. next_cursor is an opaque pair cursor and must be passed back unchanged; malformed cursors return 400 invalid_cursor. Pagination is not a time snapshot. Refresh the first page to see new records that sort before the current cursor.
Authentication and permissions
Use your current GloopAPI key. Available models, capabilities and permissions depend on its catalog and the endpoint documentation.
Authorization: Bearer $GLOOP_API_KEYAuthentication schemes: BearerAuth
Request
Query parameters
Responses and errors
HTTP 200
Tool runs queried successfully
application/json
- Type
- object
- Required fields
items
itemsarrayRequiredArray of tools or runs on the current page.
items child fields (1)
[]objectOptional[] child fields (10)
idstringRequiredPublic identifier of this object, used for its corresponding detail path.
tool_idstringRequiredTool ID from the current key's executable catalog.
versionstringRequiredContract/capability or tool version; runs use the tool version returned by the catalog.
statusstringRequiredsubmitting/running/submission_unknown/succeeded/failed; submission_unknown means the submission outcome is unknown. Do not resend with a different Idempotency-Key.
outputunknownRequiredJSON defined by the tool's output_schema; do not assume results remain after expiration.
error_codestringOptionalPublic error code usable for branching logic.
billingobjectRequiredIndependent billing status; do not substitute generation status.
billing child fields (7)
review_requiredbooleanOptionalBilling evidence requires manual review.
reasonstringOptionalPublic reason for an unavailable action or billing review.
usageunknownOptionalJSON value defined by the selected tool's schema or protocol; do not assume fixed fields.
breakdownunknownOptionalJSON value defined by the selected tool's schema or protocol; do not assume fixed fields.
statusstringRequiredCurrent object status; evaluate separately from billing and the saving stage.
reserved_usdstringRequiredMaximum USD reservation amount as a string.
charged_usdstringRequiredCurrently confirmed USD charge amount as a string.
allOf branch 1
Type: object
Required in this branch: status, reserved_usd, charged_usd
review_requiredbooleanOptionalBilling evidence requires manual review.
reasonstringOptionalPublic reason for an unavailable action or billing review.
usageunknownOptionalJSON value defined by the selected tool's schema or protocol; do not assume fixed fields.
breakdownunknownOptionalJSON value defined by the selected tool's schema or protocol; do not assume fixed fields.
statusstringRequiredCurrent object status; evaluate separately from billing and the saving stage.
reserved_usdstringRequiredMaximum USD reservation amount as a string.
charged_usdstringRequiredCurrently confirmed USD charge amount as a string.
result_expiredbooleanRequiredWhether the result has expired; billing/idempotency records remain.
created_atintegerRequiredCreation time in Unix seconds.
updated_atintegerRequiredLast update time in Unix seconds.
next_cursorstringOptionalStrictly opaque created_at/id pair cursor; pass it back unchanged. Malformed cursors return 400 invalid_cursor; a missing or empty value indicates the last page.
HTTP 400
Invalid request fields or parameters.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 401
The key is missing, invalid, expired, or revoked.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 403
Insufficient IP, account, model, or tool permissions.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 404
Object/capability unavailable, or feature switch disabled.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 409
Idempotency/quote conflict, object not ready, or still referenced.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 429
Request/queue rate limit.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 500
Internal authentication or data storage failure.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 503
Service, pricing, or storage unavailable.
application/json
- Type
- object
- Required fields
error
errorobjectRequirederror child fields (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional