Cloudinary Upload API

Asset upload and management.

Operations 6

POST /{resource_type}/upload Upload an asset #
POST /{resource_type}/rename Rename an asset #
POST /{resource_type}/destroy Delete an asset #
POST /{resource_type}/tags Manage asset tags #
POST /{resource_type}/context Update contextual metadata #
POST /{resource_type}/metadata Update structured metadata #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudinary-upload-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloudinary-upload-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cloudinary Backup Upload API
  description: The Cloudinary Upload API provides server-side endpoints for uploading, transforming, renaming, and managing assets (images, videos, raw files) in a Cloudinary product environment. Endpoints are versioned under /v1_1/{cloud_name}/{resource_type} and use HTTP Basic Auth with API key and secret.
  version: 1.0.0
  contact:
    name: Cloudinary Support
    url: https://cloudinary.com/contact
  license:
    name: Proprietary
    url: https://cloudinary.com/tos
servers:
- url: https://api.cloudinary.com/v1_1/{cloud_name}
  description: Cloudinary Upload API base
  variables:
    cloud_name:
      default: YOUR_CLOUD_NAME
      description: Your Cloudinary cloud name
security:
- basicAuth: []
tags:
- name: Upload
  description: Asset upload and management.
paths:
  /{resource_type}/upload:
    post:
      operationId: uploadAsset
      summary: Upload an asset
      description: Upload an image, video, or raw file to the product environment.
      tags:
      - Upload
      parameters:
      - name: resource_type
        in: path
        required: true
        schema:
          type: string
          enum:
          - image
          - video
          - raw
          - auto
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadRequest'
      responses:
        '200':
          description: Asset uploaded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
  /{resource_type}/rename:
    post:
      operationId: renameAsset
      summary: Rename an asset
      description: Modify the public ID of an existing asset.
      tags:
      - Upload
      parameters:
      - name: resource_type
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenericRequest'
      responses:
        '200':
          description: Asset renamed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
  /{resource_type}/destroy:
    post:
      operationId: destroyAsset
      summary: Delete an asset
      description: Permanently delete a single asset by public ID.
      tags:
      - Upload
      parameters:
      - name: resource_type
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenericRequest'
      responses:
        '200':
          description: Asset deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /{resource_type}/tags:
    post:
      operationId: manageTags
      summary: Manage asset tags
      description: Add, remove, or replace tags on existing assets.
      tags:
      - Upload
      parameters:
      - name: resource_type
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenericRequest'
      responses:
        '200':
          description: Tags updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /{resource_type}/context:
    post:
      operationId: manageContext
      summary: Update contextual metadata
      description: Add or remove contextual metadata key-value pairs on assets.
      tags:
      - Upload
      parameters:
      - name: resource_type
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenericRequest'
      responses:
        '200':
          description: Context updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /{resource_type}/metadata:
    post:
      operationId: updateMetadata
      summary: Update structured metadata
      description: Update structured metadata fields for one or more assets.
      tags:
      - Upload
      parameters:
      - name: resource_type
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenericRequest'
      responses:
        '200':
          description: Metadata updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
components:
  schemas:
    Asset:
      type: object
      properties:
        asset_id:
          type: string
        public_id:
          type: string
        version:
          type: integer
        format:
          type: string
        resource_type:
          type: string
        secure_url:
          type: string
          format: uri
      additionalProperties: true
    GenericRequest:
      type: object
      additionalProperties: true
    UploadRequest:
      type: object
      properties:
        file:
          type: string
          description: File data, URL, or base64 encoded payload.
        public_id:
          type: string
        timestamp:
          type: integer
        signature:
          type: string
        api_key:
          type: string
      additionalProperties: true
    GenericResponse:
      type: object
      additionalProperties: true
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic auth using API key as username and API secret as password.
x-generated-from: https://cloudinary.com/documentation/image_upload_api_reference
x-generated-by: claude-crawl-2026-05-08