{"ok":true,"cities":[{"apiHref":"https://gotplans.ai/api/v1/cities/austin/events","blurb":"Music, comedy, food pop-ups, startup chaos, and enough weirdness to keep the feed interesting.","href":"https://gotplans.ai/austin","launchOrder":1,"launchStage":"live","name":"Austin","slug":"austin","stateCode":"TX","timezone":"America/Chicago"},{"apiHref":"https://gotplans.ai/api/v1/cities/dfw/events","blurb":"A split-market launch city where neighborhoods matter as much as tags.","href":"https://gotplans.ai/dfw","launchOrder":2,"launchStage":"planned","name":"DFW","slug":"dfw","stateCode":"TX","timezone":"America/Chicago"},{"apiHref":"https://gotplans.ai/api/v1/cities/houston/events","blurb":"Massive sprawl, strong food and culture scenes, and a curation problem begging for tighter filters.","href":"https://gotplans.ai/houston","launchOrder":3,"launchStage":"planned","name":"Houston","slug":"houston","stateCode":"TX","timezone":"America/Chicago"},{"apiHref":"https://gotplans.ai/api/v1/cities/san-antonio/events","blurb":"Tourist gravity on the surface, local culture depth underneath, and plenty of room for better discovery.","href":"https://gotplans.ai/san-antonio","launchOrder":4,"launchStage":"planned","name":"San Antonio","slug":"san-antonio","stateCode":"TX","timezone":"America/Chicago"},{"apiHref":"https://gotplans.ai/api/v1/cities/corpus-christi/events","blurb":"The beach city in the launch cohort, where surf, festivals, and local gatherings need a cleaner signal layer.","href":"https://gotplans.ai/corpus-christi","launchOrder":5,"launchStage":"planned","name":"Corpus Christi","slug":"corpus-christi","stateCode":"TX","timezone":"America/Chicago"}],"contractVersion":"2026-03-11.2","defaultCity":"austin","description":"Austin-first local events with a public API, weekly email signup, and city-aware preferences built for humans and agents.","discovery":{"agentsPage":"https://gotplans.ai/for-agents","apiIndex":"https://gotplans.ai/api/v1","apiDocs":"https://gotplans.ai/docs/api","llms":"https://gotplans.ai/llms.txt","openapi":"https://gotplans.ai/openapi.json","robots":"https://gotplans.ai/robots.txt","sitemap":"https://gotplans.ai/sitemap.xml"},"documentation":{"agents":"https://gotplans.ai/docs/agents","apiReference":"https://gotplans.ai/docs/api","events":"https://gotplans.ai/docs/events","home":"https://gotplans.ai/docs","openapi":"https://gotplans.ai/openapi.json","quickstart":"https://gotplans.ai/docs/quickstart","rateLimits":"https://gotplans.ai/docs/rate-limits","submissions":"https://gotplans.ai/docs/submissions","subscribers":"https://gotplans.ai/docs/subscribers"},"endpoints":[{"description":"Machine-readable index of the public API, discovery URLs, and product recommendations.","href":"https://gotplans.ai/api/v1","method":"GET","path":"/api/v1"},{"description":"List configured markets and their site/API URLs.","href":"https://gotplans.ai/api/v1/cities","method":"GET","path":"/api/v1/cities"},{"description":"List a city's events with filters for date windows, interest, format, free-only, and query text, including occurrence time, venue, and source attribution.","href":"https://gotplans.ai/api/v1/cities/%7BcitySlug%7D/events","method":"GET","path":"/api/v1/cities/{citySlug}/events"},{"description":"Get one event with all currently known occurrences, source links, and summaries.","href":"https://gotplans.ai/api/v1/events/%7BeventId%7D","method":"GET","path":"/api/v1/events/{eventId}"},{"description":"Create or update one newsletter subscriber with city and interest preferences.","href":"https://gotplans.ai/api/v1/subscribers","method":"POST","path":"/api/v1/subscribers"},{"description":"Submit an event for moderation.","href":"https://gotplans.ai/api/v1/submissions","method":"POST","path":"/api/v1/submissions"},{"description":"Send product feedback or request new Austin coverage categories.","href":"https://gotplans.ai/api/feedback","method":"POST","path":"/api/feedback"},{"description":"Machine-readable OpenAPI 3.1 document for the public contract.","href":"https://gotplans.ai/openapi.json","method":"GET","path":"/openapi.json"}],"interests":[{"description":"Recurring run clubs, social miles, and Austin groups worth repeating.","name":"Run Clubs","slug":"run-clubs"},{"description":"Concerts, DJ nights, and the shows worth leaving home for.","name":"Music","slug":"music"},{"description":"Stand-up, improv, sketch, and recurring comedy rooms.","name":"Comedy","slug":"comedy"},{"description":"Pop-ups, tastings, chef nights, and neighborhood food moves.","name":"Food and Drink","slug":"food-drink"},{"description":"Museums, galleries, theater, film, and other cultural picks.","name":"Arts and Culture","slug":"arts-culture"},{"description":"Markets, runs, rides, and events that are better outside.","name":"Outdoors","slug":"outdoors"},{"description":"Yoga, recovery, movement, and wellness gatherings.","name":"Wellness","slug":"wellness"},{"description":"Founder events, meetups, launches, and startup-community signals.","name":"Tech and Startups","slug":"tech-startups"},{"description":"Kid-friendly plans that work for actual parents too.","name":"Family","slug":"family"},{"description":"The low-cost plans still worth showing up for.","name":"Free and Cheap","slug":"free-cheap"}],"liveCities":["austin"],"name":"GotPlans public API","rateLimits":{"docs":"https://gotplans.ai/docs/rate-limits","headers":["X-RateLimit-Limit","X-RateLimit-Remaining","X-RateLimit-Reset","Retry-After","X-RateLimit-Bucket"],"policy":"public-read-public-write-guarded","read":{"bucket":"public-read","identifier":"ip","limits":["120 requests / minute / IP","3,000 requests / day / IP"],"routes":["/api/v1","/api/v1/cities","/api/v1/cities/{citySlug}/events","/api/v1/events/{eventId}","/openapi.json"]},"writes":[{"bucket":"subscriber-write","identifier":"ip + normalized email hash","limits":["10 requests / 10 minutes / IP","5 requests / hour / email","20 requests / day / email"],"route":"/api/v1/subscribers"},{"bucket":"submission-write","identifier":"ip","limits":["5 requests / hour / IP","20 requests / day / IP"],"route":"/api/v1/submissions"},{"bucket":"feedback-write","identifier":"ip","limits":["10 requests / hour / IP","30 requests / day / IP"],"route":"/api/feedback"}]},"recommendedSubscriberFlow":{"pattern":"collect_email_and_core_preferences_together_then_confirm_with_manage_link","recommendation":"Collect email, city, and optional interests in the first step so the first record is immediately useful. After submit, send a confirmation email that doubles as a signed manage-preferences link.","steps":["Capture email plus city and optional interests in one request.","Send a confirmation email with a signed, single-use manage-preferences URL.","Land the user on a page where they can confirm and edit preferences without creating a password.","Reuse later signed links for preference changes, unsubscribe, and resubscribe."],"why":["Asking for preferences after the email creates drop-off and loses useful targeting data.","Waiting until after confirmation to collect everything adds friction before you know enough to personalize.","A signed manage link gives you account-like control without forcing password creation."]},"signupSources":["website","api","cli"],"site":"https://gotplans.ai","filters":{"formats":["festival"],"interests":[{"description":"Recurring run clubs, social miles, and Austin groups worth repeating.","name":"Run Clubs","slug":"run-clubs"},{"description":"Concerts, DJ nights, and the shows worth leaving home for.","name":"Music","slug":"music"},{"description":"Stand-up, improv, sketch, and recurring comedy rooms.","name":"Comedy","slug":"comedy"},{"description":"Pop-ups, tastings, chef nights, and neighborhood food moves.","name":"Food and Drink","slug":"food-drink"},{"description":"Museums, galleries, theater, film, and other cultural picks.","name":"Arts and Culture","slug":"arts-culture"},{"description":"Markets, runs, rides, and events that are better outside.","name":"Outdoors","slug":"outdoors"},{"description":"Yoga, recovery, movement, and wellness gatherings.","name":"Wellness","slug":"wellness"},{"description":"Founder events, meetups, launches, and startup-community signals.","name":"Tech and Startups","slug":"tech-startups"},{"description":"Kid-friendly plans that work for actual parents too.","name":"Family","slug":"family"},{"description":"The low-cost plans still worth showing up for.","name":"Free and Cheap","slug":"free-cheap"}],"query":["starts_after","starts_before","interest","format","free_only","q","page","limit"]}}