KehittäjätJULKINEN SISÄLTÖ-API

Pelkkää REST- ja JSON-tekniikkaa. Suljettu, kunnes avaat sen.

Sivustokohtaiset julkisen API:n asetukset määräävät tarkasti, mitä julkaistaan ja kenelle. Hae julkaistu sisältö, sivukartat ja uudelleenohjaukset kaikkialla samassa ennustettavassa JSON-muodossa — ei opeteltavaa GraphQL-skeemaa, ei synkronoitavaa generoitua asiakaskirjastoa. Jokainen alla oleva pyyntö on aito: CMSHubilla rakennettu blogi, jota kutsutaan pelkällä curlilla.

01 / HAE JULKAISTU SISÄLTÖ

Yksi GET-pyyntö, julkaistut tietueet JSON-muodossa

Kun sivusto on ottanut API:n käyttöön ja sallinut kokoelman, sen julkaistut tietueet ovat yhden GET-pyynnön päässä — ratkaistuna pelkästään Host-otsakkeen perusteella, eikä julkinen data vaadi API-avainta.

  • Vain JULKAISTUT tietueet palautetaan — luonnokset ja julkaisemattomat versiot eivät koskaan vuoda julkisen polun kautta.
  • Oletuksena estetty: tuntematon isäntä, käytöstä poistettu sivusto tai sallimaton kokoelma palauttavat kaikki saman 404-vastauksen.
  • ?locale=xx palauttaa kyseisen kielen julkaistun version, ja oletuksena käytetään työtilan oletuskieltä.
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 / LÖYDETTÄVYYS AUTOMAATTISESTI

Sivukartta, joka vastaa aina sitä, mitä on oikeasti julkaistu

sitemap.xml ja robots.txt generoidaan samasta sivuvalikoimasta, josta sisältö-API lukee — ei erillisiä asetuksia synkronoitavaksi eikä mitään generoitavaa käsin uudelleen.

  • Vastaa jokaisella pyynnöllä ajantasaista sivuvalikoimaa — julkaise sivu, niin se on sivukartassa.
  • hreflang-vaihtoehdot lisätään automaattisesti jokaiselle sivulle, jolla on käännettyjä versioita.
  • /robots.txt ohjaa indeksoijat samaan sitemapiin sivustokohtaisesti.
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 / OLETUKSENA SULJETTU

Sinä päätät, mitä sivusto julkaisee

Julkiset sisältö-API:t pysyvät suljettuina, kunnes erikseen määrität, mitä sivusto julkaisee — mikään oletuksena avoin rajapinta ei jaa huomaamatta julkaisematonta sisältöä tai luonnoksia.

Sivustokohtaiset asetukset

Ota julkinen API käyttöön ja määritä se erikseen jokaiselle työtilan sivustolle.

Vain julkaistu sisältö

Julkinen API jakaa vain sen, mikä on läpäissyt laatuportin ja on oikeasti julkaistu — ei koskaan luonnoksia.

Versioitu ja vakaa

Jokainen reitti on versioidun polun alla, joten tänään rakennettu integraatio toimii edelleen CMSHubin kehittyessä.

KUTSU TODELLISTA RAJAPINTAA

Ota julkinen API käyttöön sivustolle.

Ota julkinen sisältö-API käyttöön jollekin sivustoistasi ja hae generoitu sivu.