API-Referenz
Tool-Ausführung erstellen
/v1/tool-runsUnterstützt einheitlich flat als konstanten Preis pro Aufruf, input als Vorabberechnung anhand der Eingaben und usage anhand der endgültigen Nutzung. pricing.quote_required bestimmt, ob ein Kostenvoranschlag erforderlich ist; requires_usage bestimmt, ob eine Kostenobergrenze und bestätigte endgültige Nutzungsdaten erforderlich sind. Beides wird nicht aus schema_version abgeleitet. Bei deaktiviertem metered_pricing sind nur neue Aufrufe eingeschränkt, die endgültige Nutzungsdaten benötigen; konstante/eingabebasierte Regeln ohne dieses Erfordernis bleiben nutzbar. Der aktuelle Schlüssel benötigt Tool-Berechtigung; Ausführungsidentität und Ergebnisse sind an den ursprünglichen Schlüssel gebunden. Bei deaktiviertem Tool-Hauptschalter ist der Katalog leer; der anonyme Katalog erteilt keine Ausführungsberechtigung. Neue Aufrufe erfordern nicht leere version/input und Idempotency-Key. Geht die Erstellungsantwort ohne run_id verloren, diese Operation mit ursprünglichem API-Schlüssel, ursprünglichem Idempotency-Key und vollständigem ursprünglichem Anfragekörper wiederholen, um die bestehende Ausführung wiederherzustellen; keinen neuen Kostenvoranschlag anfordern und die Kostenobergrenze nicht ändern. Wiederholung akzeptierter Ausführungen hängt nicht von aktuellen Schaltern oder der Gültigkeit des Kostenvoranschlags ab. Bei bekannter run_id nur die ursprüngliche Ausführung abfragen; bei unbekannter Übermittlung keine neue mit anderem Schlüssel erstellen.
Ausführung nach Kostenvoranschlag
Lesen Sie die genaue version, input_schema und pricing aus den Tool-Details. mode=flat ist ein konstanter Preis je Aufruf, mode=input eine Vorausberechnung nach Eingaben und mode=usage eine Berechnung nach endgültiger Nutzung. schema_version der Regeln beschreibt nur das Speicherformat.
Neue Aufrufe mit quote_required=true benötigen zuerst einen Kostenvoranschlag. Prüfen Sie die zurückgegebenen tool_id/version und speichern Sie quote_id sowie die ursprüngliche Anfrage. Bei requires_usage=true muss zusätzlich max_cost_usd mindestens maximum_usd betragen. Für andere Ausführungen ist ein Kostenlimit optional, wird aber ebenfalls geprüft, wenn es angegeben ist. Konstant bepreiste Ausführungen ohne endgültige Nutzungsanforderung können direkt starten. Eingaberegeln verlangen einen Kostenvoranschlag, können aber ohne endgültige Nutzungsdaten abgerechnet werden.
Der Kostenvoranschlag fixiert die ursprüngliche Quelle. Ändert sich später die Standardquelle, verwendet er weiter die ursprüngliche, solange diese und ihre Konfiguration gültig bleiben. Noch nicht eingereichte neue Aufrufe können bei quote_expired, quote_stale oder invalid_quote nach Eingabeprüfung neu kalkuliert werden. Ist die Ausführung erfolgreich, billing aber weiterhin reserved, fragen Sie die endgültige Nutzung weiter ab. Eine erfolgreiche Ausgabe beweist keinen Abrechnungsabschluss.
Wiederherstellung bei verlorener Antwort
Speichern Sie vor dem Senden die ursprüngliche API-Key-Identität, Idempotency-Key und den vollständigen Anfragekörper. Geht die Erstellungsantwort ohne run_id verloren, wiederholen Sie POST /v1/tool-runs mit derselben Key, demselben Anfrageschlüssel und der ursprünglichen vollständigen Anfrage. Behalten Sie quote_id und max_cost_usd bei, ohne neuen Kostenvoranschlag oder Schlüsselwechsel. Vorhandene Ausführungen geben bevorzugt den ursprünglichen Datensatz zurück, ohne erneuten Dienstaufruf. Die Wiederherstellung funktioniert auch bei später abgelaufenem Kostenvoranschlag oder deaktivierten neuen Aufrufen. Sobald run_id vorliegt, verwenden Sie nur GET für die ursprüngliche Ausführung.
Bei Idempotenzkonflikten müssen Sie die ursprüngliche Anfrage prüfen; erstellen Sie nicht automatisch mit neuem Schlüssel einen kostenpflichtigen Vorgang. Siehe Fehlerbehandlung, Abrechnung und Asynchrone Wiederherstellung.
Authentifizierung und Berechtigungen
Verwenden Sie Ihren aktuellen GloopAPI-Schlüssel. Verfügbare Modelle, Funktionen und Berechtigungen hängen von seinem Katalog und der Endpunktdokumentation ab.
Authorization: Bearer $GLOOP_API_KEYAuthentifizierungsschemata: BearerAuth
Anfrage
Anfrageheader
Idempotency-KeystringErforderlichUrsprüngliche Anfrageabsicht mit demselben Schlüssel aufbewahren. Nach einer Netzwerkunterbrechung zuerst die Wiederherstellung abfragen; bei unbekanntem Status nicht blind erneut senden.
- Mindestlänge
1- Maximale Länge
191
Anfragekörper · application/json
- Typ
- object
- Pflichtfelder
tool_idversioninput- Zusätzliche Eigenschaften
- false
Anfragekörper erforderlich
quote_idstringOptionalBei pricing.quote_required=true ist für neue Ausführungen ein gültiges Angebot nötig; bei konstantem Preis ohne endgültige Nutzung optional. Angegebene Angebote werden stets auf ihre Bindung geprüft.
tool_idstringErforderlichTool-ID aus dem ausführbaren Katalog des aktuellen Schlüssels.
versionstringErforderlichVertrags-/Funktions- oder Tool-Version; Ausführungen verwenden die im Katalog angegebene Tool-Version.
- Mindestlänge
1- Muster
".*\\S.*"
inputunknownErforderlichMuss das input_schema dieser Tool-version erfüllen. Nur kanonisches JSON; zusätzliche Felder wie das administrative route_id sind verboten.
Bei pricing.requires_usage=true benötigen neue Ausführungen ein gültiges dezimales Dollarbudget ungleich null, mindestens maximum_usd des Angebots. Sonst optional, aber bei Angabe ebenfalls geprüft. Prüfung nur bei Erstellung.
Antworten und Fehler
HTTP 200
Liefert 200 bei succeeded oder failed, sowohl für die erste synchrone Antwort als auch für idempotente Wiederherstellung der ursprünglichen Anfrage. succeeded kann weiterhin billing.status=reserved haben und auf endgültige Nutzungsabrechnung warten; HTTP 200 bedeutet keine abgeschlossene Abrechnung.
application/json
- Typ
- object
- Pflichtfelder
idtool_idversionstatusoutputbillingresult_expiredcreated_atupdated_at
idstringErforderlichÖffentliche Kennung dieses Objekts für den zugehörigen Detailpfad.
tool_idstringErforderlichTool-ID aus dem ausführbaren Katalog des aktuellen Schlüssels.
versionstringErforderlichVertrags-/Funktions- oder Tool-Version; Ausführungen verwenden die im Katalog angegebene Tool-Version.
statusstringErforderlichsubmitting/running/submission_unknown/succeeded/failed; submission_unknown bedeutet unbekanntes Übermittlungsergebnis: nicht mit geändertem Idempotency-Key wiederholen.
outputunknownErforderlichJSON gemäß output_schema des Tools; nach Ablauf nicht davon ausgehen, dass das Ergebnis noch existiert.
error_codestringOptionalÖffentlicher Fehlercode für Fallunterscheidungen.
billingobjectErforderlichUnabhängiger Abrechnungsstatus; nicht durch den Generierungsstatus ersetzen.
Unterfelder von billing (7)
review_requiredbooleanOptionalAbrechnungsnachweise müssen manuell geprüft werden.
reasonstringOptionalÖffentlicher Grund für nicht verfügbare Aktion oder Abrechnungsprüfung.
usageunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
breakdownunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
statusstringErforderlichAktueller Objektstatus; getrennt von Abrechnung und Speicherungsstand bewerten.
reserved_usdstringErforderlichMaximaler USD-Reservierungsbetrag als Zeichenfolge.
charged_usdstringErforderlichAktuell bestätigter USD-Abrechnungsbetrag als Zeichenfolge.
allOf-Zweig 1
Typ: object
In diesem Zweig erforderlich: status, reserved_usd, charged_usd
review_requiredbooleanOptionalAbrechnungsnachweise müssen manuell geprüft werden.
reasonstringOptionalÖffentlicher Grund für nicht verfügbare Aktion oder Abrechnungsprüfung.
usageunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
breakdownunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
statusstringErforderlichAktueller Objektstatus; getrennt von Abrechnung und Speicherungsstand bewerten.
reserved_usdstringErforderlichMaximaler USD-Reservierungsbetrag als Zeichenfolge.
charged_usdstringErforderlichAktuell bestätigter USD-Abrechnungsbetrag als Zeichenfolge.
result_expiredbooleanErforderlichOb das Ergebnis abgelaufen ist; Abrechnungs-/Idempotenzdatensätze bleiben erhalten.
created_atintegerErforderlichErstellungszeit in Unix-Sekunden.
updated_atintegerErforderlichLetzte Aktualisierung in Unix-Sekunden.
HTTP 202
Ausführungsstatus submitting, running oder submission_unknown. Die Anfrage wurde akzeptiert; Abrechnung weiterhin unabhängig anhand von billing bewerten.
application/json
- Typ
- object
- Pflichtfelder
idtool_idversionstatusoutputbillingresult_expiredcreated_atupdated_at
idstringErforderlichÖffentliche Kennung dieses Objekts für den zugehörigen Detailpfad.
tool_idstringErforderlichTool-ID aus dem ausführbaren Katalog des aktuellen Schlüssels.
versionstringErforderlichVertrags-/Funktions- oder Tool-Version; Ausführungen verwenden die im Katalog angegebene Tool-Version.
statusstringErforderlichsubmitting/running/submission_unknown/succeeded/failed; submission_unknown bedeutet unbekanntes Übermittlungsergebnis: nicht mit geändertem Idempotency-Key wiederholen.
outputunknownErforderlichJSON gemäß output_schema des Tools; nach Ablauf nicht davon ausgehen, dass das Ergebnis noch existiert.
error_codestringOptionalÖffentlicher Fehlercode für Fallunterscheidungen.
billingobjectErforderlichUnabhängiger Abrechnungsstatus; nicht durch den Generierungsstatus ersetzen.
Unterfelder von billing (7)
review_requiredbooleanOptionalAbrechnungsnachweise müssen manuell geprüft werden.
reasonstringOptionalÖffentlicher Grund für nicht verfügbare Aktion oder Abrechnungsprüfung.
usageunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
breakdownunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
statusstringErforderlichAktueller Objektstatus; getrennt von Abrechnung und Speicherungsstand bewerten.
reserved_usdstringErforderlichMaximaler USD-Reservierungsbetrag als Zeichenfolge.
charged_usdstringErforderlichAktuell bestätigter USD-Abrechnungsbetrag als Zeichenfolge.
allOf-Zweig 1
Typ: object
In diesem Zweig erforderlich: status, reserved_usd, charged_usd
review_requiredbooleanOptionalAbrechnungsnachweise müssen manuell geprüft werden.
reasonstringOptionalÖffentlicher Grund für nicht verfügbare Aktion oder Abrechnungsprüfung.
usageunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
breakdownunknownOptionalJSON-Wert gemäß Schema oder Protokoll des gewählten Tools; keine festen Felder annehmen.
statusstringErforderlichAktueller Objektstatus; getrennt von Abrechnung und Speicherungsstand bewerten.
reserved_usdstringErforderlichMaximaler USD-Reservierungsbetrag als Zeichenfolge.
charged_usdstringErforderlichAktuell bestätigter USD-Abrechnungsbetrag als Zeichenfolge.
result_expiredbooleanErforderlichOb das Ergebnis abgelaufen ist; Abrechnungs-/Idempotenzdatensätze bleiben erhalten.
created_atintegerErforderlichErstellungszeit in Unix-Sekunden.
updated_atintegerErforderlichLetzte Aktualisierung in Unix-Sekunden.
HTTP 400
Ungültige Anfragefelder oder Parameter.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 401
Key fehlt, ist ungültig, abgelaufen oder widerrufen.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 403
Unzureichende IP-, Konto-, Modell- oder Tool-Berechtigungen.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 404
Objekt/Funktion nicht verfügbar oder Funktionsschalter deaktiviert.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 409
Idempotenz-/Kostenvoranschlagskonflikt, Objekt nicht bereit oder noch referenziert.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 429
Anfrage-/Warteschlangenlimit.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 500
Interner Authentifizierungs- oder Datenspeicherungsfehler.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
HTTP 503
Dienst, Preisberechnung oder Speicherung nicht verfügbar.
application/json
- Typ
- object
- Pflichtfelder
error
errorobjectErforderlichUnterfelder von error (4)
codestringOptionalmessagestringOptionaltypestringOptionalrequest_idstringOptional
Hinweise zum Endpunkt
Dieses Beispiel gilt für Tools mit requires_usage=true: quote_id und max_cost_usd ersetzen. Das Budget muss eine gültige dezimale USD-Zeichenfolge sein und mindestens maximum_usd dieses Kostenvoranschlags entsprechen; 0.01 ist nur illustrativ. Für eingabebasierte Regeln mit Kostenvoranschlag, aber ohne endgültige Nutzung, ist das Budget optional; bei konstanten Preisen ohne endgültige Nutzung sind beides optional. Vor dem Senden ursprüngliche Schlüsselidentität, Anfrageschlüssel und vollständigen Anfragekörper speichern und bei verlorener Antwort zur Wiederherstellung wiederverwenden.