openapi: 3.0.0 info: title: Restream Channels Events API description: The Restream API enables developers to build live streaming integrations and manage multistreaming to 30+ platforms including YouTube, Twitch, Facebook, LinkedIn, and more. Supports REST endpoints for user profile, channels, stream keys, events, and real-time WebSocket updates. version: v2 contact: email: developers@restream.io url: https://developers.restream.io termsOfService: https://restream.io/terms license: name: Proprietary servers: - url: https://api.restream.io/v2 description: Restream REST API v2 tags: - name: Events description: Live event management and scheduling paths: /user/event/upcoming: get: operationId: listUpcomingEvents summary: List Upcoming Events description: Retrieve all upcoming live events for the authenticated user. tags: - Events security: - OAuth2: - events.read responses: '200': description: List of upcoming events content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' '401': $ref: '#/components/responses/Unauthorized' /user/event/in-progress: get: operationId: listInProgressEvents summary: List In-Progress Events description: Retrieve all currently active live events for the authenticated user. tags: - Events security: - OAuth2: - events.read responses: '200': description: List of in-progress events content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' '401': $ref: '#/components/responses/Unauthorized' /user/event/history: get: operationId: listEventHistory summary: List Event History description: Retrieve historical live events for the authenticated user. tags: - Events security: - OAuth2: - events.read parameters: - name: limit in: query required: false description: Maximum number of events to return schema: type: integer - name: offset in: query required: false description: Number of events to skip for pagination schema: type: integer responses: '200': description: List of past events content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' '401': $ref: '#/components/responses/Unauthorized' /user/event/{id}: get: operationId: getEvent summary: Get Event description: Retrieve details for a specific event by its ID. tags: - Events security: - OAuth2: - events.read parameters: - name: id in: path required: true description: Event identifier schema: type: string responses: '200': description: Event details content: application/json: schema: $ref: '#/components/schemas/Event' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /user/event/{id}/streamKey: get: operationId: getEventStreamKey summary: Get Event Stream Key description: Retrieve the stream key for a specific event. tags: - Events security: - OAuth2: - events.read parameters: - name: id in: path required: true description: Event identifier schema: type: string responses: '200': description: Event stream key content: application/json: schema: $ref: '#/components/schemas/StreamKey' '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Unauthorized - invalid or missing access token content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' schemas: StreamKey: type: object properties: streamKey: type: string description: RTMP stream key example: re_xxx_xxx srtUrl: type: string nullable: true description: SRT streaming URL, null if user does not have SRT access Error: type: object properties: statusCode: type: integer description: HTTP status code status: type: integer code: type: integer description: Application error code message: type: string description: Human-readable error message name: type: string description: Error type identifier Event: type: object properties: id: type: string description: Event identifier title: type: string description: Event title description: type: string description: Event description status: type: string enum: - upcoming - in-progress - completed description: Current event status startedAt: type: string format: date-time nullable: true description: Event start time endedAt: type: string format: date-time nullable: true description: Event end time channels: type: array items: type: integer description: Channel IDs for this event securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://api.restream.io/oauth/authorize tokenUrl: https://api.restream.io/oauth/token refreshUrl: https://api.restream.io/oauth/token scopes: profile.read: Read user profile information channels.read: Read channel information channels.write: Update channel settings stream.read: Read stream key information events.read: Read event information events.write: Create and update events chat.read: Read chat messages