The Notifications API lets you receive real-time notifications for various content events on Prime Video—eliminating the need to repeatedly poll status APIs. Set up automated workflows that respond instantly to asset delivery updates and offer status changes, enabling you to resolve issues faster and keep your catalog current.
Why Use the Notifications API?
- Real-Time Issue Detection – Receive instant notifications when asset deliveries fail or offer statuses change, enabling you to address problems immediately instead of discovering them hours or days later through manual checks.
- Reduced API Overhead – Eliminate the need for continuous polling of status APIs, reducing your infrastructure costs and API call volume while still maintaining up-to-date information.
- Automated Workflow Integration – Connect notifications directly to your existing systems (AWS services or webhooks) to trigger automated responses, ticket creation, or alerting workflows without manual intervention.
- Comprehensive Event Coverage – Monitor both asset delivery status and offer availability across all your titles and territories from a single notification system.
Getting Started
Getting started with notifications requires three steps:
- Register a Target: Set up where you want to receive notifications. You can choose from AWS services (SQS, SNS, EventBridge) or HTTPS webhooks.
- Create Subscriptions: Map the events you want to monitor to your registered targets. Each subscription covers one topic (AssetStatus or OfferStatus), but you can subscribe to multiple event types within that topic.
- Receive Notifications: Once configured, you’ll automatically receive notifications as events occur in real-time.
Request and Response Schemas
This section provides technical specifications for developers to integrate the Partner Notification API into your systems. Use this reference to understand the request format, response structure, and data types returned by the API.
Base URL
All API requests are made to the following base URL. Append the relevant endpoint path to this URL when making requests.
https://partnerapi.primevideo.com/v1
Target Management
A target is the destination where you want to receive notifications—this can be an AWS service (SQS, SNS, or EventBridge) or an HTTPS webhook endpoint. You must register at least one target before creating subscriptions.
Register Target
POST /{licensor}/notifications/targets
Create a new notification target where you’ll receive event notifications.
Request Body:
{
"type": "SQS|SNS|EVENTBRIDGE|WEBHOOK",
"destination": "target-destination",
"auth": { /* varies by type */ }
}
Response:
{
"targetId": "target-id-1",
"status": "ACTIVE"
}
List All Targets
Use this endpoint to retrieve a full list of the notification targets registered for your organization. This is useful for auditing your current configuration or identifying target IDs to use when creating or updating subscriptions.
GET /{licensor}/notifications/targets
Retrieve all registered targets for your organization.
Get Specific Target
GET /{licensor}/notifications/targets?targetId={id}
Retrieve details for a specific target.
Update Target
PUT/{licensor}/notifications/targets/{targetId}
Update an existing target configuration.
Delete Target
DELETE /{licensor}/notifications/targets/{targetId}
Remove a target from your configuration.
Subscription Management
A subscription maps one or more events to a registered target, determining which notifications you receive and where they are delivered. Each subscription is scoped to a single topic, but you can create multiple subscriptions to cover all the events relevant to your workflow.
Create Subscription
POST /{licensor}/notifications/subscriptions
Create a subscription to map events to your targets.
Request Body:{
"topic": "OfferStatus",
"eventTargetMapping": {
"LiveStatusUpdated": ["target-id-1"],
"OfferStatusUpdated": ["target-id-2"]
}
}
Response:{
"subscriptionId": "subscription-id-1",
"status": "ACTIVE"
}
List All Subscriptions
GET /{licensor}/notifications/subscriptions
Retrieve all subscriptions for your organization.
Update Subscription
PUT /{licensor}/notifications/subscriptions/{id}
Update an existing subscription configuration.
Delete Subscription
DELETE /{licensor}/notifications/subscriptions/{id}
Remove a subscription from your configuration.
Available Topics and Events
Topics group related events together. When you create a subscription, you select a topic and specify which events within that topic you want to monitor. Each topic maps to a specific area of content status tracking.
- LiveStatusUpdated – When live status changes
- OfferStatusUpdated – When offer status changes (Coming Soon)
- AssetStatusUpdated – When asset status changes (Coming Soon)
Target Types
Target types define how Prime Video delivers notifications to your systems. You can choose from AWS-managed services for reliable, scalable delivery, or configure an HTTPS webhook to receive notifications directly at your own endpoint.
AWS Targets (SQS, SNS, EventBridge) - Required Fields:
- destination – ARN of AWS resource
- assumeRoleArn – IAM role for delivery
- externalId – Security identifier (optional but recommended)
SQS Example:{
"type": "SQS",
"destination": "arn:aws:sqs:{region}:{account-id}:{queue-name}",
"auth": {
"assumeRoleArn": "arn:aws:iam::{account-id}:role/{role-name}",
"externalId": "{external-id}"
}
}
SNS Example:{
"type": "SNS",
"destination": "arn:aws:sns:{region}:{account-id}:{topic-name}",
"auth": {
"assumeRoleArn": "arn:aws:iam::{account-id}:role/{role-name}",
"externalId": "{external-id}"
}
}
EventBridge Example:{
"type": "EVENTBRIDGE",
"destination": "arn:aws:events:{region}:{account-id}:event-bus/{bus-name}",
"auth": {
"assumeRoleArn": "arn:aws:iam::{account-id}:role/{role-name}",
"externalId": "{external-id}"
}
}
Webhook Targets - Bearer Token:{
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "bearer",
"bearerToken": "your-token"
}
}
Webhook Targets - API Key:{
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "apiKey",
"apiKey": "your-key",
"apiKeyHeader": "X-API-Key"
}
}
Webhook Targets - HMAC (Recommended):{
"type": "WEBHOOK",
"destination": "https://your-api.example.com/webhooks",
"auth": {
"type": "hmac",
"hmacSecret": "your-secret",
"hmacAlgorithm": "HmacSHA256",
"hmacHeader": "X-Signature"
}
}
Payload
Webhooks receive HTTP POST requests with the following payload:{
"alid": "partner-listing-id",
"territory": "US",
"marketplace": "US",
"eventType": "LiveStatusUpdated",
"callbackUrl": "https://callback-url.com",
"eventTimestamp": "2024-01-01T00:00:00.000Z"
}
Authentication Headers:
- HMAC: X-Signature: {signature}
- API Key: X-API-Key: {key}
- Bearer: Authorization: Bearer {token}
Error Responses
When a request cannot be completed, the API returns a structured error response to help you identify and resolve the issue. The response includes an error code and a human-readable message describing the problem.{
"error": {
"code": "ERROR_CODE",
"message": "Human readable error message"
}
}
Common Error Codes:
- BAD_REQUEST – Invalid request parameters
- UNAUTHORIZED – Authentication failed
- NOT_FOUND – Resource not found
- CONFLICT – Resource already exists
AWS Target Setup Guide
If you are using an AWS service (SQS, SNS, or EventBridge) as your notification target, you must configure an IAM Delivery Role to grant Prime Video permission to deliver notifications to your AWS resources. Follow the steps below to set up the required IAM role and permission policies before registering your target.
Prerequisites
- AWS destination resource (SQS Queue, SNS Topic, or EventBridge Bus)
- IAM Delivery Role with trust and permission policies
IAM Role Setup
1. Create Role: AWS Console → IAM → Roles → Create Role → Custom Trust Policy
2. Trust Policy{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::687801838843:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "{external-id}"
},
"ArnLike": {
"aws:PrincipalArn": "arn:aws:iam::687801838843:role/PVPartnerApiNPS-ExecutionRole-*"
}
}
}
]
}
3. Permission Policy (choose one of the following)
SQS:{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["sqs:SendMessage", "sqs:GetQueueUrl"],
"Resource": "arn:aws:sqs:{region}:{account-id}:{queue-name}"
}]
}
SNS:{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:{region}:{account-id}:{topic-name}"
}]
}
EventBridge: {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "events:PutEvents",
"Resource": "arn:aws:events:{region}:{account-id}:event-bus/{bus-name}"
}]
}