profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsTypes of ComponentsSetup server sent events (SSE) content refetchInstall Profound CMS as a proxyCEL Scripting in Template BuilderProject ScaffoldingMedia Library

Headless

Quick startSplit Screen JSON Component Builder with LLMComponent Zod Pull

REST API

REST API OverviewgetConnect your websitegetGET /routesgetGET /routegetGET /blocksgetGET /blocks/with-cel-cachegetGET /blocks/generatedgetGET /componentsgetGET /components/{name}getGET /dataset/{schema_name}getGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postPOST /translationpatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

POST /translation

Starta bulköversÀttning i bakgrunden av publicerade dokument i ett schema till mÄlsprÄk.

Köa bakgrundsöversÀttning av alla publicerade dokument frÄn ett eller flera komponentscheman till en uppsÀttning mÄlsprÄk. Resultaten uppdateras eller infogas i tabellen translations nÀr varje översÀttning slutförs.

Slutpunkt: POST /translation Autentisering: Bearer JWT (WorkOS)

BegÀrandekropp

{
  "websiteId": "<uuid>",
  "schemaNames": ["post", "hero"],
  "languages": ["fr", "es", "de"]
}
FĂ€ltTypObligatoriskAnteckningar
websiteIduuidjaWebbplats som innehÄller kÀlldokumenten.
schemaNamesstring[]ja*Komponentscheman som ska översÀttas. Dubblettnamn tas bort.
schemaNamestringja*Äldre alternativ för att skicka in ett enda schema.
languagesstring[]jaStödda sprÄkkoder för mÄlsprÄk. Dubblettkoder tas bort.

* Ange antingen schemaNames eller schemaName.

Endast publicerade dokument med publicerat innehÄll som inte Àr null beaktas.

Svar

{
  "job_id": "<uuid>",
  "website_id": "<uuid>",
  "schema_name": null,
  "schema_names": ["post", "hero"],
  "languages": ["fr", "es", "de"],
  "status": "queued",
  "documents_processed": 12,
  "translations_scheduled": 30,
  "translations_skipped": 6,
  "translations_completed": 0,
  "translations_failed": 0,
  "reused": false,
  "created_at": "2026-07-15T18:00:00Z",
  "updated_at": "2026-07-15T18:00:00Z"
}

Returnerar:

  • 202 Accepted nĂ€r översĂ€ttningarna Ă€r köade
  • 200 OK nĂ€r varje översĂ€ttning redan Ă€r aktuell
  • det befintliga aktiva jobbet nĂ€r en identisk begĂ€ran redan körs
FĂ€ltBeskrivning
job_idIdentifierare som anvÀnds för att hÀmta jobbets förlopp.
statusAktuell jobbstatus.
documents_processedAntal berÀttigade kÀlldokument som hittades.
translations_scheduledAntal dokument-sprÄk-par som har köats.
translations_skippedAntal som hoppades över eftersom deras kÀllhashar Àr aktuella.
translations_completedAntal som översattes framgÄngsrikt.
translations_failedAntal som misslyckades.
reusedOm svaret avser ett befintligt aktivt jobb.

Möjliga jobbstatusar Àr:

  • preparing
  • queued
  • running
  • completed
  • completed_with_errors
  • failed

Hoppa över aktuella översÀttningar

Varje dokument-sprÄk-par lagrar en SHA-256-hash av kÀlldokumentets publicerade innehÄll.

En översÀttning hoppas över nÀr den lagrade kÀllhashen matchar det aktuella publicerade innehÄllet. Detta gör det möjligt att anropa slutpunkten upprepade gÄnger utan att översÀtta oförÀndrat innehÄll pÄ nytt.

Om det publicerade innehÄllet Àndras medan ett motsvarande jobb Àr aktivt avvisar tjÀnsten den nya begÀran. Skicka in den igen efter att det aktiva jobbet Àr slutfört.

Bearbetningsbeteende

ÖversĂ€ttningen körs asynkront efter det initiala svaret.

  • Arbetet bearbetas med begrĂ€nsad samtidighet.
  • TillfĂ€lliga fel försöks om pĂ„ nytt med backoff.
  • Lyckade resultat sparas allteftersom de slutförs.
  • Enskilda inferens- eller bestĂ€ndighetsfel registreras pĂ„ jobbet.
  • Ett delvis framgĂ„ngsrikt jobb avslutas med completed_with_errors.

Exempel

curl -X POST '{TRANSLATION_API_URL}/translation' \
  -H 'Authorization: Bearer <workos-jwt>' \
  -H 'Content-Type: application/json' \
  -d '{
    "websiteId": "<uuid>",
    "schemaNames": ["post", "hero"],
    "languages": ["fr", "es"]
  }'

Fel

  • 400 Bad Request — scheman eller sprĂ„k saknas, ett sprĂ„k stöds inte eller batchen överskrider den konfigurerade grĂ€nsen
  • 401 Unauthorized — bearer-token saknas eller Ă€r ogiltig
  • 409 Conflict — matchande arbete Ă€r aktivt, men det publicerade kĂ€llinnehĂ„llet har Ă€ndrats
  • 500 Internal Server Error — kĂ€lldokumenten kunde inte förberedas eller en databasoperation misslyckades

HÀmta översÀttningsjobb

HÀmta den senaste statusen för ett översÀttningsjobb.

Slutpunkt: GET /translation-jobs/{job_id} Autentisering: Bearer JWT (WorkOS)

Svar

Svaret anvÀnder samma jobbobjekt som returneras av POST /translation, med uppdaterad status och uppdaterade rÀknare.

{
  "job_id": "<uuid>",
  "website_id": "<uuid>",
  "schema_name": null,
  "schema_names": ["post", "hero"],
  "languages": ["fr", "es"],
  "status": "running",
  "documents_processed": 12,
  "translations_scheduled": 24,
  "translations_skipped": 0,
  "translations_completed": 16,
  "translations_failed": 1,
  "reused": false,
  "created_at": "2026-07-15T18:00:00Z",
  "updated_at": "2026-07-15T18:01:30Z"
}

Exempel

curl '{TRANSLATION_API_URL}/translation-jobs/<job-id>' \
  -H 'Authorization: Bearer <workos-jwt>'

Fel

  • 401 Unauthorized — bearer-token saknas eller Ă€r ogiltig
  • 404 Not Found — jobbet finns inte eller lagras inte lĂ€ngre

ÖversĂ€ttningsjobb behĂ„lls för nĂ€rvarande i minnet. Jobbstatus gĂ„r förlorad nĂ€r översĂ€ttningstjĂ€nsten startas om, och distributioner med flera instanser krĂ€ver klistrig dirigering.

Continue Reading
Previousâ€čPATCH /dataset/{schema_name}NextPATCH /translationsâ€ș