UtvecklarePUBLIKT INNEHÅLLS-API

Ren REST och JSON. Stängt tills du öppnar det.

Konfigurationen av det publika API:et per webbplats styr exakt vad som exponeras och för vem. Hämta publicerat innehåll, sitemaps och omdirigeringar med samma förutsägbara JSON-struktur överallt — inget GraphQL-schema att lära sig, ingen genererad klient att hålla i synk. Varje anrop nedan är på riktigt: en blogg byggd på CMSHub, anropad med enbart curl.

01 / HÄMTA PUBLICERAT INNEHÅLL

Ett GET-anrop, publicerade poster som JSON

När en webbplats har aktiverat API:et och godkänt en samling är dess publicerade poster bara ett enkelt GET-anrop bort — helt avgjort utifrån Host-headern, ingen API-nyckel krävs för publik data.

  • Endast PUBLICERADE poster returneras någonsin — utkast och opublicerade revisioner läcker aldrig ut via den publika vägen.
  • Nekar som standard: en okänd värd, en inaktiverad webbplats eller en samling som inte är godkänd ger alla samma 404.
  • ?locale=xx returnerar den publicerade varianten för det språket, med arbetsytans standardspråk som reserv.
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 UPPTÄCKT

En sitemap som alltid matchar det som faktiskt är publicerat

sitemap.xml och robots.txt genereras från samma sidbestånd som innehålls-API:et läser från — ingen separat konfiguration att hålla i synk och inget att generera om för hand.

  • Speglar det aktuella sidbeståndet vid varje anrop — publicera en sida så finns den i sitemapen.
  • hreflang-alternativ läggs till automatiskt för varje sida som har översatta varianter.
  • /robots.txt pekar sökrobotar till samma sitemap, per webbplats.
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 / STÄNGT SOM STANDARD

Du bestämmer vad en webbplats exponerar

Publika innehålls-API:er förblir stängda tills du uttryckligen konfigurerar vad en webbplats exponerar — det finns ingen öppen standardendpoint som i tysthet serverar opublicerat innehåll eller utkast.

Konfiguration per webbplats

Aktivera och konfigurera det publika API:et separat för varje webbplats i en arbetsyta.

Endast publicerat innehåll

Det publika API:et serverar det som har passerat kvalitetsspärren och faktiskt är publicerat — aldrig utkast.

Versionerat, stabilt

Varje route ligger under en versionerad sökväg, så en integration som byggs i dag fortsätter att fungera när CMSHub utvecklas.

ANROPA EN RIKTIG ENDPOINT

Aktivera det publika API:et för en webbplats.

Slå på det publika innehålls-API:et för en av dina webbplatser och hämta en genererad sida.