DeveloperAPI KONTEN PUBLIK

REST dan JSON biasa. Tertutup sampai Anda membukanya.

Konfigurasi API publik per situs mengatur dengan tepat apa yang dibuka dan untuk siapa. Ambil konten yang sudah terbit, sitemap, dan pengalihan dengan struktur JSON yang sama dan terprediksi di mana pun — tanpa skema GraphQL yang harus dipelajari, tanpa klien hasil generate yang harus terus disinkronkan. Setiap permintaan di bawah ini nyata: sebuah blog yang dibangun di CMSHub, dipanggil hanya dengan curl.

01 / AMBIL KONTEN YANG SUDAH TERBIT

Satu permintaan GET, entri terbit dalam JSON

Begitu sebuah situs ikut serta dan memasukkan koleksi ke daftar izin, entri yang sudah terbit cukup diambil dengan GET biasa — sepenuhnya ditentukan dari header Host, tanpa kunci API untuk data publik.

  • Hanya entri yang SUDAH TERBIT yang dikembalikan — draf dan revisi yang belum terbit tidak pernah bocor lewat jalur publik.
  • Menolak secara default: host yang tidak dikenal, situs yang dinonaktifkan, atau koleksi yang tidak ada di daftar izin semuanya menghasilkan 404 yang sama.
  • ?locale=xx mengembalikan varian terbit untuk lokal bahasa tersebut, dengan fallback ke default ruang kerja.
GEThttps://the-signal.blog/api/posts
curl https://the-signal.blog/api/posts
RESPONSE
{
  "siteId": "the-signal-4f2a",
  "siteName": "The Signal",
  "baseUrl": "https://the-signal.blog",
  "collection": {
    "id": "3b0d6f2a-9c41-4e8a-8f2e-1d4c9a7b6e11",
    "slug": "posts",
    "name": "Posts"
  },
  "data": [
    {
      "id": "a91f2e3c-7d5b-4a10-9c3e-6f8a2b1d0e44",
      "locale": "en",
      "translationOfId": null,
      "data": {
        "title": "Shipping a public content API without a GraphQL schema",
        "slug": "shipping-a-public-content-api",
        "excerpt": "Plain REST beats a bespoke query language when a frontend just needs JSON.",
        "category": "Engineering",
        "author": "Dana Osei",
        "published_at": "2026-09-10"
      }
    },
    {
      "id": "d2c5b8a1-4e3f-4c9d-8b7a-2f1e6d5c4b33",
      "locale": "en",
      "translationOfId": null,
      "data": {
        "title": "What the quality gate actually checks before you publish",
        "slug": "the-quality-gate-explained",
        "excerpt": "Every generated page passes the same checks, whether it's post 1 or post 10,000.",
        "category": "Product",
        "author": "Dana Osei",
        "published_at": "2026-09-04"
      }
    }
  ],
  "meta": {
    "locale": "en",
    "pagination": { "start": 0, "limit": 20, "total": 2, "nextCursor": null }
  }
}
02 / PENEMUAN OTOMATIS

Sitemap yang selalu sesuai dengan yang benar-benar terbit

sitemap.xml dan robots.txt dihasilkan dari inventaris halaman yang sama dengan yang dibaca API konten — tidak ada konfigurasi terpisah yang perlu disinkronkan, dan tidak ada yang perlu dibuat ulang secara manual.

  • Mencerminkan inventaris halaman terkini di setiap permintaan — terbitkan halaman, langsung masuk sitemap.
  • Alternatif hreflang ditambahkan otomatis untuk setiap halaman yang punya varian terjemahan.
  • /robots.txt mengarahkan crawler ke sitemap yang sama ini, per situs.
GEThttps://the-signal.blog/sitemap.xml
curl https://the-signal.blog/sitemap.xml
RESPONSE
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url><loc>https://the-signal.blog/posts/shipping-a-public-content-api</loc><lastmod>2026-09-10T14:22:00.000Z</lastmod></url>
  <url><loc>https://the-signal.blog/posts/the-quality-gate-explained</loc><lastmod>2026-09-04T09:15:00.000Z</lastmod></url>
</urlset>
03 / TERTUTUP SECARA DEFAULT

Anda yang menentukan apa yang dibuka sebuah situs

API konten publik tetap tertutup sampai Anda secara eksplisit mengatur apa yang dibuka oleh sebuah situs — tidak ada endpoint yang terbuka secara default dan diam-diam menyajikan konten draf atau yang belum terbit.

Konfigurasi per situs

Aktifkan dan konfigurasikan API publik secara terpisah untuk setiap situs di ruang kerja.

Hanya konten yang sudah terbit

API publik hanya menyajikan konten yang telah melewati gerbang kualitas dan benar-benar terbit — tidak pernah draf.

Berversi dan stabil

Setiap rute berada di bawah path berversi, sehingga integrasi yang dibangun hari ini tetap berjalan seiring CMSHub berkembang.

PANGGIL ENDPOINT NYATA

Aktifkan API publik untuk sebuah situs.

Nyalakan API konten publik untuk salah satu situs Anda dan ambil halaman yang dihasilkan.