{
  "openapi": "3.1.0",
  "info": {"title":"Media Session Gateway API","version":"4.2.0","description":"Programmable media session API for streaming platforms.","contact":{"email":"api@mediagateway.example"},"license":{"name":"Commercial"}},
  "servers": [{"url":"https://api.mediagateway.example/v4","description":"EU-West (Frankfurt)"},{"url":"https://us.api.mediagateway.example/v4","description":"US-East (Virginia)"}],
  "paths": {
    "/media/session/poll": {"get":{"summary":"Long-poll session state","operationId":"pollSession","parameters":[{"name":"offset","in":"query","schema":{"type":"integer"}},{"name":"Cookie","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Playback-Token","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary stream"},"401":{"description":"Invalid session"},"429":{"description":"Rate limited"}}}},
    "/media/session/start": {"post":{"summary":"Start session","operationId":"startSession","responses":{"201":{"description":"Session created"}}}},
    "/media/session/{id}": {"delete":{"summary":"End session","operationId":"endSession","responses":{"204":{"description":"Session terminated"}}}}
  }
}
