Quick Start

The fastest path through each major capability. All requests require Authorization: Bearer <api-key>.


1. Score an external asset

# Step 1 — register the media (returns a uniqueId)
curl -X POST https://public-api.vidmob.com/v1/media \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "spring-15s-vertical-v1",
    "version": "1.0",
    "url": "https://your-cdn.com/creative.mp4",
    "workspaceId": 45914,
    "channels": ["META", "ADWORDS", "TIKTOK"]
  }'
# → { "status": "OK", "result": { "uniqueId": "8576725c-..." } }

# Step 2 — poll until status is COMPLETE (every 10–15 minutes)
curl -H "Authorization: Bearer $API_KEY" \
  https://public-api.vidmob.com/v1/media/8576725c-.../status
# → { "result": { "status": "COMPLETE", ... } }

# Step 3 — fetch scores
curl -H "Authorization: Bearer $API_KEY" \
  "https://public-api.vidmob.com/v1/scoring/media/8576725c-.../scores?format=detail"

2. Tag an asset (Aperture)

# Submit one or more creatives for AI tagging
curl -X POST https://public-api.vidmob.com/v1/media/aperture \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "creatives": [{ "id": "creative-001", "url": "https://your-cdn.com/creative-001.mp4" }],
    "clientTags": { "brand": "acme" }
  }'
# → { "jobId": "07fd81fc-...", "status": "QUEUED", ... }

# Poll the job until it completes, then download the tag JSON
curl -H "Authorization: Bearer $API_KEY" \
  https://public-api.vidmob.com/v1/media/aperture/07fd81fc-...
# → { "status": "COMPLETED", "downloadUrlJSON": "https://...", ... }

3. Discover scoring guidelines

curl -X POST https://public-api.vidmob.com/v1/scoring/criteria/metadata \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "workspaces": [45914] }'

Note: Submitting media for analysis is asynchronous — you submit, then poll. This applies to POST /v1/media (scoring) and POST /v1/media/aperture (tagging). Plan for media to take time to process; polling intervals of 10–15 minutes are appropriate. All other endpoints (workspace, scorecard, criteria, score, and status reads) are synchronous.