Creates a new comment on a video as the authenticated user.
Authentication
This endpoint requires authentication via API Key in the Authorization header.
Authorization: <your-api-key>
Action Parameter
This endpoint uses the query parameter action=comment to identify the operation.
POST /video-review/{video_id}?action=comment
Fields
| Field | Required | Type | Description |
|---|---|---|---|
text | Yes | string | Comment text (max 500 characters) |
time | No* | integer | Video timestamp in seconds |
user_name | No | string | User name (uses authenticated name if not provided) |
reply_to | No | string | Parent comment UUID for replies |
*The time field is required for main comments, but optional for replies (inherits from parent).
Limits
- Maximum of 30 main comments per video
- Maximum of 30 replies per comment
- Text with maximum 500 characters
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
POST /video-review/{video_id}/comments
{video_id}/commentsCreates a comment on the video from the owner side, attributed to the authenticated user.
AuthorizationRequires a valid API Key in the
Authorizationheader. Send the key directly — noBearerprefix.
?action=commentis requiredWithout
?action=commentthe request returns 404 Route not found.The dashboard uses the canonical form
POST /video-review/{video_id}?action=comment(without the trailing/comments). Both work for POST — only?action=commentmatters.
HTTP Method & Path
POST /video-review/{video_id}/comments?action=comment
Base URL: https://api-v2.pandavideo.com.br
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
video_id | string (uuid) | yes | Video UUID. |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | string | yes | Must be comment. |
Request Body
Content-Type: application/json
Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
text | string (1–500, no < > { } [ ]) | yes | Comment text. |
time | integer (≥ 0) | conditional | Video timestamp in seconds. Required for top‑level, optional for replies. |
user_name | string (1–100, [a-zA-Z0-9 \-_.@]+) | no | Override display name. Defaults to the authenticated user's name. |
reply_to | string (uuid) | no | Parent comment UUID. When present, creates a nested reply (and time is inherited from the parent). |
{ "text": "Adjust the lighting in this section.", "time": 330 }{ "text": "Already adjusted, check the new version.", "reply_to": "b2c3d4e5-f6a7-8901-bcde-f23456789012" }Response
Success Response (200)
Returns the created comment — same shape as the list response item (with user_id and optional avatar).
Error Responses
- 400 — invalid body,
timemissing on a top‑level comment,timegreater than video duration, or comment/reply limit reached (30 each). - 401 — missing/invalid API Key.
- 404 — user, video or
reply_tonot 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=comment' \
--header 'Authorization: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{ "text": "Adjust the lighting in this section.", "time": 330 }'