Docs API Reference Recordings Recordings Recordings capture user flows from the Aiqaramba Recorder browser extension. Each recording contains rrweb DOM events (clicks, typing, scrolling, navigation) and optionally tab video with audio. Recordings can be converted into tests for automated replay.
List recordings
Parameters Parameter Type In Required Description limitinteger query No Maximum recordings to return. cursoruuid query No Continue below this recording ID. project_iduuid query No Restrict recordings to one project. statusstring query No Restrict recordings to one processing status. source_typestring query No Restrict recordings to one source.
Example Request curl "http://app.aiqaramba.com/api/v1/recordings" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Tenant recordings. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 500The server could not complete the request.
Response Fields (200) Field Type Description recordingsobject[] recordings[].iduuid recordings[].tenant_iduuid recordings[].project_iduuid recordings[].user_iduuid recordings[].namestring recordings[].source_typestring Values: extension, upload, posthog. recordings[].statusstring Values: uploading, processing, ready, failed. recordings[].started_atdate-time recordings[].ended_atdate-time recordings[].duration_msinteger recordings[].event_countinteger recordings[].has_videoboolean recordings[].has_audioboolean recordings[].video_mime_typestring recordings[].video_bytesinteger recordings[].navigationsobject[] recordings[].uploaded_video_iduuid recordings[].test_iduuid recordings[].draft_test_plan_iduuid recordings[].error_messagestring recordings[].external_refstring recordings[].agent_iduuid recordings[].created_atdate-time recordings[].updated_atdate-time next_cursoruuid
Create a recording
Stores rrweb events and returns a direct video upload URL when video is expected.
Request Body (application/json) Field Type Required Description namestring No Recording name started_atdate-time Yes When the recording started (ISO 8601) ended_atdate-time No When the recording ended duration_msinteger No Recording duration in milliseconds event_countinteger No Number of rrweb events captured eventsjson Yes Array of rrweb event objects navigationsjson No Array of navigation events with url and timestamp_ms project_iduuid No Associate recording with a project has_videoboolean No Whether video will be uploaded separately has_audioboolean No Whether the video includes audio audio_narrationstring No Base64 data URL containing microphone narration.
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/recordings" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"started_at": "2026-01-01T12:00:00Z",
"events": {}
}' Status Codes Code Description 201Recording created. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 500The server could not complete the request. 507The tenant does not have enough storage quota.
Response Fields (201) Field Type Description iduuid statusstring Values: uploading, processing. video_upload_urluri
Get a recording
Parameters Parameter Type In Required Description iduuid path Yes Recording ID.
Example Request curl "http://app.aiqaramba.com/api/v1/recordings/<id>" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Recording found. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description iduuid tenant_iduuid project_iduuid user_iduuid namestring source_typestring Values: extension, upload, posthog. statusstring Values: uploading, processing, ready, failed. started_atdate-time ended_atdate-time duration_msinteger event_countinteger has_videoboolean has_audioboolean video_mime_typestring video_bytesinteger navigationsobject[] uploaded_video_iduuid test_iduuid draft_test_plan_iduuid error_messagestring external_refstring agent_iduuid created_atdate-time updated_atdate-time
Delete a recording
Parameters Parameter Type In Required Description iduuid path Yes Recording ID.
Example Request curl -X DELETE "http://app.aiqaramba.com/api/v1/recordings/<id>" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 204Recording deleted. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Stream recording events
Streams the decompressed rrweb JSON event array.
Parameters Parameter Type In Required Description iduuid path Yes Recording ID.
Example Request curl "http://app.aiqaramba.com/api/v1/recordings/<id>/events" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Decompressed rrweb event JSON. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Reproduce a recording
Runs an existing generated test or queues test generation from stored events.
Parameters Parameter Type In Required Description iduuid path Yes Recording ID.
Request Body (application/json) Field Type Required Description finding_iduuid No Finding to ground the generated test in; the test prompt then ends with a Verify: line asserting the behavior the finding reports as broken
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/recordings/<id>/reproduce" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"finding_id": "<uuid>"
}' Status Codes Code Description 202Reproduction queued. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 402The tenant has exhausted its run allowance. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (202) Field Type Description queuedboolean recording_iduuid test_iduuid agent_iduuid
Confirm recording video upload
Parameters Parameter Type In Required Description iduuid path Yes Recording ID. skip_videoboolean query No Process events without a video object.
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/recordings/<id>/video-complete" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Processing started. 401Authentication is missing or invalid. 404The requested resource does not exist. 409The request conflicts with the current resource state. 500The server could not complete the request.
Response Fields (200) Field Type Description statusstring Values: processing.