---
title: "Create a quartile event"
method: POST
path: "/media-bridge/2026-03/events/media-played-percent"
tags: ["Advanced"]
---

# Create a quartile event

`POST /media-bridge/2026-03/events/media-played-percent`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/media-bridge/2026-03/events/media-played-percent`
- Auth: one of:
  - HTTP bearer
  - API key in query parameter `hapikey`
  - none

Create an event representing a user reaching quarterly milestones in a piece of media they're viewing.

## Request body

- CmsMediaBridgeMediaPlayedPercentageEventRequest
  - `_hsenc` string
  - `contactId` integer
  - `contactUtk` string
  - `externalId` string
  - `externalPlayContext` 'EMAIL' | 'EXTERNAL_PAGE'
  - `mediaBridgeId` integer
  - `mediaName` string
  - `mediaType` 'AUDIO' | 'DOCUMENT' | 'IMAGE' | 'OTHER' | 'VIDEO', required
  - `mediaUrl` string
  - `occurredTimestamp` integer, required
  - `pageId` integer
  - `pageName` string
  - `pageUrl` string
  - `playedPercent` integer, required
  - `sessionId` string, required

## Response `200`

successful operation

- CmsMediaBridgeMediaPlayedPercentageEvent
  - `contactId` integer, required: The ID of the contact in HubSpot’s system that consumed the media. This can be fetched using HubSpot's Get contact by usertoken (utk) API. The API also supports supplying a usertoken, and will handle converting this into a contact ID automatically.
  - `externalPlayContext` 'EMAIL' | 'EXTERNAL_PAGE'
  - `mediaBridgeId` integer, required
  - `mediaBridgeObjectCoordinates` string, required
  - `mediaBridgeObjectTypeId` string, required
  - `mediaName` string, required
  - `mediaType` 'AUDIO' | 'DOCUMENT' | 'IMAGE' | 'OTHER' | 'VIDEO', required
  - `mediaUrl` string
  - `occurredTimestamp` integer, required
  - `pageId` integer: The content ID of the page that an event happened on, for HubSpot pages. Required if the page is a HubSpot page.
  - `pageName` string: The name or title of the page that an event happened on. Required for non-HubSpot pages.
  - `pageObjectCoordinates` string
  - `pageUrl` string: The URL of the page that an event happened on. Required for non-HubSpot pages.
  - `playedPercent` integer, required
  - `portalId` integer, required: The ID of the HubSpot account.
  - `providerId` integer, required
  - `sessionId` string, required

## Other responses

- `default`: An error occurred.

## Changes

> 14 revisions in range; 1 not diffed, 2 could not be searched.

- **2026-03-30** `dc2fdad57f7f`: 1 info
  - added the success response with the status `200`
- **2026-03-25** `62586336cea2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hubspot/apis/hubspot-api-specification/changes/media-bridge/2026-03/events/media-played-percent/post.md)

---

[API](https://skmtc.dev/hubspot/apis/hubspot-api-specification.md) - [All operations](https://skmtc.dev/hubspot/apis/hubspot-api-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/hubspot/apis/hubspot-api-specification/revisions/f9c7181056c5?raw)
