Aan de slag

Gebruik de PolyLingo HTTP API om platte tekst, Markdown, JSON of HTML te vertalen terwijl de structuur intact blijft. Deze gids behandelt de productie-eindpunt, authenticatie en je eerste succesvolle verzoek.

Basis-URL

Alle voorbeelden gebruiken de productie-API:

URL
Productiehttps://api.usepolylingo.com/v1

Elk pad hieronder is relatief aan die basis (bijvoorbeeld, POST /translate betekent POST https://api.usepolylingo.com/v1/translate).

Als je je eigen PolyLingo API-instantie draait, vervang dan de host door je implementatie-URL en behoud de /v1 prefix tenzij je anders hebt geconfigureerd.

Authenticatie

Beschermde eindpunten verwachten je API-sleutel in de Authorization header:

Authorization: Bearer <your_api_key>

Een sleutel verkrijgen: Maak er een aan in de PolyLingo-app onder API keys. Je ziet de volledige sleutel slechts één keer—sla deze ergens veilig op (omgevingsvariabele of geheimbeheerder). Sleutels kunnen worden ingetrokken vanaf hetzelfde scherm.

Beveiliging: Behandel de sleutel als een wachtwoord. Het verdient de voorkeur om de API vanaf je server aan te roepen, niet vanuit openbare browsercode, zodat de sleutel nooit aan gebruikers wordt blootgesteld.

Als de header ontbreekt, onjuist is, of de sleutel ongeldig of ingetrokken is, reageert de API met 401 en error: "invalid_api_key".

Eindpunten en sleutels

Geen sleutel vereistGET /health — snelle uptime-check
GET /languages — ondersteunde taalcodes
Sleutel vereistPOST /translate — vertaal inhoud
POST /translate/batch — vertaal meerdere items
POST /jobs — zet een langlopende vertaling in de wachtrij (geeft direct 202 terug)
GET /jobs/:id — poll de status van een taak; bevat queue_position tijdens het wachten
GET /usage — gebruik voor het geauthenticeerde account

Eerste verzoek (cURL)

export POLYLINGO_API_KEY="pl_your_key_here"

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "# Hello\n\nThis is **bold**.",
    "format": "markdown",
    "targets": ["es", "fr"],
    "model": "standard"
  }'

Een succesvolle respons bevat een translations object (één invoer per doeltaal die je hebt aangevraagd) en een usage object met token tellingen.

Eerste verzoek (Node.js)

Node.js 18+ bevat fetch:

const API_KEY = process.env.POLYLINGO_API_KEY
const res = await fetch('https://api.usepolylingo.com/v1/translate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${API_KEY}`,
  },
  body: JSON.stringify({
    content: '# Hello\n\n**Bold** text.',
    format: 'markdown',
    targets: ['de', 'ja'],
    model: 'standard',
  }),
})
const data = await res.json()
if (!res.ok) throw new Error(`${data.error}: ${data.message}`)
console.log(data.translations)

Controleer of de API bereikbaar is

Geen sleutel nodig voor health:

curl -sS "https://api.usepolylingo.com/v1/health"

Je zou een kleine JSON-payload moeten zien die aangeeft dat de service actief is. Gebruik GET /languages voor de lijst met codes die je als targets kunt doorgeven.

CORS en browser-apps

De API kan beperken welke browser origins het direct kunnen aanroepen, zodat sleutels niet worden gebruikt vanaf onbetrouwbare sites. Server-side oproepen (Node, Python, edge-functies, je backend) worden niet beperkt door CORS.

Voor een single-page app is het gebruikelijke patroon: je frontend communiceert met je backend, en je backend roept PolyLingo aan met de API-sleutel.

Volgende stappen

  • API-referentie — aanvraag- en responsvormen, formaten, fouten en limieten.
Aan de slag | PolyLingo | PolyLingo