Avails API payload schemas - Prime Video Tech Docs

Avails API payload schemas

Last updated 2024-09-30

The schemas outlined in this topic are intended for use by developers to integrate with Avails APIs. These schemas will be organized within a dedicated package to streamline governance. The payload schemas adhere to the MDDF API v2.6 standard; however, not all attributes from MDDF API v2.6 are supported by Prime Video. Unsupported attributes can still be included in the payload, but Prime Video will disregard them.

Encoding

The payloads will be encoded in JSON format. XML encoding may be considered for future implementation.

How MDDF XML is converted to JSON

The MDDF Avails API defines its schema in XML format, but supports payloads in both XML and JSON. Prime Video Partner APIs will use JSON-encoded payloads. The process for converting MDDF XML to JSON is outlined here:

  • Namespaces are omitted when generating JSON attribute names.
  • Text content of elements is directly assigned to the value of the corresponding JSON object.

    becomes
  • Nested elements become nested properties.

    becomes
  • Multiple elements with the same name and at the same level become array elements.

    becomes
  • Mixed content (element and text nodes) at the same level become array elements.

    becomes
  • Attributes go in properties, and attribute names are prepended with an underscore.

    becomes

Version management

Each version of the payload schema will be maintained in a separate Smithy file. This page will serve as the authoritative source for the specific version of the Avails API schema.

Common types

The Avails API schema supports the following data types, which require governance review to ensure standardization across all Resource Servers.

The maximum number of items allowed in batch requests is limited to 100.

Type

Description

Boolean

Boolean type. Allowed values: true, false

Integer

32-bit signed integer.

LongInteger

64-bit signed integer.

Decimal

Floating point number.

String

An array of characters.

Timestamp

ISO time stamp.

Enum

An enumerated string with a pre-defined set of allowed values.

Struct

Structure serves as an aggregator for other attributes.

Array

Collection of items of ASME type. Designated by [].

Schemas

PutAvailsAPIRequest type

Attribute

Type

Is mandatory

Description

avail

Avail

Yes

Availability data

PutAvailsAPIResponse type

Attribute

Type

Is mandatory

Description

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

ValidateAvailsAPIRequest type

Attribute

Type

Is mandatory

Description

avail

Avail

Yes

Availability data

ValidateAvailsAPIResponse type

Attribute

Type

Is mandatory

Description

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

DeleteAvailsAPIResponse type

Attribute

Type

Is mandatory

Description

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

GetAvailsAPIResponse type

Attribute

Type

Is mandatory

Description

avail

Avail

Yes

Availability data

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

PutAvailsBatchAPIRequest type

Attribute

Type

Is mandatory

Description

requestItems

PutAvailsBatchAPIRequestItem[]

Yes

List of individual requests

PutAvailsBatchAPIResponse type

Attribute

Type

Is mandatory

Description

responseItems

PutAvailsBatchAPIResponseItem[]

Yes

List of response items

PutAvailsBatchAPIRequestItem type

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

path

String

Yes

Path to a resource for this request item.

For Full Extract model the format is:
/avails/{licensor}/full-extract/{ALID}

For Partial Extract model the format is:
/avails/{licensor}/partial-extract/transactions/{transactionID}

body

PutAvailsBatchAPIRequestItemBody

Yes

Availability data

PutAvailsBatchAPIRequestItemBody type

Attribute

Type

Is mandatory

Description

avail

Avail

Yes

Availability data

PutAvailsBatchAPIResponseItem type

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

ValidateAvailsBatchAPIRequest type

Attribute

Type

Is mandatory

Description

requestItems

ValidateAvailsBatchAPIRequestItem[]

Yes

List of individual requests

ValidateAvailsBatchAPIResponse type

Attribute

Type

Is mandatory

Description

responseItems

ValidateAvailsBatchAPIResponseItem[]

Yes

List of response items

ValidateAvailsBatchAPIRequestItem type

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

path

String

Yes

Path to a resource for this request item

For Full Extract model the format is: /avails/{licensor}/full-extract/{ALID}/validate

For Partial Extract model the format is: /avails/{licensor}/partial-extract/transactions/{transactionID}/validate

body

ValidateAvailsBatchAPIRequestItemBody

Yes

Request body

ValidateAvailsBatchAPIRequestItemBody type

Attribute

Type

Is mandatory

Description

avail

Avail

Yes

Availability data

ValidateAvailsBatchAPIResponseItem type

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

DeleteAvailsBatchAPIRequest type

Attribute

Type

Is mandatory

Description

requestItems

DeleteAvailsBatchAPIRequestItem[]

Yes

List of individual requests

DeleteAvailsBatchAPIResponse type

Attribute

Type

Is mandatory

Description

responseItems

DeleteAvailsBatchAPIResponseItem[]

Yes

List of response items.

DeleteAvailsBatchAPIRequestItem type

Attribute

Type

Is ,andatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

path

String

Yes

Path to a resource for this request item.

For Full Extract model the format is:
/avails/{licensor}/full-extract/{ALID}?territory={Territory}&businessLine={BusinessLine}&contractID={CPH|FIXED_FEE}&channelIdentity={Channel}

For Partial Extract model the format is:
/avails/{licensor}/partial-extract/transactions/{transactionID}

DeleteAvailsBatchAPIResponseItem type

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

GetAvailsBatchAPIRequest

Attribute

Type

Is mandatory

Description

requestItems

GetAvailsBatchAPIRequestItem[]

Yes

List of individual requests

GetAvailsBatchAPIResponse

Attribute

Type

Is mandatory

Description

responseItems

GetAvailsBatchAPIResponseItem[]

Yes

List of response items

GetAvailsBatchAPIRequestItem

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

path

String

Yes

Path to a resource for this request item.

For Full Extract model the format is:
/avails/{licensor}/full-extract/{ALID}?territory={Territory}&businessLine={BusinessLine}

For Partial Extract model the format is:
/avails/{licensor}/partial-extract/transactions/{transactionID}

GetAvailsBatchAPIResponseItem

Attribute

Type

Is mandatory

Description

requestItemId

String

Yes

Unique identifier of item in batch request

success

Boolean

Yes

Status of operation

errors

Error[]

No

List of errors in case of failure

avail

Avail

No

Avail object

Error type

Attribute

Type

Is mandatory

Description

code

String

Yes

A string describing the error type.

Validation error codes: APIV{number}, CRMSV{number}
Service error codes: APIE{number}, CRMSE{number}

Examples: APIV400, CRMSE500

message

String

Yes

Human-readable description of error

Avail type

Attribute

Type

Required

Notes

ALID

String

Yes

Specifies title identifier. Must match ALID specified in metadata contribution.

Disposition

AvailDisposition

Yes

Specifies extract model granularity.

Licensor

Publisher

Yes

Specifies information about entity granting license to Prime Video.

Asset

AvailAsset[]

Yes

Information about asset. Only a single asset should be specified in the list.

Transaction

AvailTrans[]

Yes

Information about transaction.

SharedEntitlement

AvailSharedEntitlement[]

No

Information on entitlements for other services.

AvailDisposition type

Attribute

Type

Required

Notes

EntryType

Enum

Yes

Allowed values: FullExtract, FullDelete, PartialExtract, PartialDelete

Publisher type

Attribute

Type

Required

Notes

DisplayName

String

Yes

Specifies name of Prime Video partner. This value will be provided to partners by Prime Video. Must be same value as used in EMA files.

AvailAsset type

Attribute

Type

Required

Notes

_contentID

String

Yes

Specifies content ID for this asset. This value will be provided to partners by Prime Video. Must be same value as used in EMA files. Must be same as ALID value provided in avail.

WorkType

Enum

Yes

Allowed values: Movie, Short, Episode, Season, Supplemental

Metadata

AvailUnitMetadata

No

Describes metadata for Movie or Short. Required when WorkType is Movie or Short.

EpisodeMetadata

AvailEpisodeMetadata

No

Describes metadata for Episode. Required when WorkType is Episode.

SeasonMetadata

AvailSeasonMetadata

No

Describes metadata for Season. Required when WorkType is Season.

AvailSharedEntitlement type

Attribute

Type

Required

Notes

_ecosystem

Enum

Yes

Allowed values: DMA

EcosystemID

String

Yes

Ecosystem specific title identifier

AvailUnitMetadata type

Attribute

Type

Required

Notes

TitleInternalAlias

String[]

Yes

Title Name. Only a single title name should be specified in the list.

AvailEpisodeMetadata type

Attribute

Type

Required

Notes

TitleInternalAlias

String[]

Yes

Title Name for Episode. Only a single title name should be specified in the list.

EpisodeNumber

ContentSequenceInfo

Yes

Number of this episode within season.

SeasonMetadata

AvailSeasonMetadata

Yes

Describes metadata for Season. Required when WorkType is Episode or Season.

SeriesMetadata

AvailSeriesMetadata

Yes

Describes metadata for Series. Required when WorkType is Episode or Season.

AvailSeasonMetadata type

Attribute

Type

Required

Notes

SeasonContentID

String

Yes

ALID for season.

SeasonTitleInternalAlias

String[]

No

Title Name for Season. Only a single title name should be specified in the list.

SeasonNumber

ContentSequenceInfo

Yes

Number for this season within series.

NumberOfEpisodes

Integer

Yes

Number of episodes in this season.

SeriesMetadata

AvailSeriesMetadata

No

Describes metadata for Series. Required when WorkType is Season.

AvailSeriesMetadata type

Attribute

Type

Required

Notes

SeriesContentID

String

Yes

ALID for series.

SeriesTitleInternalAlias

String[]

No

Title Name for Series. Only a single title name should be specified in the list.

NumberOfSeasons

Integer

No

Number of seasons in this series.

AvailTrans type

Attribute

Type

Required

Notes

_TransactionID

String

No

Unique identifier for availability window. Required when using PartialExtract. Optional when using FullExtract.

LicenseType

Enum

Yes

Allowed values: SVOD, FVOD, EST, POEST, VOD

Territory

Region[]

Yes

Territory where distribution is allowed. Only a single territory item must be provided. All Transactions within a single Avail object must have the same territory.

Start

DateTime

Yes

Start date and time for distribution in ISO format.

End

DateTime

No

End date and time for distribution in ISO format. If not provided, distribution has unlimited duration.

AssetLanguage

AssetLanguage[]

No

Language for asset expressed as ISO language code with asset type. Allowed asset types: subtitle, audio, subdub, sub, dub, ov, mta, any

AllowedLanguage

AssetLanguage[]

No

ISO language code with asset type. Allowed asset types: subtitle, audio, sub, dub, subdub, any

HoldbackLanguage

AssetLanguage[]

No

ISO language code with asset type. Allowed asset types: subtitle, audio, sub, dub, subdub, any

LicenseRightsDescription

String

No

Used to specify publishing priority.

FormatProfile

AvailFormatProfile

Yes

Quality of availed video. Allowed values: SD, HD, UHD

ContractID

String

No

Specifies contractual information. Allowed values:
- CPH
- FIXED_FEE
- FIXED_FEE:{Deal ID}
When submitting avails, FIXED_FEE options are restricted by licensor.

Terms

AvailTerms[]

Yes

Specifies list of business terms for availability window.

OtherInstructions

String

No

Additional processing instructions for availability window.

Region type

Attribute

Type

Required

Notes

country

String

Yes

2-letter ISO 3166-1 country code

AssetLanguage type

Attribute

Type

Required

Notes

value

String

Yes

Language for asset expressed as RFC 5646 language code with asset type.

_asset

String

No

Different set of values are allowed, depending on the language attribute from AvailTrans type.

Allowed values for AvailTrans.AssetLanguage:
subtitle, audio, subdub, sub, dub, ov, mta, any.
This attribute requires the same asset submitted for all languages.

Allowed values for AvailTrans.AllowedLanguage and AvailTrans. HoldbackLanguage:
subtitle, audio, sub, dub, subdub, any.
When asset value is “subdub”, “any”, or the value is absent, it will fanout to two assets: “subtitle” and “audio”.

Assets “sub” and “dub” are converted to their MDDF equivalent “subtitle” and “audio”.

AvailFormatProfile type

Attribute

Type

Required

Notes

value

Enum

Yes

Quality of availed video. Allowed values: SD, HD, UHD

AvailTerms type

Attribute

Type

Required

Notes

_termName

String

Yes

Identifies the term. The value is case-insensitive. For a list of allowed values, see below.

Money

Money

No

For more details see below.

Text

String

No

For more details see below.

Event

DateTime

No

For more details see below.

Boolean

Boolean

No

For more details see below.

Duration

String

No

For more details see below.

Number

Integer

No

For more details see below.

Supported terms

Term name

Attribute

Required

Notes

ChannelIdentity

Text

Yes

Identifier for a channel or subscription.

Tier

Text

Conditional

Pricing tier. Required if license type is POEST.

SRP

Money

Conditional

Suggested retail price. Required if license type is POEST.

WSP

Money

Conditional

Wholesale price. Required if license type is POEST.

Category

Text

Conditional

Price category. Required if license type is POEST.

AnnounceDate

Event

No

Date when the retailer is permitted to announce the availability start date of the title within the available territory.

SuppressionLiftDate

Event

Conditional

First date a title could be publicly announced as becoming available at a specific future date in territory of avail. Required if license type is POEST.

RentalDuration

Duration

Conditional

Duration of rental period in hours. Required if license type is SVOD.

WatchDuration

Duration

Conditional

How long user has to complete viewing once started, in hours. Required if license type is SVOD.

Download

Text

No

License includes permission to download. Valid values are Yes and No. When license type is SVOD, both rental duration and watch duration must be specified.

Exclusive

Boolean

No

Assets are exclusive within the scope of the Transaction.

ExclusiveAttributes

Text

No

Specifies type of exclusivity. Only considered when Exclusive is true. A default value will be used if not provided when Exclusive is true.

BrandingRights

Boolean

No

Indicates partner intent to display branding.

BrandingRightsAttributes

Text

No

Specifies branding text. Only considered when BrandingRights is true. A default value will be used if not provided when BrandingRights is true.

allowAds

Boolean

No

Determines whether ads are allowed or prohibited. This term can appear only once.

allowedAdPlacement

Text

Conditional

Specifies location in roll where ads can be inserted. Allowed values are: PreRoll, MidRoll, PostRoll, Overlays, PauseAds, Squeezebacks.
Allowed only when allowAds is true.

This term can appear more than once. Either allowedAdPlacement or prohibitedAdPlacement can be specified, but not both.

prohibitedAdPlacement

Text

Conditional

Specifies location in roll where ads cannot be inserted. Allowed values are: PreRoll, MidRoll, PostRoll,Overlays, PauseAds, Squeezebacks.
This term can appear more than once.

Allowed only when allowAds is true.

Either allowedAdPlacement or prohibitedAdPlacement can be specified, but not both.

cuepointDeliveryAndUsage

Text

No

Specifies cuepoint delivery and usage obligations. Allowed values: PartnerWillDeliverAndPrimeVideoMustUse, PrimeVideoWillUseIfDelivered, NoDeliveryOrUsageObligations, TalentObligated.

Allowed only when allowAds is true.

blindBasisSelling

Text

No

Allowed values: GuaranteedImpressions, NoGuaranteedImpressions

This attribute should only be present if allowAds is set to true.

sponsorships

Text

No

Allowed values: Permitted, Prohibited, PermittedWithRestrictions.

This attribute should only be present if allowAds is set to true.

sponsorshipsRestrictions

Text

Conditional

Free-form text

This attribute should only be present if sponsorships is set to AllowedWithRestrictions.

talentAndAmazonAdGuidelines

Text

No

Allowed values: NoRestrictions, ConsultationRequired

This attribute should only be present if allowAds is set to true.

talentRestrictions

Text

Conditional

Free-form text

This attribute should only be present if talentAndAmazonAdGuidelines is set to ConsultationRequired.

adLoadLimit

Text

No

Number of ad minutes per hour. Value must be a valid integer.

This attribute should only be present if allowAds is set to true.

Money type

Attribute

Type

Required

Notes

value

Decimal

No

Monetary value, required for some price types

_currency

String

Yes

ISO currency code

ContentSequenceInfo type

Attribute

Type

Required

Notes

Number

Integer

Yes

Content sequence number, such as episode number or season number

BusinessLine enumeration

Enumerated value

Description

TVOD

TVOD means purchase or rental. Related license types: EST, VOD, POEST

PRIME_SUBSCRIPTION

Amazon Prime or Amazon Kids+ subscription. Related license types: SVOD

CHANNELS

Third-party channel subscription. Related license types: SVOD

FVOD

Free content. Related license types: FVOD

Can’t find what you’re looking for?

Contact us


Internal Server error! Please try again
Your session has expired

Please sign in to continue

Sign In
edit