# Cloudinary Integration via LowCodeAPI
**Last Updated**: February 10, 2026
## Overview
Image and video management
**Categories:**
- {'id': 'cloud-storage', 'name': 'Cloud Storage', 'description': 'File storage, cloud storage, and content delivery services', 'priority': 5}
## Base Endpoint
https://api.lowcodeapi.com/cloudinary
**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`
## Authentication
**Type:** TOKEN
**Official Documentation:** https://cloudinary.com/documentation/admin_api
## URL Format (Important)
LowCodeAPI supports two URL formats. **Always try the New Format first**, then fall back to Old Format if needed.
### New Format (Priority)
- Path parameters stay in the URL path
- Do NOT include path parameters as query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/{id}?api_token=XXX`
### Old Format (Fallback)
- Path parameters become query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/id?id={id}&api_token=XXX`
### Decision Flow for AI Agents
1. Always use **New Format** first - keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider
## API Categories
## Common Endpoints
### Get root folders
**Method:** GET
**LowCodeAPI Path:** /v1_1/{cloud_name}/folders
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/folders?cloud_name={cloud_name}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/admin_api#get_root_folders
### Get subfolders
**Method:** GET
**LowCodeAPI Path:** /v1_1/{cloud_name}/folders/{folder}
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders/{folder}?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/folders/folder?cloud_name={cloud_name}&folder={folder}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| folder | string | |
**Query Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| max_results | number | |
| next_cursor | String | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders/{folder}?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/admin_api#get_subfolders
### Create folder
**Method:** POST
**LowCodeAPI Path:** /v1_1/{cloud_name}/folders/{folder}
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders/{folder}?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/folders/folder?cloud_name={cloud_name}&folder={folder}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| folder | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders/{folder}?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/admin_api#create_folder
### Delete folder
**Method:** DELETE
**LowCodeAPI Path:** /v1_1/{cloud_name}/folders/{folder}
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders/{folder}?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/folders/folder?cloud_name={cloud_name}&folder={folder}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| folder | string | |
**Example Request (New Format):**
```bash
curl -X DELETE 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/folders/{folder}?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/admin_api#delete_folder
### Get metadata field
**Method:** GET
**LowCodeAPI Path:** /v1_1/{cloud_name}/metadata_fields
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/metadata_fields?cloud_name={cloud_name}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/metadata_api#get_metadata_fields
### Get a metadata field by external ID
**Method:** GET
**LowCodeAPI Path:** /v1_1/{cloud_name}/metadata_fields/{external_id}
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/metadata_fields/external_id?cloud_name={cloud_name}&external_id={external_id}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| external_id | string | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/metadata_api#get_a_metadata_field_by_external_id
### Create a metadata field
**Method:** POST
**LowCodeAPI Path:** /v1_1/{cloud_name}/metadata_fields
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/metadata_fields?cloud_name={cloud_name}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| field | object | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/metadata_api#create_a_metadata_field
### Restore entries in a metadata field datasource
**Method:** POST
**LowCodeAPI Path:** /v1_1/{cloud_name}/metadata_fields/{external_id}/datasource_restore
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}/datasource_restore?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/metadata_fields/external_id/datasource_restore?cloud_name={cloud_name}&external_id={external_id}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| external_id | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| external_ids | array | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}/datasource_restore?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/metadata_api#restore_entries_in_a_metadata_field_datasource
### Update a metadata field by external ID
**Method:** PUT
**LowCodeAPI Path:** /v1_1/{cloud_name}/metadata_fields/{external_id}
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/metadata_fields/external_id?cloud_name={cloud_name}&external_id={external_id}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| external_id | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| field | object | |
**Example Request (New Format):**
```bash
curl -X PUT 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/metadata_api#update_a_metadata_field_by_external_id
### Update a metadata field datasource
**Method:** PUT
**LowCodeAPI Path:** /v1_1/{cloud_name}/metadata_fields/{external_id}/datasource
**New Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}/datasource?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/cloudinary/v1_1/cloud_name/metadata_fields/external_id/datasource?cloud_name={cloud_name}&external_id={external_id}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| cloud_name | string | |
| external_id | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| entries | object | |
**Example Request (New Format):**
```bash
curl -X PUT 'https://api.lowcodeapi.com/cloudinary/v1_1/{cloud_name}/metadata_fields/{external_id}/datasource?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://cloudinary.com/documentation/metadata_api#update_a_metadata_field_datasource
## Usage Examples
### Example 1: Upload a File
Uploading a file to storage:
```bash
# Upload a file - no path parameters needed
curl -X POST "https://api.lowcodeapi.com/cloudinary/upload?api_token=YOUR_API_TOKEN" \
-F "file=@/path/to/your/file.jpg"
# Response returns file ID or URL
```
### Example 2: List Files
```bash
# Get list of all files
curl -X GET "https://api.lowcodeapi.com/cloudinary/files?api_token=YOUR_API_TOKEN"
```
### Example 3: Retrieve Specific File
```bash
# Get specific file by ID
curl -X GET "https://api.lowcodeapi.com/cloudinary/files/{FILE_ID}?api_token=YOUR_API_TOKEN"
# Delete file
curl -X DELETE "https://api.lowcodeapi.com/cloudinary/files/{FILE_ID}?api_token=YOUR_API_TOKEN"
```
## Error Handling
LowCodeAPI returns standard HTTP status codes. Common errors:
| Status Code | Description |
|-------------|-------------|
| 200 | Success - Request completed successfully |
| 400 | Bad Request - Invalid parameters or request body |
| 401 | Unauthorized - Invalid or missing API token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Endpoint or resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Server Error - Provider API error |
All error responses include error details:
```json
{
"data": {
"error": {
"message": "Error description",
"code": "ERROR_CODE"
}
}
}
```
## Complete Endpoint Reference
| Endpoint | Method | Category |
|----------|--------|----------|
| Get root folders | GET | Admin / Folders |
| Get subfolders | GET | Admin / Folders |
| Create folder | POST | Admin / Folders |
| Delete folder | DELETE | Admin / Folders |
| Get metadata field | GET | Structured metadata / Metadata |
| Get a metadata field by external ID | GET | Structured metadata / Metadata |
| Create a metadata field | POST | Structured metadata / Metadata |
| Restore entries in a metadata field datasource | POST | Structured metadata / Metadata |
| Update a metadata field by external ID | PUT | Structured metadata / Metadata |
| Update a metadata field datasource | PUT | Structured metadata / Metadata |
| Delete a metadata field by external ID | DELETE | Structured metadata / Metadata |
| Delete entries in a metadata field datasource | DELETE | Structured metadata / Metadata |
| Get metadata rules | GET | Structured metadata / Conditional metadata rules |
| Create a metadata rule | POST | Structured metadata / Conditional metadata rules |
| Update a metadata rule by id | PUT | Structured metadata / Conditional metadata rules |
| Delete a metadata rule by id | DELETE | Structured metadata / Conditional metadata rules |
| Pings Cloudinary servers | GET | Admin / Ping |
| Lists resources (assets) with a specified tag | GET | Admin / Resources |
| Retrieves resources (assets) with a specified cont... | GET | Admin / Resources |
| Retrieves resources (assets) with a particular sta... | GET | Admin / Resources |
| Return details of the requested resource (asset) a... | GET | Admin / Resources |
| Find the specific assets in your product environme... | GET | Search / Search method |
| Update one or more of the attributes associated wi... | POST | Admin / Resources |
| Restores one or more resources (assets) from backu... | POST | Admin / Resources |
| Update the access_mode of resources (assets) by pu... | POST | Admin / Resources |
| Relates an asset to other assets by public IDs | POST | Admin / Resources |
| Unrelates related assets by public IDs | DELETE | Admin / Resources |
| Deletes resources by public IDs | DELETE | Admin / Resources |
| Deletes resources by tags | DELETE | Admin / Resources |
| Deletes derived resources | DELETE | Admin / Resources |
| Lists the List streaming profiles | GET | Admin / Streaming profiles |
| Lists the details of a single streaming profile by... | GET | Admin / Streaming profiles |
| Create a new streaming profile | POST | Admin / Streaming profiles |
| Update the specified existing streaming profile | PUT | Admin / Streaming profiles |
| Deletes and reverts the specified streaming profil... | DELETE | Admin / Streaming profiles |
| List tags used for a specified resource_type | GET | Admin / Tags |
| List all transformations | GET | Admin / Transformations |
| List details of a single transformation specified ... | GET | Admin / Transformations |
| Create a new named transformation | POST | Admin / Transformations |
| Update a specific transformation | PUT | Admin / Transformations |
| Delete a specified transformation | DELETE | Admin / Transformations |
| List all upload mappings by folder | GET | Admin / Upload mappings |
| List the details of single upload mapping | GET | Admin / Upload mappings |
| Create a new upload mapping folder and its templat... | POST | Admin / Upload mappings |
| Update an existing upload mapping folder with a ne... | PUT | Admin / Upload mappings |
| Delete an upload mapping by folder name | DELETE | Admin / Upload mappings |
| Lists the upload presets defined for your product ... | GET | Admin / Upload presets |
| Lists the details of a single upload preset | GET | Admin / Upload presets |
| Create a new upload preset | POST | Admin / Upload presets |
| Update an existing upload preset | PUT | Admin / Upload presets |
| Delete an existing upload preset | DELETE | Admin / Upload presets |
| Lists product environment usage details | GET | Admin / Usages |
| Invalidate all caches | POST | Media Optimizer / Cache invalidation |
| Warm up the cache | POST | Media Optimizer / Cache warmup |
| Get all domains | GET | Media Optimizer / Domains |
| Get all mapping functions | GET | Media Optimizer / Mapping functions |
| Get details of a mapping function | GET | Media Optimizer / Mapping functions |
| Create a mapping function | POST | Media Optimizer / Mapping functions |
| Update a mapping function | PUT | Media Optimizer / Mapping functions |
| Delete a mapping function | DELETE | Media Optimizer / Mapping functions |
| Get all media sources | GET | Media Optimizer / Media sources |
| Get details of a media source | GET | Media Optimizer / Media sources |
| Create a media source | POST | Media Optimizer / Media sources |
| Update a media source | PUT | Media Optimizer / Media sources |
| Delete a media source | DELETE | Media Optimizer / Media sources |
| Get optimization profiles | GET | Media Optimizer / Optimization profiles |
| Get optimization profile details | GET | Media Optimizer / Optimization profiles |
| Create an optimization profile | POST | Media Optimizer / Optimization profiles |
| Update an optimization profile | PUT | Media Optimizer / Optimization profiles |
| Delete an optimization profile | DELETE | Media Optimizer / Optimization profiles |
| Ping Media Optimizer servers | GET | Media Optimizer / Ping |
| Get all transformations | GET | Media Optimizer / Transformations |
| Get details of a transformation | GET | Media Optimizer / Transformations |
| Create a named transformation | POST | Media Optimizer / Transformations |
| Update a transformation | PUT | Media Optimizer / Transformations |
| Delete a transformation | DELETE | Media Optimizer / Transformations |
| Get account usage details | GET | Media Optimizer / Usages |
| Get product environments | GET | Provisioning / Product environments |
| Create product environment | POST | Provisioning / Product environments |
| Update product environment | PUT | Provisioning / Product environments |
| Delete product environment | DELETE | Provisioning / Product environments |
| Get user groups | GET | Provisioning / User group |
| Get a user group | GET | Provisioning / User group |
| Get the users in a user group | GET | Provisioning / User group |
| Create a user group | POST | Provisioning / User group |
| Add a user to a group | POST | Provisioning / User group |
| Update a user group | PUT | Provisioning / User group |
| Delete a user group | DELETE | Provisioning / User group |
| Remove a user group | DELETE | Provisioning / User group |
| Get users | GET | Provisioning / Users |
| Get user | GET | Provisioning / Users |
| Create user | POST | Provisioning / Users |
| Update user | PUT | Provisioning / Users |
| Delete user | DELETE | Provisioning / Users |
| Creates a collage from existing assets | POST | Upload / Assets generation |
| Creates a slideshow from existing assets | POST | Upload / Assets generation |
| Creates a video from existing assets | POST | Upload / Assets generation |
| Derives images for the individual pages in a muli-... | POST | Upload / Assets generation |
| Creates a archive file from existing assets | POST | Upload / Assets generation |
| Generates animated images, videos, or PDFs from ex... | POST | Upload / Assets generation |
| Creates a sprite from existing assets | POST | Upload / Assets generation |
| Dynamically generates an image from a given textua... | POST | Upload / Assets generation |
| Uploads an assets to a Cloudinary product envirome... | POST | Upload / Assets management |
| Applies actions to alerady uploaded assets | POST | Upload / Assets management |
| Rename an assets | POST | Upload / Assets management |
| Destroy an assets | POST | Upload / Assets management |
| Gets a specific version of a backed-up assets | GET | Upload / Assets management |
| Remove Context | POST | Upload / Metadata management |
| Adds values to metadata fields | POST | Upload / Metadata management |
| Manages the tags applied to your assets | POST | Upload / Metadata management |
## API Definition Endpoints
You can fetch the complete API specification for this provider:
**New Format (OpenAPI spec):**
```bash
curl 'https://backend.lowcodeapi.com/cloudinary/openapi'
```
**Old Format (API definition):**
```bash
curl 'https://backend.lowcodeapi.com/cloudinary/definition'
```
## Response Format
All responses are wrapped in a `data` key:
```json
{
"data": {
// Actual response from provider (object or array)
}
}
```