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

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the atlanai CLI; `atlanai --map json` prints its command map. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.

# Request an upload

> Reserve a short-lived destination for content bytes.

Use `file__request_upload` before creating an artifact whose bytes cannot fit
in a tool argument.

* Optional inputs: `size_bytes`, `session_id`, and Gateway's `rationale`.
* Returns: `upload_url`, `upload_key`, `is_presigned`, `expires_in_seconds`, and `max_bytes`.
* Effect: write; mints a temporary upload capability.

If `is_presigned` is true, send the bytes without the Gateway bearer token. If
it is false, resolve the root-relative URL against the Gateway origin and send
the bearer token. Treat the URL as a password and do not log it.

After the upload, create the artifact with `upload_key` in its metadata. The
artifact kind's other required fields still apply.
