Skip to main content
POST
/
api
/
video-evaluations
/
callback
{
  "received": true,
  "evaluation_id": "<string>",
  "status_updated": true,
  "processed_at": {}
}

Overview

Receives webhook callbacks when video evaluations are completed. This endpoint is typically called by the video processing service to notify your application when video content has been fully analyzed and evaluation results are available.

Request Body

evaluation_id
string
required
ID of the completed evaluation
content_id
string
required
ID of the video content that was evaluated
status
string
required
Evaluation completion status
  • completed - Evaluation completed successfully
  • failed - Evaluation failed
  • partial - Partial results available
results
object
Evaluation results (if status is completed)
error_info
object
Error information (if status is failed)
callback_metadata
object
Callback metadata

Response

received
boolean
required
Whether the callback was successfully received
evaluation_id
string
required
ID of the evaluation that was updated
status_updated
boolean
required
Whether the evaluation status was updated
processed_at
datetime
required
Timestamp when callback was processed

Examples

curl -X POST https://api.judge.example.com/api/video-evaluations/callback \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Signature: sha256=abc123..." \
  -d '{
    "evaluation_id": "eval_video_123",
    "content_id": "cnt_video_456",
    "status": "completed",
    "results": {
      "overall_score": 87.5,
      "criteria_scores": [
        {
          "criterion_id": "crit_video_quality",
          "name": "Video Quality",
          "score": 92,
          "feedback": "High-quality video with excellent clarity"
        },
        {
          "criterion_id": "crit_audio_quality",
          "name": "Audio Quality",
          "score": 83,
          "feedback": "Good audio quality with minor background noise"
        }
      ],
      "processing_metadata": {
        "duration": 120.5,
        "resolution": {
          "width": 1920,
          "height": 1080
        },
        "processing_time": 45.2
      }
    },
    "callback_metadata": {
      "timestamp": "2024-01-15T15:30:00Z",
      "source_service": "video-processor-v2",
      "retry_count": 0
    }
  }'
curl -X POST https://api.judge.example.com/api/video-evaluations/callback \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Signature: sha256=def456..." \
  -d '{
    "evaluation_id": "eval_video_789",
    "content_id": "cnt_video_012",
    "status": "failed",
    "error_info": {
      "error_code": "VIDEO_PROCESSING_FAILED",
      "error_message": "Unable to process video due to unsupported codec",
      "retry_possible": false
    },
    "callback_metadata": {
      "timestamp": "2024-01-15T15:35:00Z",
      "source_service": "video-processor-v2",
      "retry_count": 2
    }
  }'