{"openapi":"3.1.0","info":{"title":"InTheENDGAME API","version":"1.0.0","description":"Programmatic access to the InTheENDGAME community platform. Authenticate with an API key minted in /admin/api-keys (Authorization: Bearer ite_...)."},"servers":[{"url":"/api/v1"}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"ite_<hex>"}}},"security":[{"apiKey":[]}],"paths":{"/me":{"get":{"summary":"Identify the calling key + its org","responses":{"200":{"description":"Auth context"}}}},"/members":{"get":{"summary":"List org members","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Members list"}}}},"/spaces":{"get":{"summary":"List spaces","responses":{"200":{"description":"Spaces"}}},"post":{"summary":"Create a space (scope: write)","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"slug":{"type":"string"},"type":{"type":"string","enum":["chat","posts","events","members","files"]},"visibility":{"type":"string","enum":["open","private","secret"]},"description":{"type":"string"},"group_id":{"type":"string"},"external_id":{"type":"string"}}}}}},"responses":{"201":{"description":"Created"}}}},"/spaces/{id}/posts":{"get":{"summary":"List posts in a space"},"post":{"summary":"Create a post (scope: write)","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["body_md"],"properties":{"body_md":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string","enum":["message","post"]}}}}}},"responses":{"201":{"description":"Created"}}}},"/events":{"get":{"summary":"List events"},"post":{"summary":"Create an event (scope: write)","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title","starts_at","ends_at"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"timezone":{"type":"string"},"meet_url":{"type":"string"},"space_slug":{"type":"string"},"cohort_label":{"type":"string"},"week_number":{"type":"integer"},"day_number":{"type":"integer"},"external_id":{"type":"string"}}}}}},"responses":{"201":{"description":"Created"}}}},"/events/{id}":{"get":{"summary":"Read an event + attachments"},"patch":{"summary":"Update an event (scope: write)"}}}}