Cloudinary Upload API

Asset upload and management.

OpenAPI Specification

cloudinary-upload-api-openapi.yml Raw ↑
openapi: 3.1.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:
    GenericResponse:
      type: object
      additionalProperties: true
    GenericRequest:
      type: object
      additionalProperties: true
    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
    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
  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