Reference
Eigene Clients generieren
Wir veröffentlichen aktuell keine offiziellen SDKs. Stattdessen pflegen wir eine OpenAPI-3.1-Spezifikation, aus der Sie typensichere Clients in Ihrer bevorzugten Sprache generieren können.
OpenAPI-Spezifikation
Die OpenAPI-3.1-Spec wird im Developer Center als statischer Download bereitgestellt:
- Download:
/openapi.json
Der Stand ist die jeweils mit dem Devcenter-Build versionierte Spec — sie spiegelt die zum Build-Zeitpunkt deployte API.
Empfohlene Generatoren
| Sprache | Generator | Notiz |
|---|---|---|
| TypeScript | openapi-typescript |
Reine Typdefinitionen, kein Runtime-SDK |
| TypeScript | openapi-fetch |
Schlanker fetch-Wrapper mit Typen |
| Python | openapi-python-client |
Pydantic-Modelle + httpx |
| Go | oapi-codegen |
net/http oder echo |
| Java | openapi-generator |
Vorsicht: produziert teils sehr viel Code |
| Ruby | openapi-generator (ruby template) |
Produktions-tauglich |
Beispiel: TypeScript
npm install --save-dev openapi-typescript openapi-fetch
npx openapi-typescript https://developers.codemeta-os.de/openapi.json -o api-types.ts
import createClient from 'openapi-fetch';
import type { paths } from './api-types';
const client = createClient<paths>({
baseUrl: 'https://os.codemeta.de',
headers: {
'X-Tenant-Id': process.env.CODEMETA_TENANT_ID!,
},
// Cookie-Handling über fetch-Optionen
credentials: 'include',
});
const { data, error } = await client.GET('/api/v1/tickets', {
params: { query: { limit: 10 } },
});
Authentifizierung in generierten Clients
Egal welcher Generator: Codemeta OS verwendet Cookie-basierte Sessions. Ihr Client muss Cookies persistent halten und mitschicken.
- Browser:
credentials: 'include'. - Node: ein Cookie-Jar (z. B.
tough-cookieoder das--cookie-jarder fetch-Implementierung Ihres Stacks). - CI / Servers: Speichern Sie die Cookie-Datei verschlüsselt und nutzen Sie einen technischen Account; rotieren Sie regelmäßig.