URL dasar, skema otentikasi, resolusi tenant, dan model kesalahan untuk REST API CMS.
Profound CMS REST API disajikan oleh layanan Rust translation_manager. API ini menyediakan endpoint baca/stream headless yang digunakan oleh renderer, serta endpoint tulis untuk konten, terjemahan, dan impor CSV.
Semua contoh menggunakan {CMS_API_URL} sebagai URL dasar host API CMS Anda (misalnya https://cms.dev.tryprofound.com). Tidak ada prefiks path global — rute dipasang pada root, misalnya {CMS_API_URL}/routes.
API ini menggunakan dua skema terpisah bergantung pada endpoint.
Kirimkan kunci sebagai header x-api-key atau parameter kueri api_key:
curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
-H 'x-api-key: <your-api-key>'
Kunci divalidasi terhadap WorkOS dan di-cache sebentar di memori. Untuk endpoint baca, kunci API hanya diperlukan ketika server menetapkan require_schema_api_key = true; jika tidak, pembacaan anonim diperbolehkan. Upsert varian (PATCH /dataset/{schema_name}) selalu memerlukan kunci valid yang memiliki izin content_write.
Menggunakan otentikasi kunci API: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.
Endpoint manajemen memerlukan JWT pengguna WorkOS:
curl '{CMS_API_URL}/usage?orgId=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>'
Menggunakan otentikasi Bearer: /translation, /translations, /usage, /csv.
Endpoint kunci API menentukan situs web target dalam urutan berikut:
?websiteId=<uuid>Host, dicocokkan dengan domain situs web yang dikonfigurasiCMS_WEBSITE_ID (single-tenant / pengembangan lokal)Jika tidak ada yang menghasilkan UUID yang valid, endpoint akan mengembalikan 400.
| Status | Makna |
|---|---|
400 | Permintaan buruk — websiteId hilang/tidak valid, UUID tidak valid, atau kegagalan validasi |
401 | Kredensial hilang atau tidak valid |
403 | Terautentikasi tetapi tidak memiliki izin yang diperlukan |
404 | Sumber daya tidak ditemukan |
500 | Kesalahan internal / basis data |
GET {CMS_API_URL}/health mengembalikan { "status": "ok" } dan tidak memerlukan otentikasi — gunakan untuk liveness probe.