UtviklereOFFENTLIG INNHOLDS-API

Ren REST og JSON. Lukket til du åpner det.

Konfigurasjonen av det offentlige API-et per nettsted styrer nøyaktig hva som eksponeres, og for hvem. Hent publisert innhold, sitemaps og omdirigeringer med den samme forutsigbare JSON-strukturen overalt — ikke noe GraphQL-skjema å lære, ingen generert klient å holde i synk. Hver forespørsel nedenfor er ekte: en blogg bygget på CMSHub, kalt med ingenting annet enn curl.

01 / HENT PUBLISERT INNHOLD

Én GET-forespørsel, publiserte poster som JSON

Når et nettsted har aktivert API-et og godkjent en samling, er de publiserte postene bare én enkel GET-forespørsel unna — avgjort utelukkende ut fra Host-headeren, ingen API-nøkkel kreves for offentlige data.

  • Kun PUBLISERTE poster returneres — utkast og upubliserte revisjoner lekker aldri ut via den offentlige veien.
  • Avvis som standard: en ukjent vert, et deaktivert nettsted eller en samling som ikke er godkjent, gir alle samme 404.
  • ?locale=xx returnerer den publiserte varianten for det språket, med arbeidsområdets standardspråk som reserve.
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 / AUTOMATISK OPPDAGELSE

En sitemap som alltid samsvarer med det som faktisk er publisert

sitemap.xml og robots.txt genereres fra den samme sidebeholdningen som innholds-API-et leser fra — ingen separat konfigurasjon å holde i synk og ingenting å generere på nytt for hånd.

  • Gjenspeiler den gjeldende sidebeholdningen ved hver forespørsel — publiser en side, så er den i sitemapen.
  • hreflang-alternativer legges til automatisk for alle sider med oversatte varianter.
  • /robots.txt peker crawlere til det samme sitemapet for hvert nettsted.
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 / LUKKET SOM STANDARD

Du bestemmer hva et nettsted eksponerer

Offentlige innholds-API-er forblir lukket til du eksplisitt konfigurerer hva et nettsted eksponerer — det finnes ikke noe åpent standardendepunkt som i det stille serverer upublisert innhold eller utkast.

Konfigurasjon per nettsted

Aktiver og konfigurer det offentlige API-et separat for hvert nettsted i et arbeidsområde.

Kun publisert innhold

Det offentlige API-et serverer det som har passert kvalitetssperren og faktisk er publisert — aldri utkast.

Versjonert, stabilt

Hver rute ligger under en versjonert sti, så en integrasjon som bygges i dag, fortsetter å fungere etter hvert som CMSHub utvikler seg.

KALL ET EKTE ENDEPUNKT

Aktiver det offentlige API-et for et nettsted.

Slå på det offentlige innholds-API-et for et av nettstedene dine og hent en generert side.