{"openapi":"3.1.0","info":{"version":"1.0.0","title":"Pipelines API - Video Events","description":"# Video Semantic Events\n\nThis document describes semantic events for video tracking in the Customer.io Pipelines API.\n\nSemantic events are special payloads for our `track` endpoint based on the `event` name. When you send a video event with a specific name (like `Video Playback Started`), Customer.io and downstream integrations recognize it and handle it appropriately.\n\nWith semantic events, you can set up your events and they'll work with any of our destinations that support video events.\n\n# Server addresses: US and EU\nCustomer.io hosts services in the United States (US) and European Union. Select the appropriate server address for your region.\n\n| Region | Server Address |\n| :-- | :-- |\n| US | https://cdp.customer.io |\n| EU | https://cdp-eu.customer.io |\n\nIf you're in our EU region, you'll need to specify the EU URL when you initialize our server-side libraries.\n\n# Authentication\n\nThe Data Pipelines API uses basic authentication with your API key as the username and a blank password.\n"},"servers":[{"url":"https://cdp.customer.io/v1","description":"The base URL for all Data Pipelines calls in our United States (US) region."},{"url":"https://cdp-eu.customer.io/v1","description":"The base URL for all Data Pipelines calls in our European Union (EU) region."}],"paths":{"/track":{"post":{"operationId":"track_video_event","summary":"Track Video Event","description":"Send video events to track playback, content, and ad interactions.\n\nVideo semantic events follow a standard structure for video analytics across different platforms.\n","security":[{"Basic-Auth":[]}],"parameters":[{"name":"X-Strict-Mode","in":"header","description":"When set to `1`, enables strict validation that returns proper HTTP error codes (400/401) for validation failures. When not set or set to any other value, the API operates in permissive mode, logging errors but returning HTTP 200.\n","required":false,"schema":{"type":"string","enum":["1"]},"example":"1"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/video_playback_started_event"},{"$ref":"#/components/schemas/video_playback_paused_event"},{"$ref":"#/components/schemas/video_playback_interrupted_event"},{"$ref":"#/components/schemas/video_playback_buffer_started_event"},{"$ref":"#/components/schemas/video_playback_buffer_completed_event"},{"$ref":"#/components/schemas/video_playback_seek_started_event"},{"$ref":"#/components/schemas/video_playback_seek_completed_event"},{"$ref":"#/components/schemas/video_playback_resumed_event"},{"$ref":"#/components/schemas/video_playback_completed_event"},{"$ref":"#/components/schemas/video_playback_exited_event"},{"$ref":"#/components/schemas/video_content_started_event"},{"$ref":"#/components/schemas/video_content_playing_event"},{"$ref":"#/components/schemas/video_content_completed_event"},{"$ref":"#/components/schemas/video_ad_started_event"},{"$ref":"#/components/schemas/video_ad_playing_event"},{"$ref":"#/components/schemas/video_ad_completed_event"},{"$ref":"#/components/schemas/video_quality_updated_event"}]}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"}}}}},"components":{"schemas":{"video_playback_started_event":{"title":"Video Playback Started Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Started"],"description":"The event name. Must be `Video Playback Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"allOf":[{"$ref":"#/components/schemas/playback_properties"},{"$ref":"#/components/schemas/content_assets_properties"}]},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Started"],"description":"The event name. Must be `Video Playback Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"allOf":[{"$ref":"#/components/schemas/playback_properties"},{"$ref":"#/components/schemas/content_assets_properties"}]},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_paused_event":{"title":"Video Playback Paused Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Paused"],"description":"The event name. Must be `Video Playback Paused` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Paused"],"description":"The event name. Must be `Video Playback Paused` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_interrupted_event":{"title":"Video Playback Interrupted Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Interrupted"],"description":"The event name. Must be `Video Playback Interrupted` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"allOf":[{"$ref":"#/components/schemas/playback_properties"},{"type":"object","properties":{"method":{"type":"string","description":"For Video Playback Interrupted events only, you can send this property denoting how the playback was interrupted (such as browser redirect, device lock, or call).","example":"browser redirect"}}}]},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Interrupted"],"description":"The event name. Must be `Video Playback Interrupted` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"allOf":[{"$ref":"#/components/schemas/playback_properties"},{"type":"object","properties":{"method":{"type":"string","description":"For Video Playback Interrupted events only, you can send this property denoting how the playback was interrupted (such as browser redirect, device lock, or call).","example":"browser redirect"}}}]},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_buffer_started_event":{"title":"Video Playback Buffer Started Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Buffer Started"],"description":"The event name. Must be `Video Playback Buffer Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Buffer Started"],"description":"The event name. Must be `Video Playback Buffer Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_buffer_completed_event":{"title":"Video Playback Buffer Completed Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Buffer Completed"],"description":"The event name. Must be `Video Playback Buffer Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Buffer Completed"],"description":"The event name. Must be `Video Playback Buffer Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_seek_started_event":{"title":"Video Playback Seek Started Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Seek Started"],"description":"The event name. Must be `Video Playback Seek Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Seek Started"],"description":"The event name. Must be `Video Playback Seek Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_seek_completed_event":{"title":"Video Playback Seek Completed Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Seek Completed"],"description":"The event name. Must be `Video Playback Seek Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Seek Completed"],"description":"The event name. Must be `Video Playback Seek Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_resumed_event":{"title":"Video Playback Resumed Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Resumed"],"description":"The event name. Must be `Video Playback Resumed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Resumed"],"description":"The event name. Must be `Video Playback Resumed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_completed_event":{"title":"Video Playback Completed Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Completed"],"description":"The event name. Must be `Video Playback Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Completed"],"description":"The event name. Must be `Video Playback Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_playback_exited_event":{"title":"Video Playback Exited Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Exited"],"description":"The event name. Must be `Video Playback Exited` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Playback Exited"],"description":"The event name. Must be `Video Playback Exited` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/playback_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_content_started_event":{"title":"Video Content Started Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Content Started"],"description":"The event name. Must be `Video Content Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/content_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Content Started"],"description":"The event name. Must be `Video Content Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/content_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_content_playing_event":{"title":"Video Content Playing Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Content Playing"],"description":"The event name. Must be `Video Content Playing` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/content_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Content Playing"],"description":"The event name. Must be `Video Content Playing` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/content_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_content_completed_event":{"title":"Video Content Completed Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Content Completed"],"description":"The event name. Must be `Video Content Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/content_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Content Completed"],"description":"The event name. Must be `Video Content Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/content_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_ad_started_event":{"title":"Video Ad Started Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Ad Started"],"description":"The event name. Must be `Video Ad Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/ad_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Ad Started"],"description":"The event name. Must be `Video Ad Started` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/ad_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_ad_playing_event":{"title":"Video Ad Playing Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Ad Playing"],"description":"The event name. Must be `Video Ad Playing` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/ad_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Ad Playing"],"description":"The event name. Must be `Video Ad Playing` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/ad_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_ad_completed_event":{"title":"Video Ad Completed Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Ad Completed"],"description":"The event name. Must be `Video Ad Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/ad_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Ad Completed"],"description":"The event name. Must be `Video Ad Completed` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/ad_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"video_quality_updated_event":{"title":"Video Quality Updated Event","oneOf":[{"title":"Known User","type":"object","required":["userId","event","type","properties"],"properties":{"userId":{"type":"string","description":"The unique identifier for the user.","example":"user_12345"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Quality Updated"],"description":"The event name. Must be `Video Quality Updated` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/quality_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}},{"title":"Anonymous User","type":"object","required":["anonymousId","event","type","properties"],"properties":{"anonymousId":{"type":"string","description":"The anonymous identifier for the user.","example":"anon_abc123xyz"},"type":{"type":"string","enum":["track"],"description":"The event type. Must be `track` for event calls."},"event":{"type":"string","enum":["Video Quality Updated"],"description":"The event name. Must be `Video Quality Updated` for this semantic event."},"timestamp":{"type":"string","format":"date-time","description":"The ISO-8601 timestamp when the event occurred. If not provided, Customer.io records the time when the request is received.","example":"2024-01-15T10:30:00.000Z"},"properties":{"$ref":"#/components/schemas/quality_properties"},"context":{"$ref":"#/components/schemas/context"},"integrations":{"$ref":"#/components/schemas/integrations"}}}]},"playback_properties":{"x-scalar-ignore":true,"title":"Playback Properties","type":"object","description":"Properties describing video playback state and metadata.","properties":{"session_id":{"type":"string","description":"The unique ID of the overall session used to tie all events generated from a specific playback. This value should be the same across all playback, content, and ad events if they are from the same playback session.","example":"session_abc123"},"ad_asset_id":{"oneOf":[{"type":"string","description":"The Ad Asset ID of the current ad playing at the time of the event (for most playback events)."},{"type":"array","description":"Array of unique ad asset IDs for Video Playback Started events only.","items":{"type":"string"}}],"example":"ad_asset_123"},"ad_pod_id":{"oneOf":[{"type":"string","description":"The Ad Pod ID of the current ad playing at the time of the event (for most playback events)."},{"type":"array","description":"Array of unique ad pod IDs for Video Playback Started events only.","items":{"type":"string"}}],"example":"ad_pod_123"},"ad_type":{"type":"string","enum":["pre-roll","mid-roll","post-roll"],"description":"The type of ad playing at the time of the event. Values can include pre-roll, mid-roll, and post-roll.","example":"pre-roll"},"position":{"type":"integer","description":"The current index position in **seconds** of the playhead, including the duration of any ads seen (if available). If the playback is a livestream, check the documentation for relevant destinations for details on how to correctly pass the playhead position.","example":120},"total_length":{"type":"integer","description":"The total duration of the playback in seconds. This should include the duration of all your content and ad included in this playback session. For livestream playback, send `null`.","example":3600},"bitrate":{"type":"integer","description":"The current kbps.","example":5000},"framerate":{"type":"integer","description":"The average frames per second (fps).","example":30},"video_player":{"type":"string","description":"The name of the video player the client uses, like `youtube` or `vimeo`.","example":"youtube"},"sound":{"type":"integer","minimum":0,"maximum":100,"description":"The current volume of the video player as a value between 1 and 100.","example":75},"full_screen":{"type":"boolean","description":"If `true`, playback is in fullscreen mode.","example":false},"ad_enabled":{"type":"boolean","description":"Set to `true` if a viewer can see your ads. You'd set false if a viewer has ad block or other blockers enabled.","example":true},"quality":{"type":"string","description":"The video quality of playback, like `480p` or `highres`.","example":"1080p"},"livestream":{"type":"boolean","description":"Set to `true` if the playback is a livestream.","example":false}},"additionalProperties":{"description":"Additional custom properties for the event."}},"content_assets_properties":{"x-scalar-ignore":true,"title":"Content Assets Properties","type":"object","description":"Properties describing content assets for Video Playback Started events.","properties":{"content_asset_ids":{"type":"array","description":"The ID of the videos a user started. The array indicates a potential playlist of videos/content IDs a person is starting.","items":{"type":"string"},"example":["video_123","video_456"]},"content_pod_ids":{"type":"array","description":"The IDs of the content \"pods\" in a playback session. Imagine a video that contains content and an ad; that means the video contains two pods—one for the content and one for the ad. The array indicates a potential playlist of content pod IDs a person is starting.","items":{"type":"string"},"example":["pod_123","pod_456"]}},"additionalProperties":{"description":"Additional custom properties for the event."}},"content_properties":{"x-scalar-ignore":true,"title":"Content Properties","type":"object","description":"Properties describing video content.","properties":{"session_id":{"type":"string","description":"The unique ID of the overall session used to tie all events generated from a specific playback. This value should be the same across all playback, content, and ad events if they are from the same playback session.","example":"session_abc123"},"asset_id":{"type":"string","description":"The ID of the video a user interacted with.","example":"video_123"},"pod_id":{"type":"string","description":"The ID of the content \"pod\" in a playback session. Imagine a video that contains content and an ad; that means the video contains two pods—one for the content and one for the ad. This is the specific piece of content that the user interacted with.","example":"pod_123"},"program":{"type":"string","description":"The name of the program or show the content belongs to (if applicable).","example":"The Daily Show"},"title":{"type":"string","description":"The title of the video content/pod.","example":"Episode 5: The Adventure Begins"},"description":{"type":"string","description":"The description of the video content/pod.","example":"In this episode, our heroes embark on their journey."},"season":{"type":"string","description":"The season the video content/pod belongs to, if applicable.","example":"Season 2"},"position":{"type":"integer","description":"The current index position in **seconds** of the playhead, including the duration of any ads seen (if available). If the playback is a livestream, check the documentation for relevant destinations for details on how to correctly pass the playhead position.","example":45},"total_length":{"type":"integer","description":"The total duration of the content/asset in seconds. Note that this is not the duration of the video itself or the playback, but a piece of a complete \"pod\" of content. If the content is an ad in the video, this is the length of the ad.","example":1800},"genre":{"type":"string","description":"The genre of the video content/pod.","example":"Comedy"},"publisher":{"type":"string","description":"The publisher of the video content/pod.","example":"Comedy Central"},"channel":{"type":"string","description":"The channel the video content/pod belongs to or is aired on, like `hgtv` or `my_youtube_channel`.","example":"comedy_central"},"full_episode":{"type":"boolean","description":"Set to `true` if the content is a full episode of a show.","example":true},"livestream":{"type":"boolean","description":"Set to `true` if the content is a livestream.","example":false},"airdate":{"type":"string","format":"date-time","description":"The ISO-8601 date-time when the video content/pod originally aired or was published.","example":"2024-01-15T20:00:00.000Z"},"bitrate":{"type":"integer","description":"The current kbps.","example":5000},"framerate":{"type":"integer","description":"The average frames per second (fps).","example":30},"keywords":{"type":"array","description":"Keywords associated with the video content/pod.","items":{"type":"string"},"example":["comedy","talk show","entertainment"]}},"additionalProperties":{"description":"Additional custom properties for the event."}},"ad_properties":{"x-scalar-ignore":true,"title":"Ad Properties","type":"object","description":"Properties describing video ad content.","properties":{"session_id":{"type":"string","description":"The unique ID of the overall session used to tie all events generated from a specific playback. This value should be the same across all playback, content, and ad events if they are from the same playback session.","example":"session_abc123"},"asset_id":{"type":"string","description":"The ID of the video a user interacted with.","example":"ad_123"},"pod_id":{"type":"string","description":"The ID of the content \"pod\" in a playback session. Imagine a video that contains content and an ad; that means the video contains two pods—one for the content and one for the ad. This is the specific piece of content that the user interacted with.","example":"ad_pod_123"},"pod_position":{"type":"integer","description":"The position of the pod/asset relative to other assets in the same pod. If your ad pod plays 3 ads, you would indicate if this is add number 1, 2, or 3.","example":1},"pod_length":{"type":"integer","description":"The number of ad assets in the ad-pod","example":3},"type":{"type":"string","enum":["pre-roll","mid-roll","post-roll"],"description":"The ad type. Values can include pre-roll, mid-roll, and post-roll.","example":"pre-roll"},"title":{"type":"string","description":"The title of the ad.","example":"Spring Sale 2024"},"position":{"type":"integer","description":"The current index position in **seconds** of the playhead, with respect to the length of the ad.","example":10},"total_length":{"type":"integer","description":"The total duration of the ad in seconds.","example":30},"publisher":{"type":"string","description":"The ad's publisher.","example":"Brand Corp"},"load_type":{"type":"string","enum":["dynamic","linear"],"description":"Set to `dynamic` if you insert ads dynamically and `linear` if ads are the same for all viewers.","example":"dynamic"},"content":{"type":"object","description":"For video destinations that require you to send content metadata with ad events, you can send all the content metadata in this object—like `content.title`, etc.","additionalProperties":true},"quartile":{"type":"integer","description":"Specifies the quartile of the ad that a viewer reached. If you use our client-side libraries, we'll automatically track this for you.","example":2}},"additionalProperties":{"description":"Additional custom properties for the event."}},"quality_properties":{"x-scalar-ignore":true,"title":"Quality Properties","type":"object","description":"Properties describing video quality metrics.","properties":{"bitrate":{"type":"integer","description":"The current kbps.","example":5000},"framerate":{"type":"integer","description":"The average frames per second (fps).","example":30},"startupTime":{"type":"integer","description":"The time it takes for the video to start playing.","example":2000},"droppedFrames":{"type":"integer","description":"The number of frames dropped during playback.","example":5}},"additionalProperties":{"description":"Additional custom properties for the event."}},"context":{"x-scalar-ignore":true,"title":"Context","type":"object","description":"Additional context about the event, such as device information, IP address, user agent, etc. Most of our libraries collect this automatically.","additionalProperties":true},"integrations":{"x-scalar-ignore":true,"title":"Integrations","type":"object","description":"Control which integrations receive this event. By default, all enabled integrations receive events.","additionalProperties":true,"example":{"All":false,"Mixpanel":true,"Segment":true}}},"securitySchemes":{"Basic-Auth":{"type":"http","scheme":"basic","description":"The Data Pipelines API uses a basic authentication scheme with your API key. Use the API Key as the username and leave the password blank.\n"}},"responses":{"200":{"description":"A successful request returns an empty object response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid or malformed request.","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"errors":{"type":"array","description":"An array of errors.","items":{"type":"string","description":"Error descriptions."}}}}}}}}},"401":{"description":"Unauthorized request. Make sure that you provided the right credentials."}}}}