PATCH /v1/videos/by-external-id/
Update one or more editable metadata fields (notes, budget, campaign, video_status, status, ecpm, tags) on an already-tracked video without re-issuing a POST /v1/videos/track call.
This page covers PATCH only. To look up a video's current stats and metadata, see GET /v1/videos/by-external-id/{external_video_id}.
The external_video_id is path-encoded; URLs that contain / or other reserved characters must be percent-encoded.
📋 Overview
🔐 Headers
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
📝 Path Parameter
📝 Request Body
At least one editable field must be present in the body — empty bodies return 400 VALIDATION_ERROR.
Field-name note — PATCH returns the list of fields that were updated as
data.updated_fields(the equivalent ofdata.results[].applied_fieldsin the batch endpoint).
Example Request — update notes + campaign + ecpm
curl -X PATCH https://api.influtics.com/v1/videos/by-external-id/7489443966908189959 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"notes": "Post-mortem: best-performing creator of the campaign",
"campaign": "summer_launch_2026",
"ecpm": 3.25
}'
Example Request — clear ecpm with null
curl -X PATCH https://api.influtics.com/v1/videos/by-external-id/7489443966908189959 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "ecpm": null }'
Example Request — replace tag set
curl -X PATCH https://api.influtics.com/v1/videos/by-external-id/7489443966908189959 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "tags": ["fashion", "lifestyle", "summer_launch_2026"] }'
✅ Response (200 OK)
{
"success": true,
"data": {
"video_id": "77168374-dd2c-496a-b1ae-3d4944f48ccb",
"external_video_id": "7489443966908189959",
"updated_fields": ["notes", "campaign_tag", "ecpm"]
},
"meta": {
"request_id": "ab12cd34-...",
"processing_time_ms": 87
}
}
When tags is supplied, an additional tags_result object is included:
{
"success": true,
"data": {
"video_id": "77168374-dd2c-496a-b1ae-3d4944f48ccb",
"external_video_id": "7489443966908189959",
"updated_fields": ["tags"],
"tags_result": {
"attached": ["fashion", "lifestyle", "summer_launch_2026"],
"created": ["summer_launch_2026"],
"total": 3
}
},
"meta": {
"request_id": "ab12cd34-...",
"processing_time_ms": 91
}
}
📊 PATCH Response Fields
⚠️ Error Responses
All errors share the standard envelope { success: false, error: { code, message, request_id, ... } }. The table below lists every documented code for PATCH.
🎯 Use Cases
- Single-video updates — retroactively tag a video that you forgot to label during ingest, or move it to
endedwhen the campaign wraps. - Bulk workflow automation — script nightly jobs that flip videos to
to do → running → endedbased on your CRM's stage. - Pricing adjustments — apply updated
ecpmorbudgetfigures after a rate renegotiation. - Tag hygiene — replace the tag set on a video (e.g. drop old campaign tags, add new ones) in a single call.
Related: POST /v1/videos/track → · GET /v1/videos/by-external-id/ → · Get Video Stats → · View Usage →