Creates a new review link to share a video with external reviewers.
Authentication
This endpoint requires authentication via API Key in the Authorization header.
Authorization: <your-api-key>
Important: The API Key must be sent directly, without the "Bearer" prefix.
Action Parameter
This endpoint uses the query parameter action=link to identify the operation.
POST /video-review/{video_id}?action=link
Required Fields
| Field | Type | Description |
|---|---|---|
link_name | string | Link identifier name (max 255 characters) |
expires_at | number | Unix timestamp in milliseconds of the expiration date |
Optional Fields
| Field | Type | Default | Description |
|---|---|---|---|
allow_comment | boolean | true | Allows adding comments |
allow_status_edit | boolean | true | Allows changing comment status |
show_resolved | boolean | true | Displays resolved comments |
Expiration Limit
The expires_at field must be a date at most 30 days in the future. Links with expiration beyond this limit will be rejected.
Response
Returns the created link with the public URL for sharing in the format:
https://review.pandavideo.com.br/{link_id}| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
POST /video-review/{video_id}
{video_id}Creates a new review link to share a video with external reviewers.
AuthorizationRequires a valid API Key in the
Authorizationheader. Send the key directly — noBearerprefix.
?action=linkis requiredWithout
?action=linkthe request returns 404 Route not found.
HTTP Method & Path
POST /video-review/{video_id}?action=link
Base URL: https://api-v2.pandavideo.com.br
Authentication Requirements
| Header | Value |
|---|---|
Authorization | <your-api-key> (no Bearer prefix) |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
video_id | string (uuid) | yes | Video UUID. |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | string | yes | Must be link. |
Request Body
Content-Type: application/json
Body Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
link_name | string (1–255, [a-zA-Z0-9 \-_.]+) | yes | — | Display name for the link. |
expires_at | number (ms since epoch) | yes | — | Expiration timestamp. Must be within 30 days from now. |
allow_comment | boolean | no | true | Reviewers can post comments. |
allow_status_edit | boolean | no | true | Reviewers can change comment status. |
show_resolved | boolean | no | true | Resolved comments are visible to reviewers. |
{
"link_name": "Client Review v1",
"expires_at": 1737849599000,
"allow_comment": true,
"allow_status_edit": true,
"show_resolved": true
}Response
Success Response (200)
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"video_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Client Review v1",
"status": "active",
"expires_at": "2025-01-25T23:59:59.000Z",
"allow_comment": true,
"allow_status_edit": true,
"show_resolved": true,
"created_at": "2025-01-15T10:00:00.000Z",
"updated_at": "2025-01-15T10:00:00.000Z"
}
Note: The public URL is not in this body. Build it ashttps://review.pandavideo.com/{id}or call List review links which appendsurl.
Error Responses
- 400 — invalid body,
link_namepattern violation, orexpires_atmore than 30 days in the future ("expires_at cannot be greater than 30 days"). - 401 — missing/invalid API Key.
- 404 — user or video not found.
- 500 — internal error.
Example Usage
cURL
curl --request POST \
--url 'https://api-v2.pandavideo.com.br/video-review/a1b2c3d4-e5f6-7890-abcd-ef1234567890?action=link' \
--header 'Authorization: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"link_name": "Client Review v1",
"expires_at": 1737849599000,
"allow_comment": true,
"allow_status_edit": true,
"show_resolved": true
}'