profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsKomponenttyperSetup server sent events (SSE) content refetchInstall Profound CMS as a proxyScripting i skabelonbyggerenProject ScaffoldingMediebibliotek

Headless

HurtigstartSplit Screen JSON Component Builder with LLMComponent Zod Pull

REST API

REST API-oversigtgetConnect 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

Start massiv baggrundsoversættelse af et skemas udgivne dokumenter til målsprog.

Sæt baggrundsoversættelse af alle udgivne dokumenter fra en eller flere komponentskemaer i kø til et sæt målsprog. Resultater indsættes eller opdateres i translations-tabellen, efterhånden som hver oversættelse fuldføres.

Slutpunkt: POST /translation Godkendelse: Bærer-JWT (WorkOS)

Anmodningskrop

{
  "websiteId": "<uuid>",
  "schemaNames": ["post", "hero"],
  "languages": ["fr", "es", "de"]
}
FeltTypePåkrævetNoter
websiteIduuidjaWebsite, der indeholder kildedokumenterne.
schemaNamesstring[]ja*Komponentskemaer, der skal oversættes. Dobbelt forekommende navne fjernes.
schemaNamestringja*Ældre alternativ til at indsende ét enkelt skema.
languagesstring[]jaUnderstøttede målsprogskoder. Dobbelt forekommende koder fjernes.

* Angiv enten schemaNames eller schemaName.

Kun udgivne dokumenter med udgivet indhold, der ikke er null, medtages.

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"
}

Returnerer:

  • 202 Accepted, når oversættelser er sat i kø
  • 200 OK, når alle oversættelser allerede er aktuelle
  • det eksisterende aktive job, når en identisk anmodning allerede kører
FeltBeskrivelse
job_idIdentifikator, der bruges til at hente jobfremdrift.
statusAktuel jobstatus.
documents_processedAntal kvalificerede kildedokumenter, der blev fundet.
translations_scheduledAntal dokument-sprogspar, der er sat i kø.
translations_skippedAntal, der blev sprunget over, fordi deres kildehashes er aktuelle.
translations_completedAntal, der er oversat med succes.
translations_failedAntal, der mislykkedes.
reusedOm svaret henviser til et eksisterende aktivt job.

Mulige jobstatusser er:

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

Spring nuværende oversættelser over

Hvert dokument-sprogspar gemmer en SHA-256-hash af det udgivne indhold i kildedokumentet.

En oversættelse springes over, når den gemte kildehash matcher det aktuelle udgivne indhold. Dette gør det muligt at kalde slutpunktet gentagne gange uden at oversætte uændret indhold igen.

Hvis udgivet indhold ændrer sig, mens et tilsvarende job er aktivt, afviser tjenesten den nye anmodning. Indsend den igen, efter det aktive job er afsluttet.

Behandlingsadfærd

Oversættelsen kører asynkront efter det indledende svar.

  • Arbejdet behandles med afgrænset samtidighed.
  • Forbigående fejl forsøges igen med backoff.
  • Vellykkede resultater gemmes, efterhånden som de fuldføres.
  • Individuelle fejl ved inferens eller persistens registreres på jobbet.
  • Et delvist vellykket job afsluttes med completed_with_errors.

Eksempel

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"]
  }'

Fejl

  • 400 Bad Request — skemaer eller sprog mangler, et sprog er ikke understøttet, eller batchen overskrider den konfigurerede grænse
  • 401 Unauthorized — bearer-token mangler eller er ugyldigt
  • 409 Conflict — matchende arbejde er aktivt, men det udgivne kildeindhold blev ændret
  • 500 Internal Server Error — kildedokumenterne kunne ikke forberedes, eller en databaseoperation mislykkedes

Hent oversættelsesjob

Hent den seneste fremdrift for et oversættelsesjob.

Slutpunkt: GET /translation-jobs/{job_id} Godkendelse: Bærer-JWT (WorkOS)

Svar

Svaret bruger det samme jobobjekt, der returneres af POST /translation, med opdateret status og opdaterede fremdriftstællinger.

{
  "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"
}

Eksempel

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

Fejl

  • 401 Unauthorized — bearer-token mangler eller er ugyldigt
  • 404 Not Found — jobbet findes ikke eller gemmes ikke længere

Oversættelsesjob gemmes i øjeblikket i hukommelsen. Jobstatus går tabt, når oversættelsestjenesten genstartes, og implementeringer med flere instanser kræver sticky routing.

Continue Reading
Previous‹PATCH /dataset/{schema_name}NextPATCH /translations›