> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # list_recordings > List recordings created during a room session. List recordings created during a room session. ### Schema ```yaml openapi: 3.1.0 info: title: API version: 1.0.0 paths: /api/video/room_sessions/{id}/recordings: get: operationId: subpackageRoomSessions_list_room_session_recordings summary: List room session recordings description: >- Lists the recordings created during one Room Session. Returned media links use the requested `media_ttl` lifetime. Use [List room recordings](/docs/apis/rest/video/room-recordings/list-room-recordings) to browse recordings across rooms and sessions. #### Permissions The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Video_. [Learn more about API scopes](/docs/platform/your-signalwire-api-space). tags: - subpackage_roomSessions parameters: - name: id in: path description: Unique ID of the Room Session. required: true schema: $ref: '#/components/schemas/uuid' - name: media_ttl in: query description: >- Generated media links will be valid for this many seconds. Default is 900 (15 minutes). required: false schema: type: integer minimum: 0 - name: page_number in: query description: >- Page number to return. Requires `page_token` for values greater than 0. required: false schema: type: integer minimum: 0 default: 0 - name: page_size in: query description: >- Specify the number of results to return on a single page. The default page size is `50` and the maximum is `1000`. required: false schema: type: integer minimum: 1 maximum: 1000 default: 50 - name: page_token in: query description: >- Token for cursor-based pagination. Required when `page_number` is greater than 0. required: false schema: type: string responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Video.ListRoomSessionRecordingsResponse' '400': description: The request is invalid. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode400' '401': description: Access is unauthorized. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode401' '422': description: The request contains invalid parameters. See errors for details. content: application/json: schema: $ref: '#/components/schemas/Video.VideoStatusCode422' '500': description: An internal server error occurred. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode500' tags: - name: subpackage_roomSessions servers: - url: https://%7BYour_Space_Name%7D.signalwire.com description: SignalWire API components: schemas: uuid: type: string format: uuid description: Universal Unique Identifier. title: uuid Video.PaginationLinks: type: object properties: self: type: string description: Link to the current page. first: type: string description: Link to the first page. next: type: string description: Link to the next page. prev: type: string description: Link to the previous page. required: - self - first description: Pagination links for list responses. title: Video.PaginationLinks Video.RoomRecordingStatus: type: string enum: - recording - paused - processing - completed description: Status of a room recording. title: Video.RoomRecordingStatus Video.RoomRecording: type: object properties: id: $ref: '#/components/schemas/uuid' description: Unique ID of the Room Recording. room_session_id: $ref: '#/components/schemas/uuid' description: Unique ID of the Room Session the Room Recording was made in. status: oneOf: - $ref: '#/components/schemas/Video.RoomRecordingStatus' - type: 'null' description: Status of the recording. started_at: type: - string - 'null' format: date-time description: Timestamp of when the Room Recording started. finished_at: type: - string - 'null' format: date-time description: Timestamp of when the Room Recording stopped. duration: type: - integer - 'null' description: The length of the Room Recording in seconds. size_in_bytes: type: - integer - 'null' description: The number of bytes of the Room Recording file. format: type: - string - 'null' description: The MIME type of the Room Recording file. cost_in_dollars: type: number format: double description: The cost of the recording in dollars. uri: type: - string - 'null' description: >- A temporary URL for accessing the recording file. By default, valid for 15 minutes. created_at: type: string format: date-time description: Timestamp when the recording was created. updated_at: type: string format: date-time description: Timestamp when the recording was last updated. required: - id - room_session_id - status - started_at - finished_at - duration - size_in_bytes - format - cost_in_dollars - uri - created_at - updated_at description: Room recording response object. title: Video.RoomRecording Video.ListRoomSessionRecordingsResponse: type: object properties: links: $ref: '#/components/schemas/Video.PaginationLinks' description: Pagination links. data: type: array items: $ref: '#/components/schemas/Video.RoomRecording' description: List of room recordings. required: - links - data description: List room session recordings response. title: Video.ListRoomSessionRecordingsResponse TypesStatusCodesStatusCode400Error: type: string enum: - Bad Request title: TypesStatusCodesStatusCode400Error Types.StatusCodes.StatusCode400: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode400Error' required: - error description: The request is invalid. title: Types.StatusCodes.StatusCode400 TypesStatusCodesStatusCode401Error: type: string enum: - Unauthorized title: TypesStatusCodesStatusCode401Error Types.StatusCodes.StatusCode401: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode401Error' required: - error description: Access is unauthorized. title: Types.StatusCodes.StatusCode401 Types.StatusCodes.RestApiErrorItem: type: object properties: type: type: string description: The category of error. code: type: string description: A specific error code. message: type: string description: A description of what caused the error. attribute: type: - string - 'null' description: The request parameter that caused the error, if applicable. url: type: string description: A link to documentation about this error. required: - type - code - message - url description: Details about a specific error. title: Types.StatusCodes.RestApiErrorItem Video.VideoStatusCode422: type: object properties: errors: type: array items: $ref: '#/components/schemas/Types.StatusCodes.RestApiErrorItem' description: List of validation errors. required: - errors description: The request contains invalid parameters. See errors for details. title: Video.VideoStatusCode422 TypesStatusCodesStatusCode500Error: type: string enum: - Internal Server Error title: TypesStatusCodesStatusCode500Error Types.StatusCodes.StatusCode500: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode500Error' required: - error description: An internal server error occurred. title: Types.StatusCodes.StatusCode500 ``` ## **Response Example** ### Response (200) ```json { "links": { "self": "https://example.signalwire.com/api/video/rooms?page=2", "first": "https://example.signalwire.com/api/video/rooms?page=1", "next": "https://example.signalwire.com/api/video/rooms?page=3", "prev": "https://example.signalwire.com/api/video/rooms?page=1" }, "data": [ { "id": "c22d24f6-5a47-4597-9a23-c7d01e696b92", "room_session_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890", "status": "completed", "started_at": "2022-01-01T10:00:00Z", "finished_at": "2022-01-01T11:00:00Z", "duration": 120, "size_in_bytes": 20971520, "format": "video/mp4", "cost_in_dollars": 0.05, "uri": "https://files.signalwire.com/temporary/link/to/the/recording/file", "created_at": "2022-01-01T10:00:00Z", "updated_at": "2022-01-01T11:00:00Z" } ] } ``` ## **Example** ```python {9} from signalwire.rest import RestClient client = RestClient( project="your-project-id", token="your-api-token", host="your-space.signalwire.com", ) recordings = client.video.room_sessions.list_recordings("session-id") ``` > List recordings created during a room session.