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.



What’s Next

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://...", ... }

Quick Start

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: Scoring is asynchronous everywhere — you submit, then poll. Plan for media to take time to process; polling intervals of 10–15 minutes are appropriate.

Did this page help you?