Reichen Sie die Quellen ein, die Sie bereits haben, und erhalten Sie direkt eine Engine zurück. POST /jobs/provisioning nimmt einen Namen für eine neue Engine und bis zu 10 Quellen entgegen – Links zum Crawlen oder Rohtext – und gibt 202 Accepted mit der ID der Engine zurück. Sie müssen nicht warten, bis die KI Ihre Inhalte vollständig verarbeitet hat: Die Engine existiert in dem Moment, in dem der Aufruf zurückkommt, und ihre Konfiguration wird angewendet, während der Job läuft.
POST /jobs/provisioningAuf dieser Seite geht es um den Erstellungsaufruf: seine Parameter, die Struktur des Requests und die Antwort 202. Neu beim asynchronen Provisioning? Starten Sie mit dem Überblick über die Async-Provisioning-API, um das Grundprinzip zu verstehen. Was eine gute Quelle ausmacht, erklären wir auf einer eigenen Seite – Quellentypen – und was die KI daraus extrahiert, finden Sie unter Was die KI extrahiert.
Authentifizierung
Übergeben Sie Ihren API-Schlüssel im Header X-API-Key. Schlüssel gelten organisationsweit und geben Zugriff auf jede Engine in der Organisation. Details finden Sie unter Authentifizierung.
Parameter#
Erforderlich ist nur engine.name. Alles andere beeinflusst, was die Engine lernt – oder, wenn Sie alles weglassen, Sie erhalten einfach eine saubere Engine mit den Standardeinstellungen.
| Parameter | Typ | Beschreibung |
|---|---|---|
engine.name | string | Name für die neue Lokalisierungs-Engine. |
engine.description | string (optional) | Freitextbeschreibung für die Engine. |
locales | string[] (optional) | BCP-47-Zielsprachen, für die konfiguriert werden soll, z. B. ["es", "ja", "de"]. |
sources | array (optional) | Bis zu 10 Quellen zur Analyse. Jede davon ist entweder link (eine URL, die von der Plattform gecrawlt wird) oder content (Rohtext oder Markdown). Siehe Quellentypen. |
callbackUrl | string (optional) | HTTPS-Webhook-URL für das Abschlussergebnis. Nur HTTPS – HTTP-Callback-URLs werden abgelehnt. Siehe Webhook-Zustellung. |
Request#
Eine Quelle ist ein Objekt vom Typ { type, payload }. Verwenden Sie link-Quellen für Seiten mit echtem Kontext – Markenrichtlinien, Styleguides, Produktdokumentation – und content für Terminologie- und Tonregeln, die Sie direkt einfügen können. Das folgende Request-Beispiel kombiniert beides: zwei Seiten zum Crawlen und einen Block mit expliziten Regeln.
const response = await fetch("https://api.lingo.dev/jobs/provisioning", {
method: "POST",
headers: {
"X-API-Key": process.env.LINGO_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
engine: {
name: "Acme Corp Engine",
description: "Production localization engine for acme.com",
},
locales: ["de", "fr", "ja", "es"],
sources: [
{ type: "link", payload: "https://acme.com/brand-guidelines" },
{ type: "link", payload: "https://acme.com/docs/style-guide" },
{
type: "content",
payload:
"Brand name 'Acme' is never translated. Use formal tone in German (Sie-form). Product names: AcmeFlow, AcmeSync, AcmeVault - always keep in English.",
},
],
callbackUrl: "https://your-app.com/webhooks/provisioning",
}),
});
const { jobId, engineId, status } = await response.json();
// 202 back right away.
// status: "in_progress" – the AI is reading your sources.
console.log(engineId); // "eng_X1y2Z3a4B5c6D7e8" – usable right nowAntwort (202 Accepted)#
Der Aufruf kehrt zurück, ohne auf Crawl oder Analyse zu warten – Sie erhalten eine Job-ID zum Nachverfolgen und eine Engine-ID, die ab diesem Moment live ist.
{
"jobId": "pjb_A1b2C3d4E5f6G7h8",
"engineId": "eng_X1y2Z3a4B5c6D7e8",
"status": "in_progress"
}| Feld | Beschreibung |
|---|---|
jobId | Provisioning-Job-ID (mit dem Präfix pjb_). Verfolgen Sie den Job, indem Sie eine WebSocket-Verbindung herstellen, um den Fortschritt live zu sehen, oder empfangen Sie das Ergebnis über Ihren Webhook, sobald er abgeschlossen ist. |
engineId | Die ID der neuen Engine (mit dem Präfix eng_). Sofort nutzbar – die Konfiguration, die die KI extrahiert, wird angewendet, während der Job läuft. |
status | in_progress, wenn Sie Quellen angeben; completed, wenn nicht (siehe unten). |
Der entscheidende Punkt, der diesen asynchronen Aufruf so wertvoll macht: engineId kommt in derselben 202 zurück und verweist sofort auf eine echte Engine. Sie können sie speichern, einen synchronen Localize-Request darüber senden oder sie in Ihre App einbinden, noch bevor die KI auch nur eine einzige Quelle vollständig gelesen hat. Während Markenstimmen, Glossareinträge und Anweisungen extrahiert werden, wendet die Plattform jeden einzelnen Punkt auf dieselbe Engine an – die Engine existiert also schon, bevor ihre Konfiguration vollständig steht. Wenn Sie genau wissen möchten, was der Job erstellt hat, lesen Sie Was die KI extrahiert.
Keine Quellen? Sie bekommen eine Engine – ohne Wartezeit.
Lassen Sie sources weg, gibt es nichts zu crawlen. Die Engine wird dann mit der Standardmodellkonfiguration erstellt und zusammen mit status: "completed" in derselben Antwort zurückgegeben. Das ist der schnelle Weg, wenn Sie eine leere Engine möchten, die Sie selbst konfigurieren – ein Aufruf, eine einsatzbereite engineId, kein Hintergrundjob zum Nachverfolgen.
