Entwickeln / Referenz

Dateien & Skills

Leitet Datei- und Skill-Aufrufe unverändert an den Anbieter weiter und legt fest, welcher Anbieter sie erhält.

POST /v1/files
Familie
Durchleitung
Maskierung
nein
Streaming
nein
Format
wie beim Anbieter, Hochladen als multipart/form-data
Abrechnung
keine

Voraussetzungen

Dateien und Skills funktionieren nur, wenn Admins Ihrer Organisation unter Models → Datenschutz die Option Dateiinhalte zulassen eingeschaltet haben. Sonst antwortet das Gateway mit 403 file_content_not_allowed.

Weil das Gateway hier nicht maskiert, lehnt es Aufrufe mit Inhalt ab, wenn die Anfrage Maskierung verlangt: bei der Maskierungsrichtlinie enforced oder mit dem Header X-Noirdoc-Mask: on. Das betrifft alle Methoden außer GET, HEAD, OPTIONS und DELETE, also etwa das Hochladen einer Datei und das Anlegen eines Skills oder einer Version. Das Gateway antwortet dann mit 403 masking_not_supported_for_endpoint. Auflisten, Abrufen, Herunterladen und Löschen bleiben erlaubt.

Anbieter wählen

Diese Aufrufe tragen kein Modell. Das Gateway bestimmt deshalb zuerst das API-Format und leitet den Aufruf dann an den ältesten aktiven Anbieter dieses Formats weiter. Anbieter, die Ihre Organisation selbst verbunden hat (BYOK), haben Vorrang. Claude über Google Vertex kommt dafür nicht in Frage.

EndpunktAPI-Format
/v1/files mit x-api-keyAnthropic
/v1/files mit Authorization: Bearer oder api-keyOpenAI
/v1/files mit Header X-Provider: anthropic oder X-Provider: openai (kleingeschrieben)das angegebene, unabhängig vom Schlüssel-Header
/v1/skillsimmer Anthropic, X-Provider wirkt nicht

X-Provider wählt nur das Format. Die Einschränkungen Ihres Schlüssels und Ihrer Organisation gelten weiter. Ist für das Format kein Anbieter eingerichtet, antwortet das Gateway mit 502 provider_not_configured.

Das Anthropic-SDK sendet den Schlüssel als x-api-key. Das Gateway leitet den Aufruf dann an einen Anthropic-Anbieter weiter. Das OpenAI-SDK sendet Authorization: Bearer und landet bei einem Anbieter im OpenAI-Format.

Nutzt ein Anthropic-Client Authorization: Bearer, setzen Sie X-Provider: anthropic.

Shell
curl https://api.noirdoc.de/v1/files \
  -H "Authorization: Bearer $NOIRDOC_API_KEY" \
  -H "X-Provider: anthropic" \
  -F file=@vertrag.pdf
Python
import os
from openai import OpenAI

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

with open("vertrag.pdf", "rb") as f:
    uploaded = client.files.create(file=f, purpose="user_data")
print(uploaded.id)
TypeScript
import fs from "node:fs";
import OpenAI from "openai";

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

const uploaded = await client.files.create({
  file: fs.createReadStream("vertrag.pdf"),
  purpose: "user_data",
});
console.log(uploaded.id);

Was Noirdoc ändert

BereichVerhalten
Body und AntwortDas Gateway leitet Body, Content-Type und Query-Parameter unverändert weiter. Die Antwort des Anbieters gibt es unverändert zurück, außer bei generierten Dateien und gefilterten Listen (siehe unten).
Beta-HeaderBei Anthropic ergänzt das Gateway anthropic-beta um files-api-2025-04-14 für Dateien und skills-2025-10-02 für Skills. Eigene Werte bleiben erhalten.
Generierte DateienHat das Modell eine Datei in einer maskierten Anfrage erzeugt, etwa per Code-Ausführung, ersetzt das Gateway beim Herunterladen über /v1/files/{id}/content die Platzhalter in der Datei durch die Originalwerte. Das gilt für Text-, CSV-, Markdown-, HTML-, JSON-, DOCX- und XLSX-Dateien, solange die Zuordnung gespeichert ist. Andere Formate wie PDF oder Bilder erhalten Sie unverändert.
Antwort-HeaderX-Noirdoc-Provider fehlt bei Datei- und Skill-Aufrufen. Antworten des Anbieters tragen X-Noirdoc-Masked: false.

Von Noirdoc verwaltete Anbieter

Diese Anbieter nutzen ein gemeinsames Konto für alle Organisationen. Das Gateway trennt die Objekte deshalb selbst:

  • Hochladen und Auflisten sind erlaubt. Eine Liste enthält nur Objekte Ihrer Organisation und die vorgefertigten Skills von Anthropic. Eine Listenseite kann deshalb weniger Einträge enthalten als limit.
  • Aufrufe mit {id} erreichen nur Objekte, die über Ihre Organisation entstanden sind. Für alle anderen IDs antwortet das Gateway mit 404 object_not_found.
  • Andere Methoden auf /v1/files und /v1/skills lehnt das Gateway mit 403 endpoint_not_available_on_platform ab.
  • Kann das Gateway die Zuordnung eines Objekts nicht prüfen oder nicht speichern, antwortet es mit 503 ownership_check_unavailable.

Mit einem eigenen Anbieter-Schlüssel (BYOK) entfallen diese Einschränkungen.

Unterrouten

MethodePfadZweck
POST/v1/filesDatei hochladen
GET/v1/filesDateien auflisten
GET/v1/files/{id}Metadaten einer Datei abrufen
DELETE/v1/files/{id}Datei löschen
GET/v1/files/{id}/contentDateiinhalt herunterladen
wie bei Anthropic/v1/skillsSkills anlegen und auflisten
wie bei Anthropic/v1/skills/{id}ein Skill
wie bei Anthropic/v1/skills/{id}/versionsdie Versionen eines Skills
wie bei Anthropic/v1/skills/{id}/versions/{version}eine Version eines Skills

Andere Pfade unter /v1/files/ und /v1/skills/ beantwortet das Gateway mit 404 unsupported_endpoint.

Welche Methoden die Skills-Pfade annehmen, legt Anthropic fest. Siehe die Skills-Referenz von Anthropic.

Fehler auf diesen Endpunkten

StatusCodeBedeutung
402insufficient_creditDas Guthaben der Organisation ist aufgebraucht oder kleiner als die geschätzten Höchstkosten der Anfrage.
403endpoint_not_available_on_platformDer Aufruf würde Daten aus dem gemeinsamen Konto eines von Noirdoc verwalteten Anbieters lesen und ist dort gesperrt.
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.
403masking_not_supported_for_endpointDer Endpunkt kann nicht maskieren, aber die Maskierungsrichtlinie ist enforced oder die Anfrage sendet X-Noirdoc-Mask: on.
403file_content_not_allowedDie Anfrage enthält Dateien, Bilder oder Audio, und die Organisation lässt keine Dateiinhalte zu.
404unsupported_endpointDas Gateway kennt diesen Pfad nicht.
404object_not_foundDas Objekt (Datei, Skill oder gespeicherte Antwort) existiert nicht oder gehört nicht Ihrer Organisation.
502provider_not_configuredFür diese Anfrage ist in der Organisation kein passender Anbieter eingerichtet.
502provider_misconfiguredDie Konfiguration des gewählten Anbieters ist ungültig, zum Beispiel eine nicht erlaubte Basis-URL.
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.

Anbieter-Referenz

Alle Felder beschreiben die Referenzen der Anbieter (geprüft am 30.09.2026):