News index
GET
/v1/events/{slug}/newsThe event's published news articles, newest first. Each entry is a summary — fetch a single article for its body.
Drafts and articles scheduled for later never appear.
Request
curl -sS \
-H 'X-Grofomo-Key: pk_live_YOUR_PUBLISHABLE_KEY' \
'https://api.grofomo.com/v1/events/summer-fest/news'Path parameters
slugstringrequired- The event's URL slug. Globally unique, and fixed once the event is created. Example: `summer-fest`.
Response
200 OK
{
"apiVersion": 1,
"data": {
"eventId": "6f1c8e2a-4b3d-4c9e-9f21-8a7d5e0b1c34",
"articles": [
{
"slug": "second-wave-announced",
"title": "Second wave announced",
"excerpt": "Twelve more names join the bill, including a Sunday close on the Main Stage.",
"heroImageUrl": "https://cdn.grofomo.com/summer-fest/news/second-wave.jpg",
"tags": [
"lineup"
],
"author": "Riot Promotions",
"publishedAt": "2026-05-28T09:00:00.000Z",
"updatedAt": "2026-05-28T09:00:00.000Z"
},
{
"slug": "travel-and-parking",
"title": "Travel and parking, explained",
"excerpt": "Shuttle times from Temple Meads, and how the pre-book car park works.",
"heroImageUrl": null,
"tags": [
"travel",
"practical"
],
"author": null,
"publishedAt": "2026-05-12T08:30:00.000Z",
"updatedAt": "2026-05-19T14:10:00.000Z"
}
],
"lastUpdatedAt": "2026-05-28T09:00:00.000Z",
"generatedAt": "2026-06-01T09:15:00.000Z"
}
}eventIduuidarticlesobject[]- Published articles, newest first. Drafts and scheduled posts never appear.
articles[].slugstring- Pass this to the single-article endpoint for the body.
articles[].titlestringarticles[].excerptstring- Short standfirst, for a listing card.
articles[].heroImageUrlstring | nullarticles[].tagsstring[]- Free-text tags, e.g. "lineup". May be empty.
articles[].authorstring | nullarticles[].publishedAtstring- Publication time. The index is sorted newest first on this.
articles[].updatedAtstringlastUpdatedAtstring | null- Most recent change across these articles. Null when there are none.
generatedAtstring- When this response was built. Useful for a cache debug line.
Generated from EventNewsIndexResponse
Errors
unauthorizedHTTP 401- No key was sent and the organiser requires one — or the key is invalid, revoked, belongs to another organisation, or is scoped to a different event.
origin_not_allowedHTTP 403- Your site's domain is not on the organiser's allowed list. Browser calls only: a server sends no Origin header and is unaffected.
not_foundHTTP 404- No event with that slug is published on this surface. Check the slug, and check you sent `?surface=web`.
Notes
- Rate limited to roughly 60 requests per minute per caller. Guidance, not a contract — see caching and rate limits.
- Always served from the web surface, whatever `?surface=` says.