Skip to content

feat: add video events to /v2/events - #208

Merged
anonvt merged 3 commits into
mainfrom
feat/video-events
Oct 13, 2026
Merged

anonvt merged 3 commits into
mainfrom
feat/video-events

Conversation

@anonvt

@anonvt anonvt commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Documents the new videoEvents array in the public Events API (/v2/events), so marketplaces running sponsored video ads can report VAST playback checkpoints and delivery failures. Ticket: INTE-1541.

Changes (topsort-api-v2.yml)

  • /v2/events: add a Video events bullet and update the request-body description.
  • EventsRequest: add a videoEvents array (maxItems: 50).
  • New VideoEvent schema: resolvedBidId / eventType / occurredAt / opaqueUserId / id required; errorCode / placement / page / deviceType / channel optional. eventType enum is start, firstQuartile, midpoint, thirdQuartile, complete, error. errorCode is required when eventType is error and ignored otherwise, stated in prose rather than if/then to match how the rest of the file expresses conditional fields.
  • Add two video request examples (a quartile checkpoint and an error with a VAST code).

Validation

  • Matches the auction-engine v2 contract: request field videoEvents (binding:"max=50"), VideoEvent fields and required flags per behavior-data-service/bdssrv/v2/model_video.go, enum per bs.VideoEventType, errorCode rule per the missing_video_error_code check in events_handler.go, and the non-video bid rejection (non_video_resolved_bid) from auction-engine #5225.
  • prettier --check, yamllint, typos clean. vacuum lint passes with 0 errors. redocly lint --extends recommended-strict reports the same 4 pre-existing TravelAuctionRequest / TravelAuctionResult oneOf errors as main; nothing new.

Note

Video events are accepted only when the resolvedBidId decodes to a video bid. That gate (auction-engine #5225) is fed by central-services #10924 and auction-engine #5265, both merged in September, so the endpoint is live for video campaigns.

🤖 Generated with Claude Code

@anonvt
anonvt requested a review from a team as a code owner October 13, 2026 18:40
Comment thread topsort-api-v2.yml

@Phfollert Phfollert left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing invalid_video_event_type

@anonvt

anonvt commented Oct 13, 2026

Copy link
Copy Markdown
Contributor Author

@Phfollert added invalid_video_event_type in 75ce850, thanks. Note #209, stacked on this, drops the enum entirely per your call that it will not be kept in sync.

@Phfollert Phfollert left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Spec matches the auction-engine /v2/events video handling.

anonvt and others added 3 commits October 13, 2026 18:56
Document the `videoEvents` array and the `VideoEvent` schema shipped in
auction-engine #5164 and gated in #5225.

INTE-1541

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
INTE-1541

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
INTE-1541

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@anonvt
anonvt force-pushed the feat/video-events branch from 75ce850 to 730c81b Compare October 13, 2026 21:57
@anonvt
anonvt merged commit a115d9c into main Oct 13, 2026
7 checks passed
@anonvt
anonvt deleted the feat/video-events branch October 13, 2026 23:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants