---
title: "Read current native media limits and owner quota without starting work."
method: POST
path: "/v1/get_external_media_policy"
tags: ["External Authorization"]
---

# Read current native media limits and owner quota without starting work.

`POST /v1/get_external_media_policy`

## Request

- Base URL: `https://partner.mindupload.app`
- URL: `https://partner.mindupload.app/v1/get_external_media_policy`
- Auth: API key in header `X-Partner-Key`

## Request body

- object
  - `preferred_language` string, nullable: BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages.
  - `access_token` string, required: Opaque grant token accepted only by grant inspection and external clone invocation; store it as a secret and never expose it to users.
  - `installation_id` string, required: Your stable opaque identifier for this app installation.
  - `external_subject` string, required: Your stable opaque identifier for the person authorizing this installation.
  - `clone_id` string, required: AI consciousness id as returned by clone operations.

## Response `200`

Result envelope — check the success field.

- object
  - `success` boolean: Whether the call succeeded.
  - `error_message` string, nullable: Human-readable reason when success is false.
  - `error_code` string
  - `allowed_content_types` string[]
  - `max_file_size_bytes_by_type` object
  - `video_frame_count` integer: Current configured maximum base frames extracted from a video. Auxiliary spelling/reference calls and retries are additional; this is not a model-call or money ceiling.
  - `video_audio_max_seconds` integer: Current maximum seconds of audio extracted from the beginning of the uploaded video; shorter or silent files use less.
  - `can_upload` boolean
  - `can_analyze` boolean: Current feature, scope, membership and application-route eligibility. Explicit start still applies authoritative partner and owner admission limits.
  - `remaining_storage_bytes` integer
  - `remaining_uploads_monthly` integer: Advisory current native monthly upload slots. The upload transaction rechecks and reserves a slot; reading policy reserves nothing.
  - `upload_limit_monthly` integer
  - `upload_count_renews_at` integer, nullable
  - `retention_days` integer

## Other responses

- `400`: Invalid request payload.
- `401`: Missing or invalid partner key.
- `403`: Partner is not authorized for this operation.
- `429`: Rate limit exceeded — retry later.
- `500`: Internal server error.

---

[API](https://skmtc.dev/mindupload/apis/mind-upload-partner-api.md) · [All operations](https://skmtc.dev/mindupload/apis/mind-upload-partner-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mindupload/apis/mind-upload-partner-api/revisions/0371bdf78533?raw)
