Envie as fontes que você já tem e receba uma engine de volta. POST /jobs/provisioning aceita um nome para uma nova engine e até 10 fontes — links para crawl ou texto bruto — e retorna 202 Accepted com o ID da engine. Você não precisa esperar a IA terminar de ler seu conteúdo: a engine passa a existir no momento em que a chamada retorna, e a configuração vai sendo aplicada conforme o job é executado.
POST /jobs/provisioningEsta página cobre a chamada de criação: seus parâmetros, o formato da requisição e a resposta 202. Está começando com provisionamento assíncrono? Comece pela Visão geral da API de provisionamento assíncrono para entender o modelo mental. O que faz de uma fonte uma boa fonte tem sua própria página — Tipos de fonte — e o que a IA extrai delas está em O que a IA extrai.
Autenticação
Passe sua chave de API no cabeçalho X-API-Key. As chaves têm escopo de organização e dão acesso a toda engine da organização. Consulte Autenticação para mais detalhes.
Parâmetros#
Apenas engine.name é obrigatório. Todo o restante define o que a engine aprende — ou, se você omitir tudo, deixa você com uma engine limpa nas configurações padrão.
| Parâmetro | Tipo | Descrição |
|---|---|---|
engine.name | string | Nome da nova engine de localização. |
engine.description | string (opcional) | Descrição em texto livre da engine. |
locales | string[] (opcional) | idiomas de destino em BCP-47 para configurar, por exemplo, ["es", "ja", "de"]. |
sources | array (opcional) | Até 10 fontes para analisar. Cada uma pode ser um link (uma URL que a plataforma rastreia) ou content (texto bruto ou markdown). Consulte Tipos de fonte. |
callbackUrl | string (opcional) | URL de webhook HTTPS para o resultado final. Apenas HTTPS — URLs de callback HTTP são rejeitadas. Consulte Entrega de webhook. |
Requisição#
Uma fonte é um objeto { type, payload }. Aponte fontes link para páginas com contexto real — diretrizes da marca, guias de estilo, documentação do produto — e use content para terminologia e regras de tom que você pode colar diretamente. A requisição abaixo mistura os dois: duas páginas para rastrear e um bloco de regras explícitas.
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 nowResposta (202 Accepted)#
A chamada retorna sem esperar o crawl ou a análise — ela devolve um ID de job para acompanhamento e um ID de engine que já fica ativo a partir desse momento.
{
"jobId": "pjb_A1b2C3d4E5f6G7h8",
"engineId": "eng_X1y2Z3a4B5c6D7e8",
"status": "in_progress"
}| Campo | Descrição |
|---|---|
jobId | ID do job de provisionamento (prefixo pjb_). Acompanhe o job conectando um WebSocket para ver o progresso em tempo real ou receba o resultado no seu webhook quando ele terminar. |
engineId | ID da nova engine (prefixo eng_). Pode ser usado imediatamente — a configuração que a IA extrai é aplicada a ela conforme o job é executado. |
status | in_progress quando você fornece fontes; completed quando não fornece (veja abaixo). |
O detalhe que faz esta chamada assíncrona valer a pena, em vez de simplesmente esperar, é que engineId volta no mesmo 202 e já aponta para uma engine real. Você pode armazená-lo, enviar uma requisição de Localize síncrono por meio dela ou conectá-la ao seu app antes mesmo de a IA terminar de ler uma única fonte. À medida que voz da marca, itens de glossário e instruções são extraídos, a plataforma aplica cada um deles a essa mesma engine — a engine existe antes da configuração. Para saber exatamente o que o job criou, leia O que a IA extrai.
Sem fontes? Você recebe uma engine, não uma espera.
Se você omitir sources, não haverá nada para rastrear, então a engine será criada com a configuração padrão do modelo e retornada com status: "completed" na mesma resposta. Esse é o caminho mais rápido quando você quer uma engine vazia para configurar por conta própria — uma chamada, um engineId pronto, sem job em segundo plano para acompanhar.
