> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mediamagicverify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MediaMagic API

> The public API for submitting media assets and receiving processing results

## Overview

The MediaMagic API allows you to programmatically submit media assets for processing and retrieve detailed analysis results through webhooks or polling.

### What you can do

* **Upload files** — Generate presigned URLs for direct client-side upload or stream files directly through the API
* **Submit assets** — Create submissions with one or more pre-uploaded assets
* **Poll status** — Check submission progress, versions, and processing results
* **Receive webhooks** — Get real-time notifications when processing completes
* **Access results** — Retrieve detailed analysis including topics, issues, evidence, and contributor information

### Key features

* **Secure authentication** — Workspace-scoped API keys with tier-based rate limiting
* **Flexible upload** — Presigned URLs for large files or direct streaming for small files
* **Real-time updates** — Standard Webhooks for event-driven architectures
* **Comprehensive results** — Topic extraction, issue detection, evidence links, and contributor analysis

## Getting started in 5 minutes

<Steps>
  <Step title="Get your API key">
    Create an API key in the MediaMagic control plane. You'll need it for all API requests.
  </Step>

  <Step title="Upload a file">
    Generate a presigned URL and upload your media asset to Azure Blob Storage.
  </Step>

  <Step title="Submit for processing">
    Create a submission with your uploaded asset.
  </Step>

  <Step title="Check the results">
    Poll `GET /api/integrations/submissions/{id}` or set up webhooks for real-time updates.
  </Step>
</Steps>

## Common use cases

<Columns cols={2}>
  <Card title="Batch processing" icon="list" href="/guides/submit-assets">
    Submit multiple assets and track progress with polling
  </Card>

  <Card title="Real-time updates" icon="bell" href="/guides/webhook-subscriptions">
    Receive instant notifications via webhooks
  </Card>

  <Card title="Large file uploads" icon="cloud-upload" href="/guides/file-upload">
    Upload files with presigned URLs
  </Card>

  <Card title="Error recovery" icon="alert-circle" href="/guides/error-handling">
    Handle failures and retries gracefully
  </Card>
</Columns>

## Next steps

* [Authentication](/authentication) — Set up API key authentication
* [Quickstart](/quickstart) — Try the API with curl or code examples
* [Core Concepts](/concepts/submissions) — Understand submissions, assets, and workflows
