Cloudinary node reference - all 149 operations, the credential it needs, and a worked example.
Cloudinary integration (Files & docs). 149 operations across the Upload API (upload, rename, destroy, explicit, explode, archives, animations, text images, tags, context and structured metadata), the Admin API (browse, search and visual search, asset detail and update, restore and bulk delete, derived assets, related assets, folders and folder access, transformations, upload presets and mappings, streaming profiles, structured metadata fields and rules, AI people, notification triggers, usage, config and last-access reports), the Analyze API, live streaming, video player profiles and analytics, video canvas, image generation and creative approval.
Credential: Cloudinary API credentials - see Credentials.
Each operation below lists the requirement it needs. Requirements are not ticked anywhere - Cloudinary publishes NO scopes, permissions or capabilities. One product-environment key pair (cloudName + apiKey + apiSecret, from Settings > API Keys) reaches every endpoint that environment exposes, and the OAuth alternative is a second front door to the same access rather than a narrower one. So a 401 is never a missing checkbox: it is the wrong cloud name (it is part of the URL, so a wrong one is indistinguishable from a wrong key), a revoked secret, or - the expensive case - a call aimed at a plane this credential structurally cannot reach. What DOES vary per operation, and what the column below states, is four things. Which PLANE the call lands on, because only the Admin API is hourly rate limited (500 requests/hour on Free, 2,000+/hour on paid) and it answers HTTP 420, not 429, which most HTTP tooling reports as the meaningless "Enhance Your Calm"; the Upload API has no hourly cap at all, so routing bulk tag, context and metadata edits through the Upload operations instead of the Admin ones is a documented way to stop burning that quota. PLAN gates - visual search, folder access grants, creative approval and the regional data-residency hosts are Enterprise-only, and the endpoint exists on every account and simply refuses on lower ones. ADD-ON gates - the People endpoints need AI recognition purchased, and without it they behave as though the data is merely absent. BETA gates - Analyze, image generation, AI video analysis and video canvas are public beta and can be switched off per account. Two operations sit outside all of that: Delete by upload token takes NO credential (the ~10-minute token returned by the upload is the authorization), and Rename/move folder additionally needs the environment to be in dynamic folder mode, which product environments created before 4 June 2024 may not be - read it back with Get environment config. The gate no key in this credential can pass: Cloudinary's Provisioning API (/v1_1/provisioning/accounts/{id}/... - sub-accounts, users, user groups, access keys) and its Permissions API (/v2/accounts/{id}/permissions) accept ONLY the account-level Account Management Key and Secret, a different pair issued on a different Console page (Settings > Account Management Keys) and scoped to the ACCOUNT rather than a product environment. Neither plane appears in this node, because no operation on it could ever authenticate against them. If a run fails with a permission error, the node names the missing requirement in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Requirement |
|---|
upload | Upload asset | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
uploadFromUrl | Upload from URL (legacy) | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
destroy | Delete asset | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
deleteByPublicId | Delete by public ID (legacy) | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
rename | Rename / move asset | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
explicit | Apply transformations to a stored asset | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
explode | Explode a multi-page asset | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
downloadBackup | Get a backed-up version | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
deleteByToken | Delete by upload token | (no credential at all — the delete token returned by the upload is the authorization, and it expires roughly ten minutes after that upload) |
| Operation | What it does | Requirement |
|---|
addTags | Add tags to assets | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
removeTags | Remove tags from assets | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
replaceTags | Replace all tags on assets | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
removeAllTags | Remove every tag from assets | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
addContext | Add contextual metadata | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
removeAllContext | Remove all contextual metadata | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
updateAssetsMetadata | Set structured metadata on assets | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
| Operation | What it does | Requirement |
|---|
generateArchive | Create an archive (stored) | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
downloadArchive | Create an archive (download URL) | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
createAndDownloadArchive | Create an archive (store + URL) | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
createAnimatedImage | Combine images into an animation | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
createTextImage | Render text as an image | (nothing beyond the API key and secret — this is an Upload API call, signed per request, and the Upload API is not hourly rate limited) |
| Operation | What it does | Requirement |
|---|
listResources | List assets | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listResourcesByType | List assets by delivery type | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listResourcesByTag | List assets by tag | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listResourcesByContext | List assets by context key | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listResourcesByModeration | List assets in a moderation queue | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listResourcesByAssetIds | List assets by asset ID | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listResourcesByAssetFolder | List assets in an asset folder | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getResource | Get asset details | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getResourceByAssetId | Get asset details by asset ID | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listTags | List tags in use | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
updateResource | Update asset details | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateResourceByAssetId | Update asset details by asset ID | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
restoreResources | Restore deleted assets | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
restoreResourcesByAssetIds | Restore deleted assets by asset ID | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateAccessMode | Change access mode in bulk | (the API key and secret — an Admin API call, and one Cloudinary marks deprecated: prefer setting access control at upload time) |
deleteResources | Delete assets by public ID | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteResourcesByAssetIds | Delete assets by asset ID | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteResourcesByPrefix | Delete assets by prefix | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteResourcesByTag | Delete assets by tag | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteAllResources | Delete every asset of a type | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteDerivedResources | Delete derived assets | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteDerivedByTransformation | Delete derived by transformation | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteAssetBackup | Delete an asset's backed-up versions | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
relateAssets | Relate assets (by public ID) | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
unrelateAssets | Unrelate assets (by public ID) | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
relateAssetsByAssetId | Relate assets (by asset ID) | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
unrelateAssetsByAssetId | Unrelate assets (by asset ID) | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
searchAssets | Search assets | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
searchFolders | Search folders | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
visualSearch | Visual search | (the API key and secret plus an Enterprise plan, and the assets must already be indexed — visual search only matches assets uploaded or updated with visual_search enabled) |
| Operation | What it does | Requirement |
|---|
listRootFolders | List root folders | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listSubfolders | List subfolders | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createFolder | Create folder | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
renameFolder | Rename / move folder | (the API key and secret plus dynamic folder mode — product environments created before 4 June 2024 may still be in fixed mode, where moving a folder is refused no matter what the credential is; check with Get environment config) |
deleteFolder | Delete folder | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listFolderInvites | List folder access grants | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
manageFolderInvite | Grant / revoke folder access | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
| Operation | What it does | Requirement |
|---|
listTransformations | List transformations | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getTransformation | Get transformation | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createTransformation | Create named transformation | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateTransformation | Update transformation | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteTransformation | Delete transformation | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
listUploadPresets | List upload presets | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getUploadPreset | Get upload preset | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createUploadPreset | Create upload preset | (the API key and secret — an Admin API call. Note it overwrites an existing preset of the same name rather than refusing, so treat it as an upsert) |
updateUploadPreset | Update upload preset | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteUploadPreset | Delete upload preset | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
listUploadMappings | List upload mappings | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getUploadMapping | Get upload mapping | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createUploadMapping | Create upload mapping | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateUploadMapping | Update upload mapping | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteUploadMapping | Delete upload mapping | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
listStreamingProfiles | List streaming profiles | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getStreamingProfile | Get streaming profile | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createStreamingProfile | Create streaming profile | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateStreamingProfile | Update streaming profile | (the API key and secret — an Admin API call. Note the representations list is replaced wholesale, not merged, so send the complete set every time) |
deleteStreamingProfile | Delete streaming profile | (the API key and secret — an Admin API call. On a modified built-in profile this reverts it rather than deleting; on an untouched built-in it errors) |
| Operation | What it does | Requirement |
|---|
listMetadataFields | List metadata fields | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getMetadataField | Get metadata field | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createMetadataField | Create metadata field | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateMetadataField | Update metadata field | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteMetadataField | Delete metadata field | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateMetadataDatasource | Update datasource entries | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteMetadataDatasourceEntries | Delete datasource entries | (the API key and secret — an Admin API call, and a SOFT delete: entries move to the inactive state and can be brought back with Restore datasource entries) |
restoreMetadataDatasourceEntries | Restore datasource entries | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
orderMetadataDatasource | Order datasource entries | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
searchMetadataDatasource | Search datasource entries | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
listMetadataRules | List metadata rules | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createMetadataRule | Create metadata rule | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateMetadataRule | Update metadata rule | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteMetadataRule | Delete metadata rule | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
listPeople | List people | (the API key and secret plus the AI recognition add-on enabled on the product environment — without it the endpoint answers as if the resource is absent) |
getPerson | Get person | (the API key and secret plus the AI recognition add-on enabled on the product environment — without it the endpoint answers as if the resource is absent) |
listPersonAssets | List a person's assets | (the API key and secret plus the AI recognition add-on enabled on the product environment — without it the endpoint answers as if the resource is absent) |
updatePerson | Update person | (the API key and secret plus the AI recognition add-on enabled on the product environment — without it the endpoint answers as if the resource is absent) |
| Operation | What it does | Requirement |
|---|
listTriggers | List notification triggers | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createTrigger | Create notification trigger | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
updateTrigger | Update notification trigger | (the API key and secret — an Admin API call. The new URL goes in new_uri rather than uri, and the event type cannot be changed after creation) |
testTrigger | Test a trigger's filter | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
deleteTrigger | Delete notification trigger | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
ping | Ping | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getUsage | Get current usage | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getUsageByDate | Get usage for a date | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getConfig | Get environment config | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
createLastAccessReport | Request a last-access report | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
listLastAccessReports | List last-access reports | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getLastAccessReport | Get a last-access report | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
getLastAccessReportResources | Get a report's assets | (nothing beyond the API key and secret — this is an Admin API call over HTTP Basic, and it counts against the hourly Admin limit of 500/hr on Free or 2,000+/hr on paid plans, answered with HTTP 420) |
| Operation | What it does | Requirement |
|---|
analyzeUri | Analyze an asset | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
getAnalysisTask | Get analysis task status | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
| Operation | What it does | Requirement |
|---|
listLiveStreams | List live streams | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
createLiveStream | Create live stream | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
getLiveStream | Get live stream | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
updateLiveStream | Update live stream | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
deleteLiveStream | Delete live stream | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
activateLiveStream | Activate live stream | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
idleLiveStream | Idle live stream | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
listLiveStreamOutputs | List stream outputs | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
createLiveStreamOutput | Create stream output | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
getLiveStreamOutput | Get stream output | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
updateLiveStreamOutput | Update stream output | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
deleteLiveStreamOutput | Delete stream output | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
| Operation | What it does | Requirement |
|---|
listPlayerProfiles | List video player profiles | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
getPlayerProfile | Get video player profile | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
updatePlayerProfile | Create / update player profile | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
deletePlayerProfile | Delete player profile | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
getVideoPlayerConfig | Get a video's player config | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
updateVideoPlayerConfig | Update a video's player config | (nothing beyond the API key and secret — this is the v2 video service over HTTP Basic, but the account needs the relevant video capability enabled) |
listVideoViews | List video analytics views | (the API key and secret plus Video Analytics enabled on the account — this endpoint is on the v1_1 host, not the v2 video service, and no Cloudinary SDK wraps it) |
startVideoAnalysis | Start AI video analysis | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
getVideoAnalysis | Get AI video analysis job | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
| Operation | What it does | Requirement |
|---|
listVideoCanvasApplets | List video canvas applets | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
createVideoCanvasApplet | Create video canvas applet | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
getVideoCanvasApplet | Get video canvas applet | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
updateVideoCanvasApplet | Update video canvas applet | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
deleteVideoCanvasApplet | Delete video canvas applet | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
| Operation | What it does | Requirement |
|---|
textToImage | Generate an image from text | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
imageToImage | Generate an image from an image | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
getGenerationTask | Get generation task status | (the API key and secret plus the feature switched on for the account — this API is in public beta, so a correct request can still be refused until Cloudinary enables it) |
| Operation | What it does | Requirement |
|---|
listReviewers | List reviewers | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
createReviewer | Create reviewer | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
createProof | Create proof | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
searchProofs | Search proofs | (the API key and secret plus the Creative Approval feature enabled — note this search IS the list endpoint; a plain GET on the proofs collection is not routed) |
getProof | Get proof | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
deleteProof | Delete proof | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
listApprovalFlows | List approval flows | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
createApprovalFlow | Create approval flow | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |
deleteApprovalFlow | Delete approval flow | (the API key and secret plus an Enterprise plan — the endpoint exists on every account but refuses the call on lower plans, which reads as a credential problem and is not one) |