DAM Wiki
API reference · data as of 2026-10-13

DAM APIs compared

From the summary fields at the top of each solution’s API page. Click a value to open that API page; pills open the cited source.

21 APIs shown

API characteristics of documented DAM platforms
SolutionAPI base URLAPI stylesAuthenticationToken lifetimeRate limitPaginationWebhooks (API)API specOfficial SDKsSourcesVerified
Acquia DAM APIhttps://api.widencollective.com/v2RESTOAuth 2.0 authorization code, Personal tokenOAuth: non-expiring, or 8 h access + 6-month single-use refresh50 req/s per access token (HTTP 429); monthly call allowance by planoffset (limit max 100, offset max 10,000) or scroll_id for large setsAPI-managed, 9 asset events, optional HMAC signing; retries Not publicOpenAPI 3.0.1: v2 (78 operations) + v1 (49 operations)TypeScript/JavaScript (official, npm acquia-dam-sdk)S1S3S6S7S9S12S15S16S182026-10-01
AEM Assets APIhttps://author-p{program}-e{env}.adobeaemcloud.com/adobe/assetsRESTOAuth 2.0 client credentials, OAuth 2.0 authorization code, OAuth 2.0 PKCE, JWT~24 h (IMS access token, expires_in; refresh rules for user flows Unknown)Not public (429 + exponential backoff; thresholds via support ticket)cursor (limit 1-50 + opaque cursor)Adobe I/O Events: webhook (RSA-SHA256 signed), journal, EventBridgeOpenAPI 3.0.3 (6 archived spec files, 2026.07)No generated SDK; Node.js upload/events libs and Java AEM SDK (official)S2S4S6S8S9S12S15S16S25S26S28S85S112S1132026-10-13
Aprimo APIhttps://{tenant}.dam.aprimo.com/api/core/RESTOAuth 2.0 client credentials, OAuth 2.0 authorization code, OAuth 2.0 PKCEAccess 1-60 min per registration; refresh (PKCE only) 60 min-10 days, rotatedPer environment, shared by all clients; e.g. 15 req/s + burst 100; HTTP 429cursor (nextCursor); also skip/take, page/pageSize (max 1,000; records 100)DAM: UI-configured rules with HTTP POST action; PM: API webhooks, HMAC-signedOpenAPI 3.2 (219 paths) + OpenAPI 3.0.1 (content, PM) + PostmanNone official (JS Content Selector; unsupported open-source samples)S1S3S5S14S15S16S17S29S30S37S382026-09-30
Brandfolder APIhttps://brandfolder.com/api/v4RESTAPI keyNot public (no expiry, rotation or refresh documented)Not public; HTTP 429 per API keypage-based (page/per, default 100, max 3,000)API-managed, per Brandfolder, 3 asset events, up to 15 retries, no signatureOpenAPI 3.0.3 (45 paths / 73 operations)Python, PHP (inactive), Panel UI SDK (official)S1S4S5S6S8S11S13S21S22S232026-09-30
Brandworkz API{api_url}/v{api_version}/{client_id}/… (resolved via api.brandworkz.com/getAPIURL)RESToauth2-password, OAuth 2.0 authorization code, API keyexpires_in 1,200 s (20 min) in the doc example; refresh_token grantNot publicsimpleSearch from/size (default 50, max 500); start/numberOfResults, limit/offsetUnknown (only a webhookId parameter on importAsset)Postman collections: API v1.6 (159 requests) + Essentials API (5 requests)none official; assetInsert JS examples on GitHubS1S3S5S6S7S82026-10-01
Bynder APIhttps://{tenant}.bynder.com (/api/v4, /api/1, /v6, /v7 path families)RESTOAuth 2.0 authorization code, OAuth 2.0 client credentials, OAuth 2.0 PKCE, API keyAccess 1 h; refresh token does not expire; permanent tokens never expire4,500 requests per 5 min per public IP (HTTP 429)offset (page/limit, max 1,000); opt-in SOLR cursor; Analytics cursorUI- or API-managed, AWS SNS (HTTP(S), e-mail, SQS); Basic Auth, no signingOpenAPI 3.1 fragments per reference page (221 ops) + Postman; no full fileJS/Node, Python, PHP, Java, C# (official)S1S2S3S4S12S13S20S21S23S28S30S31S33S34S652026-10-01
Canto APIhttps://{tenant}.{region}/api/v1RESTOAuth 2.0 authorization code, OAuth 2.0 client credentialsAccess 30 days; refresh 365 days, rotated; no refresh for client_credentialsPer endpoint, 50-1,000 req/min by level; HTTP 429offset (start/limit, max 1,000); marker on reports; page on usersAdmin UI only, 14 event types, no retries (Product Hub: API-managed)OpenAPI 3.0.1 (11 files) + Postman collectionNone official (JS sample; community PHP clients)S1S2S3S8S9S12S14S19S20S62S1012026-09-30
Cloudinary APIhttps://api.cloudinary.com/v1_1/{cloud_name}/{action} (api-eu / api-ap for EU, AP)RESTBasic auth, API key, OAuth 2.0 authorization code, OAuth 2.0 PKCEOAuth: access 5 min, refresh 3 months (single-use); upload signatures 1 hAdmin API 500/h (Free) to 5,000/h, custom on Enterprise; HTTP 420; Upload API unlimitedcursor (next_cursor + max_results, max 100 or 500 per method)API- and UI-managed triggers, ~28 event types, HMAC-SHA1 / Ed25519 signed, 3 retriesOpenAPI 3.0.3 / 3.1.0: 12 schemas on GitHub + 3 in docs (15 files in specs/)Node, Python, PHP, Java, Ruby, .NET, Go, Dart, JS/React/Vue/Angular, iOS, Android, FlutterS6S8S10S11S14S15S16S21S26S672026-10-01
Frontify APIhttps://{tenant}/graphqlGraphQLOAuth 2.0 client credentials, OAuth 2.0 authorization code, OAuth 2.0 PKCE, Personal tokenOAuth 1 week-3 months (configurable); single-use refresh; dev tokens up to 1 year2,500 requests per 5-min rolling window; HTTP 429; query complexity capoffset (page/limit, default 25, max 100); cursor for searchAssetsAPI-managed (GraphQL), asset events only, HMAC-SHA256 signed, 10 retriesGraphQL SDL per member (no downloadable schema; assembled copy in specs/)No server-side SDK; official JS/TS Finder, Authenticator, Brand SDKS8S9S12S16S20S32S35S36S43S48S622026-09-30
Hyland Nuxeo APIhttps://{host}/nuxeo/api/v1REST, WebDAVBasic auth, Personal token, JWT, OAuth 2.0 authorization code, OAuth 2.0 PKCE, OAuth 2.0 client credentialsOAuth2 access ~1 h (expires_in 3599 in docs) + refresh token; login tokens: Not publicNot public (no throttling documented; Nuxeo Cloud reports API activity monthly)offset (currentPageIndex/pageSize/offset; pageSize max 1,000 by default)none native (server-side event listeners; Zapier add-on notification hooks)none static; runtime Swagger 1.2 explorer via optional, unmaintained add-onJava, JavaScript, Python (official); PHP partial; .NET archivedS2S3S4S6S7S15S16S23S25S26S27S28S29S58S67S942026-10-01
IntelligenceBank API{apiV3url}/api/3.0.1/{clientid}/… (apiV3url returned at login)RESTsession, OAuth 2.0 client credentialssid: user session length; OAuth access token 15 min (Beta)600 calls/min per user (1,800 in collection overview); call allowance per siteoffset in path: .limit(offset,n), n max 100, default 10; count returnedNone documented; Zapier app triggers (21) as workaroundPostman collection v2.0.0 (146 requests) + legacy v2 collection; no OpenAPINone official; npm UI component libs for integrations; doc-only MCP server repoS1S3S4S5S6S10S11S132026-10-01
Keepeek APIhttps://{tenant}.keepeek.com/apiRESTBasic auth, JWTJWT lifetime set by client (exp; sample 60 s); no refresh; max Not publicNot publicpage-based (page/size, default 20; max Not public)Not in the documented API; possible via custom scriptsSwagger 2.0 (per instance, /api/doc/swagger.json)None server-side; Keepicker web component (official)S1S2S3S4S5S6S11S16S43S1152026-09-30
MediaBeacon APIhttps://{tenant}/wf/restapi/v2/{endpoint}RESTAPI key, Basic auth, sessionAPI keys permanent by default; expiring keys can be created from workflowsNot publicpage index (pageIndex + pageSize, default 100) on search endpointsnone; server-side workflow triggers on asset events insteadnone public (JSDoc / Javadoc HTML reference only)none official; server-side Workflow JS API and browser Client JS APIS1S2S3S4S52026-10-01
MediaValet APIhttps://api.mediavalet.comRESTOAuth 2.0 authorization code, oauth2-password, API keyAccess token 1 h (expires_in 3600); auth code 60 s; refresh lifetime not publishedDaily request quota on Developer Plan, higher on Enterprise; figures not publicoffset/count query params (count default 50); TotalRecordsFound in envelopeSkyHOOK: API-managed, CloudEvents 1.0, 8 events, webhook or Azure Event GridPostman collection (362 requests) + APIM operation lists; OpenAPI exports lack pathsNone official (C# upload sample on GitHub)S1S2S6S9S12S13S14S16S18S21S22S23S24S252026-10-01
OpenText DAM APIhttps://{tenant}/otmmapi/v6RESTsession, OAuth 2.0 client credentials, oauth2-passwordUnknown (session and OTDS OAuth token lifetimes are not published)Not public (single-tenant installs; no limit documented)offset: after/before + limit (Core DAM: offset/count, default 25)none; per-job callback URL (GET/POST) on import/export jobsOpenAPI 3.0.1: OTMM CE 23.2 (247 ops) + Core DAM v1 (12 ops)Java representations JAR shipped with the server; no public packageS1S2S4S8S9S13S14S332026-10-01
Orange Logic APIhttps://{tenant}/ (/webapi, /api, /API/DataTable)RESTOAuth 2.0 client credentials, OAuth 2.0 authorization code, OAuth 2.0 PKCE, Personal tokenClient credentials 2 h (example); auth-code access 24 h, refresh 30 dNot publicpage-based (pagenumber/countperpage, default 100; max Not public)API-managed, HMAC-signed (opt-in), up to 5 retriesOpenAPI 3.1 (44 per-endpoint files); full Swagger behind loginNone server-side; Content Browser SDK (JS/React, official)S1S3S7S8S9S11S12S33S46S48S52S642026-09-30
Portfolio DAM APIhttp(s)://{server}:8090/api/v1 (HTTPS on 9443); self-hostedREST, SOAPsession, API keySession expires on inactivity (duration Not public); API Token never times outNot public (self-hosted server; no documented throttle)offset (startingIndex + pageSize, default 1,000)none; server-side JavaScript event scripts (no longer actively supported)OpenAPI 3.0.1 (63 paths / 73 operations, 2018) + deprecated SOAP WSDLnone current; legacy SOAP sample clients (Java, C#, PHP)S1S2S4S6S8S10S12S13S142026-10-01
Sitecore Content Hub APIhttps://{tenant}.sitecorecontenthub.cloud/apiREST, GraphQLOAuth 2.0 authorization code, OAuth 2.0 client credentials, Personal tokenAccess 1 h; refresh 90 days, rotated; legacy X-Auth-Token never expires15 req/s per API integration user (429 + Retry-After); Dev tenants 100/minskip/take (Query capped at 10,000); SearchAfter cursor; Scroll (deprecating)No REST webhook registry; UI triggers/actions (API call, Azure bus), Kafka feedOpenAPI 3.0 (13 files, 100 operations); some resources prose-only.NET Web Client SDK, JavaScript SDK, ch-cli (official)S1S2S16S17S20S23S26S27S28S29S30S43S45S47S49S50S512026-10-13
Tenovos APIhttps://api.tenovos.io/v1 (v1.5, all customers); UAT: https://api.uat.tenovos.io/v1RESTAPI key, JWT, OAuth 2.0 authorization codeAccess token 1 h; refresh token usable up to 30 daysNot documented; x-ratelimit-limit 60000 / reset 60 seen on a 401 (observed)offset from/limit (max 100, search window 10,000); cursor scan for deep pagingAPI- or admin-UI-managed; HMAC-SHA256 signed; 8 attempts with back-offOpenAPI 3.0 (v1.5, 127 ops) + Content Intelligence API + webhooks OpenAPI 3.1none official (Node.js training samples only)S2S5S7S9S10S12S13S15S17S18S222026-10-08
Wedia / Lyvio APIhttps://{tenant}.wedia-group.com/api/restRESTBasic auth, JWT, API keyAccess 1,200 s (20 min), refresh 86,400 s (24 h) by default; configurableNot publicoffset (from/max, default 50, max 200) or continuation tokens (after/before)No outbound webhook API documented; server-side Java plug-insOpenAPI 3.0 generated per server (dam, data, media, json)None server-side; Content Picker JS (official)S1S3S4S5S8S9S12S23S50S56S602026-09-30
Xinet APINo public REST base; CGIs at https://{tenant}/webnative/, Portal at https://{portal}/PORTAL/RESTBasic auth, sessionN/A (no tokens documented; Portal uses server-side sessions)Not publicNot public (Portal pages via page=; portalDI search has a max-results setting)none; server-side Trigger Sets run built-in or custom Actions on eventsnone public (Guide to Development APIs, last v17.7, behind partner login)none public; legacy Developer Program SDK licence for integratorsS9S10S11S13S14S17S20S27S31S682026-10-01
Search the wiki