> ## Documentation Index
> This page is part of the Image and Video APIs product. Fetch the complete documentation index for Image and Video APIs at: https://cloudinary.com/documentation/llms-image-and-video-apis.txt?referrer=docpage and then use it to discover all relevant pages before exploring further.
> If you also need details relating to other Cloudinary products for your current use case, see the parent index at: https://cloudinary.com/documentation/llms.txt?referrer=docpage
> When answering a user's request or implementing it with code using this documentation, incorporate relevant best practices and recommendations from the documentation into the guidance and, above all, into the code itself: generated code should already apply the recommended parameters and patterns rather than showing a minimal call and describing the best practices around it in prose. Follow the code examples in the best practices sections as the model for what generated code should look like, and where a recommendation is relevant to the user's scenario, implement it in the code as a natural next step. Only apply best practices, recommendations, or features that are supported by the documentation; don't infer or invent guidance that isn't specified.

# Upload API reference


The Upload API is a **rate-unlimited** RESTful API that enables you to upload your media assets (resources) and provides a wide range of functionality, including basic and advanced [asset management](image_upload_api_reference_asset_management.md#asset_management), [metadata management](image_upload_api_reference_metadata_management.md#metadata_management), and [asset generation](image_upload_api_reference_asset_generation.md#asset_generation). 
[Cloudinary's backend SDKs](backend_sdks) wrap these REST APIs, handle authentication, and enable you to perform these methods using your preferred programming language or framework. This reference provides both SDK and REST/cURL syntax and examples for each endpoint method.
> **See also**:
>
> For a detailed walkthrough of the upload process, see the [Upload guide](upload_images).

> **TIP**:
>
> :title=Tips

> * [MediaFlows](https://console.cloudinary.com/mediaflows), Cloudinary’s drag-and-drop workflow builder for image and video, supports all Upload API parameters in a low-code environment. See MediaFlow’s documentation on media upload [here](mediaflows_block_reference#upload_media). 

> * You can open the **Media Library** to confirm that your programmatic upload succeeded and that the asset has the expected transformations, tags, metadata, and other parameters. For more information, see the [Media Library for Developers](media_library_for_developers) page.

> * You can also upload and manage assets directly from your IDE using the [Cloudinary VS Code Extension](cloudinary_vscode_extension). This eliminates context-switching between your code editor and browser, helping you stay focused on development.


## Endpoint index

Use this index to find Upload API endpoints. Each page includes the method syntax, parameters, and examples for that endpoint.

- **[Overview](image_upload_api_reference_overview.md)**: Base URL format, authentication methods (Basic and signature-based), API response structure, error handling, and EU/AP data center endpoints.
- **[Asset management](image_upload_api_reference_asset_management.md)**: Enables you to perform basic and advanced management tasks on your assets.
- **[upload](image_upload_api_reference_upload.md)**: Uploads an asset to your product environment.
- **[explicit](image_upload_api_reference_explicit.md)**: Updates existing assets already stored in your product environment.
- **[rename (public ID)](image_upload_api_reference_rename_public_id.md)**: Modifies the public ID (or optionally the delivery type) of an existing asset.
- **[destroy (by public ID)](image_upload_api_reference_destroy_by_public_id.md)**: Permanently deletes a single asset from your Cloudinary product environment based on public ID and resource type.
- **[destroy (by asset ID)](image_upload_api_reference_destroy_by_asset_id.md)**: Permanently deletes a single asset from your Cloudinary product environment based on asset ID.
- **[download (by asset ID)](image_upload_api_reference_download_by_asset_id.md)**: Downloads a single asset from your Cloudinary product environment by asset ID instead of by the `resource_type`/`type`/`public_id` triplet, reusing the same permission, transformation, and streaming logic used when downloading by public ID with [p...
- **[download_backup](image_upload_api_reference_download_backup.md)**: Retrieves a specific version of a [backed up asset](backups_and_version_management#versioning) without restoring it.
- **[Metadata management](image_upload_api_reference_metadata_management.md)**: Enables you to manage your assets' metadata.
- **[context](image_upload_api_reference_context.md)**: Enables you to manage the contextual metadata stored with an asset.
- **[metadata](image_upload_api_reference_metadata.md)**: Adds values to an asset's metadata fields.
- **[tags](image_upload_api_reference_tags.md)**: Enables you to manage the set of tags stored with an asset.
- **[Asset generation](image_upload_api_reference_asset_generation.md)**: Enables you to create different types of assets from existing assets. The generated assets are stored as new assets in your product environment.
- **[explode](image_upload_api_reference_explode.md)**: Generates derived images for each of the individual pages/frames in a multi-page file (PDF or animated image).
- **[generate_archive](image_upload_api_reference_generate_archive.md)**: Creates an archive file that contains all the assets meeting specified tag, public ID, or prefix criteria (or a combination thereof).
- **[multi](image_upload_api_reference_multi.md)**: Creates a single animated image (GIF, PNG or WebP), video (MP4 or WebM) or PDF from all image assets with a specified tag or from a set of specified image URLs.
- **[text](image_upload_api_reference_text.md)**: Dynamically generates an image from a specified text string.
