openapi: 3.1.0 info: title: StreamYard Broadcasts Recordings API description: The StreamYard API provides programmatic access to StreamYard's professional live streaming and recording studio. Manage broadcasts, destinations (YouTube, Facebook, LinkedIn, Twitch, etc.), recordings, and guest invitations. StreamYard enables simultaneous multi-platform streaming with a browser-based studio. OAuth 2.0 is used for authentication. version: 1.0.0 contact: name: StreamYard Developer Support url: https://developers.streamyard.com termsOfService: https://streamyard.com/resources/terms servers: - url: https://api.streamyard.com description: StreamYard API security: - streamyardBearerAuth: [] tags: - name: Recordings description: Access recorded broadcasts. Once a broadcast ends, recordings become available for download. paths: /recordings: get: operationId: listRecordings summary: List Recordings description: Returns a list of recordings from completed broadcasts in the authenticated account. tags: - Recordings parameters: - name: page in: query description: Page number for pagination schema: type: integer default: 1 - name: perPage in: query description: Number of recordings per page (max 100) schema: type: integer default: 10 maximum: 100 responses: '200': description: A list of recordings content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Recording' total: type: integer page: type: integer perPage: type: integer '401': $ref: '#/components/responses/Unauthorized' /recordings/{recordingId}: get: operationId: getRecording summary: Get Recording description: Returns details and download URL for a specific recording. Download URLs are time-limited. tags: - Recordings parameters: - name: recordingId in: path required: true description: The identifier of the recording schema: type: string responses: '200': description: The recording details content: application/json: schema: $ref: '#/components/schemas/Recording' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteRecording summary: Delete Recording description: Permanently deletes a recording from the StreamYard account. tags: - Recordings parameters: - name: recordingId in: path required: true description: The identifier of the recording schema: type: string responses: '204': description: Recording deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Recording: type: object properties: id: type: string description: The unique identifier of the recording broadcastId: type: string description: The ID of the broadcast this recording came from title: type: string description: The title of the recording (from the broadcast title) duration: type: integer description: The duration of the recording in seconds fileSize: type: integer description: The file size of the recording in bytes downloadUrl: type: string format: uri nullable: true description: Time-limited URL for downloading the recording thumbnailUrl: type: string format: uri nullable: true description: Thumbnail image URL for the recording status: type: string enum: - processing - available - deleted description: The current status of the recording createdAt: type: string format: date-time description: When the recording was created Error: type: object properties: error: type: string description: The error code message: type: string description: A human-readable error message responses: Unauthorized: description: Unauthorized — missing or invalid OAuth token content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Not found — the requested resource does not exist content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: streamyardBearerAuth: type: oauth2 description: OAuth 2.0 Bearer token. Authenticate via StreamYard's OAuth flow at https://streamyard.com/oauth/authorize. flows: authorizationCode: authorizationUrl: https://streamyard.com/oauth/authorize tokenUrl: https://streamyard.com/oauth/token scopes: broadcasts: Create and manage broadcasts destinations: View and manage streaming destinations recordings: Access and download recordings externalDocs: description: StreamYard API Documentation url: https://developers.streamyard.com/docs