| Learn how to retrieve downloadable video links from completed session results using the Results API. |
This article applies to: UserTesting
On this page:
Overview
- This endpoint returns a pre-signed URL that enables time-limited access to download a session video file.
- The URL is valid for 1 hour and uses AWS S3 pre-signed link mechanisms.
Endpoint
-
Keep verbiage conversational, succinct, and easy to understand.
Headers
| Header | Description | Required | Values |
| Authorization | Bearer access token | Yes |
Bearer <ACCESS_TOKEN>
|
Sample Response
Field Explanations
- sessionId: UUID of the test session.
- videoUrl: Pre-signed AWS S3 URL that enables the video download.
- expiresAt: Timestamp when the URL becomes invalid.
Downloads that start before expiry will complete even if the URL expires mid-download. New requests made after expiry (e.g. resumed range requests) will fail.
Error Handling
| Error code | Description | Notes |
| 401 | Missing or invalid access token. | Generate a new token, it may be expired. |
| 404 | Video not found. | This could mean that the session doesn’t exist, the session does not include a video, or you don’t have permission. |
| 429 | Too many requests. | Maximum of 10 requests per minute. |
Use cases and tips
Use Cases
- Embed session download links into analytics dashboards
- Monitor engagement/downloads per session (via CloudWatch + S3 metrics)
-
Enable AI models to process raw session video files
Tips
- Links are single-use per session and expire in 1 hour
- Resuming a download after expiry will require fetching a new link
- All API actions should be logged for observability (Datadog, etc.)
- Rate limiting can be enforced via gateway or NestJS throttler
Related content
|
Want to learn more? Check out these Knowledge Base articles... |
Interested in growing your skills? Check out our University courses... |
|
Need hands-on training?
|
Can't find your answer?
|