TownSpot publishes machine-readable discovery documents for public discovery, authenticated event-write workflows, scrape-to-submit MCP tools, and action receipts.
These well-known URLs help agents and integration clients discover TownSpot services without hardcoded assumptions.
/.well-known/api-catalog - https://www.townspot.co/.well-known/api-catalog/.well-known/openid-configuration - https://www.townspot.co/.well-known/openid-configuration/.well-known/oauth-protected-resource - https://www.townspot.co/.well-known/oauth-protected-resource/.well-known/mcp/server-card.json - https://www.townspot.co/.well-known/mcp/server-card.jsonMost agents need three jobs: find events, submit an event from a source URL, then review or update the created event.
These endpoints expose the main discovery and event-write surface for towns, events, venues, MCP scrape-to-submit flows, and action receipts.
https://api.townspot.co/api/locations/listhttps://api.townspot.co/api/locations/get-by-slughttps://api.townspot.co/api/events/listhttps://api.townspot.co/api/submit/eventhttps://api.townspot.co/api/mcp — MCP tools now include submit_event_from_url plus action receipts and idempotency support for write flows.https://api.townspot.co/api/submit/event/{uuid}https://api.townspot.co/api/events/{uuid}/reviewhttps://api.townspot.co/api/p/venues/{slug}https://api.townspot.co/api/openapi.jsonhttps://api.townspot.co/api/healthzhttps://api.townspot.co/api/venue-admin/{slug}/events/{eventUuid}Find public events for a town.
GET https://api.townspot.co/api/events/list?zone_id=1&date=2026-05-09
{
"results": [
{
"uuid": "event-uuid",
"title": "Community market",
"startTime": "2026-05-09T10:00:00.000Z",
"venueName": "Town Hall",
"zoneId": 1
}
]
}Submit an event from a source URL through MCP.
POST https://api.townspot.co/api/mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": "submit-1",
"method": "tools/call",
"params": {
"name": "submit_event_from_url",
"arguments": {
"url": "https://example.com/events/community-market",
"idempotencyKey": "community-market-2026-05-09"
}
}
}Review an event with an authenticated request.
GET https://api.townspot.co/api/events/{uuid}/review
Authorization: Bearer {supabaseJwt}
{
"event": {
"uuid": "event-uuid",
"title": "Community market",
"status": "ready_for_review"
},
"actions": ["approve", "edit", "request_more_info"]
}Protected TownSpot admin and venue-manager APIs use bearer tokens issued by Supabase Auth.
Use the OpenID Connect and OAuth metadata documents to discover the authorization, token, JWKS, and protected-resource details programmatically. Public submission tools can also use event edit tokens, submitter email links, or venue-manage tokens where that flow already exists. MCP write tools can include idempotency keys and return action receipts so agents can retry cleanly.
https://www.townspot.co/{countryCode}/{townSlug}https://www.townspot.co/event/{eventSlug}-{eventUuid}https://www.townspot.co/venue/{venueSlug}