as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Develop
Test
Publish
Monetize
Engage users
Device specifications
Resources

Step 5: Upload Your Catalog to Production

After Amazon accepts your catalog, you transition from the staging environment to production. When your catalog passes Amazon's acceptance review, your Amazon representative grants your account permission to submit catalogs to the production environment. Until this step, you can upload to the staging/ path only.

Your Amazon representative confirms when production access is enabled and you can proceed with submitting and making ongoing catalog changes in production.

Submit your production catalog

With production access enabled, you can upload your accepted catalog to the production environment.

To submit your catalog

  1. Upload your catalog file to the production environment.

    aws s3 cp my-catalog.xml.zst \
      s3://amazon-media-catalogs/<provider>/prod/catalogs/catalog-20250420.xml.zst
    
  2. Create and upload production manifest.

    {
        "s3Bucket": "amazon-media-catalogs",
        "s3Keys": [
            "<provider>/prod/catalogs/catalog-20250420.xml.zst"
        ],
        "type": "CATALOG_FULL",
        "schema": "EMBER"
    }
    
    aws s3 cp prod-manifest.manifest \
      s3://amazon-media-catalogs/<provider>/prod/manifests/prod-manifest-20250420.manifest
    
  3. Review production ingestion reports at prod/reports/.
  4. Verify your content appears on devices. All customers should now be able to view the content.

Establish ongoing maintenance

After your production catalog is live, you must keep it current through regular updates.

Update cadence

The following table describes the required cadence to submit catalog updates.

Schedule Requirement Consequence of missing
Every seven days (minimum) Submit an incremental catalog update. Content might be deprioritized in search and browse rankings.
Every 30 days (minimum) Submit a full catalog refresh. Amazon might flag the catalog for review and potentially suppress it from customer-facing surfaces.

Amazon recommends the following cadence to keep your catalog fresh and provide the best user experience:

  • Daily: New releases, schedule updates, availability changes
  • Weekly: Metadata corrections, image updates, incremental refresh
  • Monthly: Full catalog rebuild and verification

Update strategies

When maintaining your catalog, you will routinely perform incremental updates, full catalog replacements, and deleting specific items.

For detailed documentation on the action attribute (upsert or replace) and the Delete element, including version-based deletion rules and hierarchical deletion order, see Delete and catalog actions.

Incremental update

The incremental update is the most common update type. Use CATALOG_UPDATE in the manifest with action="upsert" in the catalog. If you omit the action attribute, it defaults to upsert.

<ProgramCatalog id="MY_CATALOG" version="1" action="upsert">
    <Movie id="NEW_MOVIE" version="1"><!-- ... --></Movie>       <!-- Added -->
    <Movie id="EXISTING_MOVIE" version="3"><!-- ... --></Movie>  <!-- Updated -->
    <Delete id="EXPIRED_MOVIE" version="10"/>                    <!-- Removed -->
    <!-- Unchanged movies are unaffected -->
</ProgramCatalog>
{
    "s3Bucket": "amazon-media-catalogs",
    "s3Keys": ["<provider>/prod/catalogs/incremental-20250421.xml.zst"],
    "type": "CATALOG_UPDATE",
    "schema": "EMBER"
}

Full catalog replacement

Use CATALOG_FULL in the manifest. The system deletes all items not present in the submission. Use this approach with caution.

{
    "s3Bucket": "amazon-media-catalogs",
    "s3Keys": ["<provider>/prod/catalogs/full-catalog-20250501.xml.zst"],
    "type": "CATALOG_FULL",
    "schema": "EMBER"
}

Deleting specific items

Use the Delete element within an incremental update to remove individual items.

<ProgramCatalog id="MY_CATALOG" version="1">
    <Delete id="OLD_MOVIE" version="100"/>
    <Delete id="EXPIRED_SERIES" version="50"/>
</ProgramCatalog>

Delete children before parents when removing TV hierarchies.

<!-- Delete in order: Episodes → Seasons → Series -->
<Delete id="SERIES_S01E01" version="10"/>
<Delete id="SERIES_S01" version="5"/>
<Delete id="SERIES_1" version="3"/>

Automation

For reliable, repeatable uploads, automate the catalog submission process. Use the AWS SDK with scheduled jobs (cron) to handle role assumption, credential refresh, catalog upload, and manifest submission.


Last updated: May 27, 2026