Entwickeln / Referenz

Responses

Erzeugt und verwaltet Antworten im Format der OpenAI Responses API und maskiert Anweisungen und Eingaben, wenn die Maskierung aktiv ist.

POST /v1/responses
Familie
chat
Maskierung
ja
Streaming
ja, SSE
Format
JSON
Abrechnung
Tokens

Anfrage

Das Gateway nimmt den Body im Format der OpenAI Responses API an. model ist Pflicht. Setzen Sie eine Modell-ID aus GET /v1/models ein. Das Modell muss zur Familie chat gehören und bei einem Anbieter im OpenAI-Format laufen.

Die Responses API bedienen Modelle von Anbietern, die diese API im OpenAI-Format anbieten. Welche Modelle Ihr Schlüssel aufrufen darf, liefert GET /v1/models. Dort steht im Feld endpoint_family für diesen Endpunkt der Wert chat. Ob ein Anbieter die Responses API unterstützt, entscheidet der Anbieter. Lehnt er die Anfrage ab, erhalten Sie seinen Statuscode und Body unverändert.

Shell
curl https://api.noirdoc.de/v1/responses \
  -H "Authorization: Bearer $NOIRDOC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<modell-id>",
    "instructions": "Antworten Sie in drei Sätzen.",
    "input": "Was schreibt Herr Müller der Kanzlei?"
  }'
Python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.noirdoc.de/v1",
    api_key=os.environ["NOIRDOC_API_KEY"],
)

response = client.responses.create(
    model="<modell-id>",
    instructions="Antworten Sie in drei Sätzen.",
    input="Was schreibt Herr Müller der Kanzlei?",
)
print(response.output_text)
TypeScript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.noirdoc.de/v1",
  apiKey: process.env.NOIRDOC_API_KEY,
});

const response = await client.responses.create({
  model: "<modell-id>",
  instructions: "Antworten Sie in drei Sätzen.",
  input: "Was schreibt Herr Müller der Kanzlei?",
});
console.log(response.output_text);

Was Noirdoc ändert

BereichVerhalten
ModellDas Gateway löst die Modell-ID über den Katalog auf und sendet dem Anbieter dessen eigenen Modellnamen. Nennt die Antwort im Feld model diesen Namen, setzt das Gateway dort wieder die ID ein, die Sie gesendet haben.
AnbieterDer Header X-Noirdoc-Provider in der Antwort nennt den Anbieter, auch bei einem Fehler des Anbieters. Siehe Anbieter & Routing.
MaskierungIst die Maskierung aktiv, ersetzt das Gateway personenbezogene Daten in instructions und input durch Platzhalter und stellt die Originalwerte in der Antwort wieder her, auch im Stream. Die Felder listet Maskierte Felder.
Anweisung zu PlatzhalternHat das Gateway Platzhalter gesetzt, stellt es instructions eine Anweisung voran, die Platzhalter wie echte Werte zu behandeln.
previous_response_idBei aktiver Maskierung lädt das Gateway die Zuordnung der vorigen Antwort. Derselbe Wert erhält dann denselben Platzhalter, und die Antwort wird vollständig zurückübersetzt. Wie lange die Zuordnung gespeichert bleibt, beschreibt Maskierung.
Dateien und BilderTeile vom Typ input_image und input_file sind nur erlaubt, wenn Admins Ihrer Organisation unter Models → Datenschutz die Option Dateiinhalte zulassen eingeschaltet haben. Details: Dateien.
HeaderDas Gateway entfernt Ihren Schlüssel und X-Noirdoc-Mask, bevor es die Anfrage weiterleitet.

Verweise auf gespeicherte Objekte

Die von Noirdoc verwalteten Anbieter nutzen ein gemeinsames Konto für alle Organisationen. Dort prüft das Gateway jeden Verweis im Body:

  • previous_response_id, referenzierte Dateien (file_id) und Container müssen über Ihre Organisation entstanden sein. Sonst antwortet das Gateway mit 404 object_not_found.
  • conversation, prompt.id, input[]-Einträge vom Typ item_reference, input[]-Einträge, die nur eine id ohne Inhalt tragen, und tools[].vector_store_ids lehnt das Gateway mit 403 reference_not_available_on_platform ab.

Mit einem eigenen Anbieter-Schlüssel (BYOK) entfallen diese Prüfungen.

Unterrouten

MethodePfadZweck
POST/v1/responsesAntwort erzeugen
POST/v1/responses/input_tokensEingabe-Tokens einer Anfrage zählen
POST/v1/responses/compactan den Anbieter-Endpunkt responses/compact weiterleiten
GET/v1/responses/{id}eine gespeicherte Antwort abrufen
DELETE/v1/responses/{id}eine gespeicherte Antwort löschen
POST/v1/responses/{id}/canceleine laufende Antwort abbrechen (ohne Body)
GET/v1/responses/{id}/input_itemsdie Eingabe-Einträge einer Antwort abrufen

input_tokens und compact verlangen model und laufen wie POST /v1/responses über den Katalog. Ist die Maskierung aktiv, maskiert das Gateway auch hier instructions und input.

Die Aufrufe mit {id} tragen kein Modell. Das Gateway leitet sie an den ältesten aktiven Anbieter im OpenAI-Format Ihrer Organisation weiter. Eigene Anbieter-Schlüssel (BYOK) haben Vorrang. Bei von Noirdoc verwalteten Anbietern erreichen Sie nur Antworten, die über Ihre Organisation entstanden sind. Für alle anderen IDs antwortet das Gateway mit 404 object_not_found.

Beim Abrufen stellt das Gateway keine Originalwerte wieder her. War die ursprüngliche Anfrage maskiert, enthalten GET /v1/responses/{id} und input_items die Platzhalter.

Andere Pfade unter /v1/responses/ beantwortet das Gateway mit 404 unsupported_endpoint.

input_tokens erzeugt keine Antwort des Modells. Das Gateway protokolliert den Aufruf, rechnet ihn aber nicht ab. Eine Kostenschätzung vor der Weiterleitung entfällt. Bei von Noirdoc verwalteten Anbietern gilt trotzdem: Ist das Guthaben der Organisation oder das Budget des Schlüssels aufgebraucht, antwortet das Gateway mit 402. compact rechnet das Gateway wie POST /v1/responses nach Tokens ab.

Fehler auf diesem Endpunkt

StatusCodeBedeutung
400model_requiredDie Anfrage nennt kein Modell (model im Body, bei /v1/audio/transcriptions im Formularfeld).
400wrong_endpoint_for_modelDas Modell gehört zu einer anderen Endpunkt-Familie oder einem anderen API-Format als der aufgerufene Endpunkt.
400invalid_request_bodyDer Body ist kein JSON-Objekt oder nicht in UTF-8 kodiert.
402insufficient_creditDas Guthaben der Organisation ist aufgebraucht oder kleiner als die geschätzten Höchstkosten der Anfrage.
402key_budget_exhaustedDas Budget dieses Schlüssels ist für den laufenden Zeitraum aufgebraucht oder reicht für die geschätzten Kosten der Anfrage nicht aus.
403reference_not_available_on_platformDer Body verweist auf Objekte beim Anbieter (etwa conversation, prompt.id oder vector_store_ids), deren Besitz das Gateway bei verwalteten Anbietern nicht prüfen kann.
403model_not_allowed_for_keyDas Modell gehört nicht zu den erlaubten Modellen dieses Schlüssels.
403provider_not_allowed_for_tenantDie Organisation gilt als Berufsgeheimnisträger (§ 203 StGB); das schließt jeden Anbieter aus, der dieses Modell anbietet.
403provider_not_allowed_for_keyDie Einschränkungen des Schlüssels (Anbieter, Datenresidenz, CLOUD Act, § 203) schließen jeden Anbieter dieses Modells aus.
403file_content_not_allowedDie Anfrage enthält Dateien, Bilder oder Audio, und die Organisation lässt keine Dateiinhalte zu.
403file_pii_blockedEine Datei enthält personenbezogene Daten, und der Dateianalyse-Modus der Organisation ist block.
404object_not_foundDas Objekt (Datei, Skill oder gespeicherte Antwort) existiert nicht oder gehört nicht Ihrer Organisation.
404model_not_availableDie Modell-ID ist für die Organisation nicht verfügbar.
422file_unprocessableEine Datei ließ sich für die Prüfung nicht verarbeiten: Sie ist zu groß, nicht lesbar oder hat ein Format ohne Analyse. Das Gateway hat die Anfrage nicht weitergeleitet.
500detection_errorDie Erkennung personenbezogener Daten ist fehlgeschlagen; das Gateway hat die Anfrage nicht weitergeleitet.
502provider_not_configuredFür diese Anfrage ist in der Organisation kein passender Anbieter eingerichtet.
502provider_unreachableDas Gateway konnte keine Verbindung zum Anbieter herstellen, oder die Verbindung ist abgebrochen.
503ownership_check_unavailableDas Gateway konnte gerade nicht prüfen, ob das Objekt Ihrer Organisation gehört, und hat die Anfrage abgelehnt.
504provider_timeoutDer Anbieter hat nicht innerhalb der Wartezeit des Gateways geantwortet.

OpenAI-Referenz

Alle übrigen Felder von Anfrage und Antwort beschreibt die API-Referenz von OpenAI: Responses (geprüft am 30.09.2026).