SviluppatoriAPI PUBBLICA DEI CONTENUTI

REST e JSON semplici. Chiusi finché non li apri.

La configurazione dell’API pubblica per sito controlla esattamente cosa viene esposto e a chi. Recupera contenuti pubblicati, sitemap e redirect con la stessa struttura JSON prevedibile ovunque — nessuno schema GraphQL da imparare, nessun client generato da tenere sincronizzato. Ogni richiesta qui sotto è reale: un blog costruito su CMSHub, chiamato con nient’altro che curl.

01 / RECUPERA I CONTENUTI PUBBLICATI

Una richiesta GET, i record pubblicati in JSON

Quando un sito attiva l’API e autorizza una collezione, i suoi record pubblicati sono a portata di un semplice GET — risolti interamente dall’header Host, senza chiave API per i dati pubblici.

  • Vengono restituiti solo i record PUBBLICATI — bozze e revisioni non pubblicate non trapelano mai dal percorso pubblico.
  • Negato per impostazione predefinita: un host sconosciuto, un sito disattivato o una collezione non autorizzata restituiscono tutti lo stesso 404.
  • ?locale=xx restituisce la variante pubblicata in quella lingua, con ripiego sulla lingua predefinita dello spazio di lavoro.
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 / SCOPERTA AUTOMATICA

Una sitemap sempre allineata a ciò che è davvero pubblicato

sitemap.xml e robots.txt vengono generati dallo stesso inventario di pagine da cui legge l’API dei contenuti — nessuna configurazione separata da sincronizzare, niente da rigenerare a mano.

  • Riflette l’inventario delle pagine online a ogni richiesta — pubblichi una pagina, ed è nella sitemap.
  • Le alternative hreflang vengono aggiunte automaticamente per ogni pagina con varianti tradotte.
  • /robots.txt indirizza i crawler verso questa stessa sitemap, per ogni sito.
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 / CHIUSO PER IMPOSTAZIONE PREDEFINITA

Sei tu a decidere cosa espone un sito

Le API pubbliche dei contenuti restano chiuse finché non configuri esplicitamente cosa espone un sito — nessun endpoint aperto per impostazione predefinita che serva di nascosto contenuti non pubblicati o in bozza.

Configurazione per sito

Attiva e configura l’API pubblica in modo indipendente per ogni sito di uno spazio di lavoro.

Solo contenuti pubblicati

L’API pubblica serve solo ciò che ha superato il controllo qualità ed è effettivamente pubblicato — mai bozze.

Versionata e stabile

Ogni route si trova sotto un percorso versionato, così un’integrazione costruita oggi continua a funzionare mentre CMSHub evolve.

CHIAMA UN ENDPOINT REALE

Attiva l’API pubblica per un sito.

Attiva l’API pubblica dei contenuti per uno dei tuoi siti e recupera una pagina generata.