Pipory
Node reference

Cloudinary

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.

Requirements

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.

Operations (149)

Upload API: assets

OperationWhat it doesRequirement
uploadUpload 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)
uploadFromUrlUpload 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)
destroyDelete 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)
deleteByPublicIdDelete 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)
renameRename / 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)
explicitApply 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)
explodeExplode 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)
downloadBackupGet 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)
deleteByTokenDelete 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)

Upload API: tags, context & metadata

OperationWhat it doesRequirement
addTagsAdd 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)
removeTagsRemove 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)
replaceTagsReplace 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)
removeAllTagsRemove 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)
addContextAdd 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)
removeAllContextRemove 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)
updateAssetsMetadataSet 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)

Upload API: generated assets

OperationWhat it doesRequirement
generateArchiveCreate 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)
downloadArchiveCreate 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)
createAndDownloadArchiveCreate 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)
createAnimatedImageCombine 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)
createTextImageRender 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)

Admin API: browse assets

OperationWhat it doesRequirement
listResourcesList 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)
listResourcesByTypeList 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)
listResourcesByTagList 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)
listResourcesByContextList 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)
listResourcesByModerationList 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)
listResourcesByAssetIdsList 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)
listResourcesByAssetFolderList 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)
getResourceGet 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)
getResourceByAssetIdGet 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)
listTagsList 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)

Admin API: manage assets

OperationWhat it doesRequirement
updateResourceUpdate 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)
updateResourceByAssetIdUpdate 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)
restoreResourcesRestore 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)
restoreResourcesByAssetIdsRestore 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)
updateAccessModeChange 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)
deleteResourcesDelete 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)
deleteResourcesByAssetIdsDelete 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)
deleteResourcesByPrefixDelete 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)
deleteResourcesByTagDelete 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)
deleteAllResourcesDelete 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)
deleteDerivedResourcesDelete 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)
deleteDerivedByTransformationDelete 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)
deleteAssetBackupDelete 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)
OperationWhat it doesRequirement
relateAssetsRelate 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)
unrelateAssetsUnrelate 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)
relateAssetsByAssetIdRelate 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)
unrelateAssetsByAssetIdUnrelate 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)
OperationWhat it doesRequirement
searchAssetsSearch 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)
searchFoldersSearch 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)
visualSearchVisual 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)

Admin API: folders

OperationWhat it doesRequirement
listRootFoldersList 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)
listSubfoldersList 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)
createFolderCreate 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)
renameFolderRename / 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)
deleteFolderDelete 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)
listFolderInvitesList 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)
manageFolderInviteGrant / 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)

Admin API: transformations

OperationWhat it doesRequirement
listTransformationsList 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)
getTransformationGet 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)
createTransformationCreate 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)
updateTransformationUpdate 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)
deleteTransformationDelete 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)

Admin API: upload presets

OperationWhat it doesRequirement
listUploadPresetsList 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)
getUploadPresetGet 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)
createUploadPresetCreate 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)
updateUploadPresetUpdate 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)
deleteUploadPresetDelete 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)

Admin API: upload mappings

OperationWhat it doesRequirement
listUploadMappingsList 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)
getUploadMappingGet 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)
createUploadMappingCreate 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)
updateUploadMappingUpdate 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)
deleteUploadMappingDelete 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)

Admin API: streaming profiles

OperationWhat it doesRequirement
listStreamingProfilesList 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)
getStreamingProfileGet 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)
createStreamingProfileCreate 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)
updateStreamingProfileUpdate 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)
deleteStreamingProfileDelete 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)

Admin API: structured metadata fields

OperationWhat it doesRequirement
listMetadataFieldsList 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)
getMetadataFieldGet 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)
createMetadataFieldCreate 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)
updateMetadataFieldUpdate 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)
deleteMetadataFieldDelete 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)
updateMetadataDatasourceUpdate 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)
deleteMetadataDatasourceEntriesDelete 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)
restoreMetadataDatasourceEntriesRestore 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)
orderMetadataDatasourceOrder 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)
searchMetadataDatasourceSearch 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)

Admin API: metadata rules

OperationWhat it doesRequirement
listMetadataRulesList 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)
createMetadataRuleCreate 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)
updateMetadataRuleUpdate 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)
deleteMetadataRuleDelete 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)

Admin API: people (AI recognition add-on)

OperationWhat it doesRequirement
listPeopleList 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)
getPersonGet 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)
listPersonAssetsList 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)
updatePersonUpdate 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)

Admin API: notification triggers

OperationWhat it doesRequirement
listTriggersList 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)
createTriggerCreate 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)
updateTriggerUpdate 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)
testTriggerTest 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)
deleteTriggerDelete 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)

Admin API: account, usage & reports

OperationWhat it doesRequirement
pingPing(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)
getUsageGet 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)
getUsageByDateGet 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)
getConfigGet 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)
createLastAccessReportRequest 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)
listLastAccessReportsList 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)
getLastAccessReportGet 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)
getLastAccessReportResourcesGet 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)

Analyze API (beta)

OperationWhat it doesRequirement
analyzeUriAnalyze 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)
getAnalysisTaskGet 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)

Live streaming

OperationWhat it doesRequirement
listLiveStreamsList 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)
createLiveStreamCreate 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)
getLiveStreamGet 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)
updateLiveStreamUpdate 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)
deleteLiveStreamDelete 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)
activateLiveStreamActivate 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)
idleLiveStreamIdle 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)
listLiveStreamOutputsList 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)
createLiveStreamOutputCreate 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)
getLiveStreamOutputGet 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)
updateLiveStreamOutputUpdate 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)
deleteLiveStreamOutputDelete 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)

Video player & analytics

OperationWhat it doesRequirement
listPlayerProfilesList 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)
getPlayerProfileGet 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)
updatePlayerProfileCreate / 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)
deletePlayerProfileDelete 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)
getVideoPlayerConfigGet 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)
updateVideoPlayerConfigUpdate 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)
listVideoViewsList 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)
startVideoAnalysisStart 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)
getVideoAnalysisGet 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)

Video canvas (beta)

OperationWhat it doesRequirement
listVideoCanvasAppletsList 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)
createVideoCanvasAppletCreate 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)
getVideoCanvasAppletGet 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)
updateVideoCanvasAppletUpdate 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)
deleteVideoCanvasAppletDelete 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)

Image generation

OperationWhat it doesRequirement
textToImageGenerate 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)
imageToImageGenerate 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)
getGenerationTaskGet 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)

Creative approval

OperationWhat it doesRequirement
listReviewersList 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)
createReviewerCreate 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)
createProofCreate 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)
searchProofsSearch 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)
getProofGet 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)
deleteProofDelete 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)
listApprovalFlowsList 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)
createApprovalFlowCreate 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)
deleteApprovalFlowDelete 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)