DAM Wiki

Wedia / Lyvio API

Wedia (Wedia SA) · Paris, France · Founded 2001 · PE-backedVerified 2026-09-30 · 113 sources
  • SaaS
  • Enterprise
  • REST API
  • OpenAPI spec
  • No webhooks
  • SAML · OIDC · OAuth 2.0 · LDAP SSO
Complete · 7 of 7 pages
113sources
4API specs
09-30verified 2026
Official website ↗Wedia / Lyvio alternatives →

Scope: the APIs of the Wedia DAM platform (marketed since June 2026 as Lyvio): the REST API delivered by the WXM_RESTAPI plug-in (/api/rest/…), the Media Delivery / transformation URLs (/api/wedia/dam/…), the Content Picker embed and the legacy JSON/imaging services. Iconosquare (a former group product, sold in 2026) is out of scope.

At a glance

API styles
REST/JSON with HATEOAS link sections S104. Four documented service families: DAM (/api/rest/dam, auto-generated from the data model), DATA (/api/rest/data, explicitly configured custom resources), Media/imaging (/api/media, legacy) and JSON (/api/json, legacy, deprecated) S9 S10; plus Profile (/api/rest/profil), Mass import (/api/rest/massimport), App settings (/api/rest/appsettings) and user notifications (/api/rest/usernotif) S104 S18. Separate URL-driven delivery API `/api/wedia/dam/transform
Base URL(s)
Per customer server: https://{tenant}.wedia-group.com (the vendor's picker sample uses a client-name.wedia-group.com host) S23; all docs write https://<app> / {Wedia server} S5. Custom customer domains: Unknown. Public vendor demo server: club-wed.wedia-group.com S9.
Current version(s) & deprecations
API version 2.4 (OpenAPI info.version; apiversion in /api/rest/config) on engine 2026.4.0 S56 S60. Product versions follow CalVer YEAR.MAJOR.MINOR since 2021.3.0 (previously 11.x; major "11" unchanged for about ten years, vendor cites a strong backward-compatibility commitment) S29. Deprecated: legacy JSON services, "Extension Services" (replaced by API Business Services), session-based auth (disabled since 11.15), atk signature query token, restapiconsumer parameter S3 S5 S9.
Auth methods
HTTP Basic (Wedia user credentials; vendor recommends it for testing only), JWT (sign-in → access + refresh tokens; Bearer header or cookies), Application tokens (key/secret created in the REST API admin dashboard, sent as Basic + X-WEDIA-REST-APPLICATION header), OAuth2/OpenID Connect sign-in through configured providers, SSO delegation to the engine's SAML2/OAuth2 configs, optional sessionful mode (JSESSIONID + x-wedia-api-token cookies, since 2021.4.0) S3 S4 S5 S6 S7.
Token lifetime / refresh
Defaults: short-life (access) token 1,200 s (20 min), long-life (refresh) token 86,400 s (24 h); optional tokenMaxAge; HS256 by default (HS384/HS512 configurable) S8 S5. Refresh via GET/POST /api/rest/token; revoke via DELETE/api/rest/signout; access tokens cannot be revoked S5. Client can request a refresh-token expiry (exp, incl. unlimited, capped by server limits) at sign-in S5. Demo server exposes "tokentime":86400 S60.
Scopes / permission model
No API scopes. Calls run as a Wedia user (or an "application user"), subject to its roles and security rules (permission keys v1/<domain>/<action>/[modifiers], e.g. update own offline objects) S3 S47. Responses can include $canEdit/$canDelete and requested security action checks S56.
Official spec
OpenAPI 3.0 generated per server at /api/rest/doc/{dam,data,media,json}/swagger.json (UI: …/swagger.ui, …/swagger.redoc) S9. Demo-server copies archived on DAM Wiki: API spec downloads S56 S57 S58 S59. The Media Delivery API spec (/api/wedia/dam/?export=swagger) is Behind login S22 S60. No Postman collection found.
Rate limits
Not public — no rate-limit, quota or 429 documentation found in the ~800-page doc space; no rate-limit headers on demo responses S60. Documented caps instead: max ≤ 200 per page S56 S18.
Pagination
Two modes per resource: "infinite list" GET…/{resource} with continuation tokens (after/before), and paginated GET…/{resource}/list with from (1-based offset) + max S12 S56. max default 50, maximum 200 S56.
Webhooks / events
No outbound webhook API documented S1. Event logic is implemented server-side with Java plug-ins bound to triggers/workflow events S50 S45; a 2026 install guide mentions "integration webhooks" only as a possible side effect of triggers S51. In-app user notifications have a pull API S18. Video player emits client-side JS events S107.
Official SDKs
None for server-side languages. Front-end: wedia-vue (Vue plugin "for interacting with Wedia REST apis", npm, published since 2018 by Wedia's CTO; used by the portal) S97 S43; Content Picker JS (wedia-content-picker.js) S23. Server extensions: Java engine API (Javadoc behind admin login) S22.
Sandbox / trial access
No self-service sandbox. The public demo server exposes docs, /api/rest/config, /api/rest/status and /api/rest/auth/config unauthenticated; data endpoints return 401 S60 S61.

Authentication

Credential types S3 S4 S5

ModeHowNotes
BasicAuthorization: Basic base64(login:password) on each callVendor: use for testing, over HTTPS only
Application tokenCreated in the REST API admin dashboard → key + secret used as Basic credentials, plus header X-WEDIA-REST-APPLICATION (optional X-WEDIA-REST-APPLICATION-USER)"Application users" for unattended integrations; can be time-limited
JWT (since 11.15.0)POST/api/rest/signin (form or multipart: login, password, optional application, userid, exp, cookieauth) → 201 with accessToken, refreshToken, signature, links to refresh/sign-outSend Authorization: Bearer <accessToken>; refresh GET/POST /api/rest/token; revoke DELETE/api/rest/signout; check GET/POST /api/rest/validateToken
JWT cookiecookieauth=true at sign-in → x-wedia-api-token cookie (+ x-wedia-api-tk, x-wedia-api-so) tied to JSESSIONIDDesigned for browser <img> tags; CSRF-token control optional since 2022.6 S8
OAuth2 / OIDC (since 11.16)Provider configs (preconfigured Google, Microsoft Entra ID, LinkedIn) set in the REST API admin; client builds its login form from GET/api/rest/auth/config (no auth), then /api/rest/auth/login/{provider} → /api/rest/signin/{provider} returns the Wedia JWTsSupports introspection/revocation endpoints and user-mapping rules (match/create/refuse) S6; demo lists LinkedIn and Google S61
Engine SSOssoSAMLEnabled / ssoOAuth2Enabled plug-in flags delegate to engine SAML2/OAuth2 configurations (JIT user creation) S7 S48
  • MFA interplay: when "sign-in without MFA" is disabled, REST sign-ins with login/password are rejected, but applicative sign-in (application tokens) keeps working — relevant for PIM/CMS integrations S103.
  • Access tokens are opaque to clients for any use other than calling the API; the signing secret is server-private and may rotate S5.
  • Where credentials are created: application tokens and OAuth2 providers in the REST API admin dashboard (/_plugins/WXM_RESTAPI/page/home.jspz), which needs a dedicated second-level account; roles Administrators, Developer, ApiOperators, ApiWatchers, ApiTesters etc. exist for API admin pages S3 S19.

Core resources

Paths below are relative to https://{tenant}.wedia-group.com. Resource type names (asset, folder, …) depend on each project's data model; the patterns are generic S12 S13. Counts from the demo DAM spec: 260 paths / 344 operations, 57 resource types S56.

ResourceEndpointsNotes
Catalog / discoveryGET/api/rest/dam (catalog of resource types), GET/api/rest/dam/data/{resource}/headersHeaders = field types, labels, editability, form structure S12
Assets (read/search)GET/api/rest/dam/data/{resource} (token list), GET…/{resource}/list (paged), GET…/{resource}/{id}, GET/api/rest/dam/{uniqueId}; facades GET/api/rest/dam/asset[/list], GET/api/rest/dam/asset/{mediaType}[/list]Multiple types comma-separated (asset,legacy) S12 S104
Assets (write)POST/api/rest/dam/data/{resource}; PUT/PATCH…/{id} (or POST…/{id}/put//patch); bulk …/{id*}; DELETE…/{id} or …{/id*}Create from binary, JSON, multipart or ZIP archive S12 S56
Locks & work copiesPOST…/{id}/lock, POST…/{id}/unlock, GET…/{id}/workcopy ($workcopy in spec)Default lock timeout 30 s on demo S60 S12
Workflows / statusesGET…/{resource}/workflow, GET…/{id}/workflow, POST…/{id}/workflow (param workflowAction/action/statusId), bulk …/{id*}/workflow or by queryRequires tag rest_api_dam_workflow on the structure S17. Unverified Path order differs between docs (…/{id}/workflow S12) and spec/workflow page (…/workflow/{id} S17 S56)
Binaries & renditionsGET…/{id}/$binary, …/$variation, …/$player, …/$previewDocumented S12; not present as paths in the demo spec Unverified S56
Folders, thesauri, listse.g. GET/api/rest/dam/data/folder/tree, …/assetgeography/tree, …/assetkeywordTree endpoints with depth, treepath, withSynonyms, withRelated S56
Aggregates / facetsGET…/{resource}/aggs; withAggregates, aggfields, facets params S12 S56
Users / groups / rolesGET/api/rest/dam/data/user[...], usergroup (CRUD), role, userregistration (demo model) S56; own profile via GET/PUT/PATCH /api/rest/profil/me S14
Portals / brand center / collaborationportal, portalbookmark, portaltheme, brandcenter, brandguideline, collaborativespace resource types (demo model) S56
Rightsassetrighttype, contract resource types (demo model)Rights data model is project-specific S56
Mass import (uploads)/api/rest/massimport catalog; POST/GET/DELETE /api/rest/massimport/job[/{id}]; POST/api/rest/massimport/item; job items, workflowAsynchronous jobs + items S15
Custom business endpoints"API Business Services (Extensions)" (Java), custom REST endpoints S1 S110
User notifications`GET /api/rest/usernotif[/list/unread
OpsGET/api/rest/status (text OK), GET/api/rest/config, GET/api/rest/whoamiPublic on demo S60 S19 S20
Delivery (transform)GET/HEAD /api/wedia/dam/transform/{uuid}/{basename}[.ext]?t=… (legacy /transform/{type}/{id}/…)Requires the Media Delivery module S22
Delivery (named renditions)GET/api/wedia/dam/variation/{uuid}/{variation[,fallback…]}/{basename} S22
Playersapi/wedia/dam/player/fo.player with URL params (autostart, canLogPlaying, …) S107
Brand Control (AI)e.g. POST/api/wedia/brandcontrol/brandguideline/criteria/generate?id=…Internal service documented in a feature page S44

Data model

  • Everything is a typed resource ("data structure"/object) defined per project in the engine; DAM services are auto-generated from structure tags, so endpoints and fields differ between customers and cannot be reused as-is from one DAM to another S12 S13.
  • Several asset libraries can coexist (e.g. asset, product_images, pimasset) S22 S56.
  • Identifiers: numeric id per resource type, plus a cross-type unique id / uuid (e.g. GET/api/rest/dam/{uniqueId}), which is also the recommended public identifier in delivery URLs because it hides the database structure S104 S22.
  • Response envelope: $.response.data + resource-type description + optional headers + HATEOAS links S104.
  • Localized fields (e.g. captions per EN/FR/ES); language picked from lang, Accept-Language or the user profile; unsupported language → 406 S3.
  • Relations/taxonomies are linked resources (keywords, geography trees, thesauri with synonyms and related terms) S56 S106.
  • Files are properties of the resource (binary, source, poster…); renditions are named variations/presets (built-in thumbnailTiny 100 px, thumbnailSmall 200 px, thumbnailBig 600 px, thumbnailScreen 2000 px wide, thumbnailReal, poster, stripped_background, animated*, ia_preview_video_source…) S22.
  • Versions: withVersions/queryVersions parameters S56; version management UI since 2024.5.0 S38.

Search & querying

  • Full-text: find parameter; suggest for autocompletion; sortByRelevance; findinfilecontent S56. Classic engine uses TF-IDF/vector-space relevance (Lucene-style) S105.
  • Structured filters: JSON Query in query (or header X-WEDIA-QUERY), rootquery for trees S56:
    • Operators (short/long): eq, neq, gt, gte, lt, lte, e/empty, ne/notempty, in, nin, sw, nsw, ew, new, ct, nct, dof/descendantof, ndof, ovrl/overlap; combinators and, or, not.
    • Dates as epoch ms or ISO strings; functions now(±n), ts(…); sub-queries on related objects; similarimage/sim (hash-based similar image search); workflow state queries; variables ${…} and surfer (current user) properties.
  • Sorting: orderby=prop1 asc, prop2 desc S56.
  • Facets/aggregations: withAggregates, aggfields, facets; count-only via withData=false&withAggregates=false S56.
  • Grouping: group, grouplevel, groupcount (hierarchical/collapsed) S56.
  • Projection: props, techprops, headers/dataHeaders to reduce payloads S56.
  • Page size: default 50, max 200; deep paging via continuation tokens (after) on the infinite-list endpoint S56.
  • AI Search (2026.4.0): semantic/vector search combined with classic search inside one Elasticsearch query, surfaced through query flags — the portal runs a "shadow cursor" in wedia-vue; there is no separate AI search endpoint S43 S30.
  • Conditional requests: ETags on catalogs, headers, API docs and on structures tagged REST_API_ETAG S16.

Uploads & binaries

  • Single create: POST/api/rest/dam/data/{resource} with the raw binary (any Content-Type except application/json; filename required, its extension drives type detection), JSON metadata, or multipart/form-data; a ZIP creates several resources; file properties may also be set by URI (prop_binary=<url>) instead of uploading S56.
  • Mass import: create a job (POST/api/rest/massimport/job), add items (POST/api/rest/massimport/item, binary in body with content-disposition filename, or multipart field binary), qualify items (metadata, asynchronous), then validate/publish (asynchronous object creation); items can be selected by id or JSON Query; simulation view of the final object available S15.
  • Chunked/resumable or presigned uploads: Not public (not found).
  • Maximum file size: Not public (not found). Allowed extensions can be restricted per project S1.
  • Downloads: …/{id}/$binary and …/$variation on the REST API S12; public/CDN delivery via /api/wedia/dam/variation/{uuid}/{variation}/{basename} S22.
  • On-the-fly transforms (/api/wedia/dam/transform/…): chained t= operations resize, crop (box or focal point fx/fy), fill, setbg (incl. colour replace with fuzz), iwatermark (image watermark, since 2024.4.0), extend, smartcrop (focal point, ratiow/ratioh); pixel or proportional values; output format from the extension (jpg, png, webp, heic, avif, pdf) or automatic (WebP for modern browsers) when omitted; SEO basename free S22 S37 S46.
  • Caching: key = asset + normalized transform (parameter order ignored); invalidated when the original changes S22. Observed: transforms served with Cache-Control: public, max-age=3600 and CloudFront Via/X-Amz-Cf-Pop headers; named variations with max-age=2592000 (30 days) and Edge-Cache-Tag S60.
  • Legacy Imaging engine: JSON command sets and presets (autoorient, clip, crop, density, fit, format, layout, lresize, metadata, pad, resample, rotate, strip, thumbnail, watermark…) at /api/media S21 S58.
  • Security: transform/variation access follows objectfile.sendFile security; since 2025.2.0 renditions are not public by default in Media Delivery S22 S35. CORS on /api/wedia/dam/variation/* restricted to controlled origins since 2024.3.0 S36.

Events & webhooks

  • Outbound webhooks: none documented — no webhook registration resource in the specs or the REST API docs S56 S1.
  • Server-side extensibility instead: Java plug-ins (packaged as NAR or deployed via the admin) executed on triggers (e.g. onBeforeInsert…, onAfterUpdate…), workflow events and business services S50 S45. Integrators needing push notifications therefore build a plug-in or poll.
  • Polling aids: JSON Query on dates (e.g. {"modified":{"gte":"now(-1)"}}), ETags S56 S16.
  • In-app notifications: /api/rest/usernotif (pull) S18; custom notifications configurable S1.
  • Client-side: the video player accepts actions and emits playback events for page scripts S107.

Limits & quirks

  • Per-tenant API surface — generated from the customer's data model; always read the customer server's own /api/rest/doc/dam S9 S12.
  • max ≤ 200; default 50 S56. No published rate limits, concurrency caps or 429 semantics — Not public.
  • Method override for proxies that block PUT/PATCH/DELETE: POST + X-HTTP-Method-Override / X-HTTP-Method / X-METHOD-OVERRIDE S56; …/put and …/patch POST aliases also exist S12.
  • state parameter echoed back in responses to correlate async calls S3.
  • debug parameter: stack traces only in development mode (since 11.14.2) S3. The demo server runs in dev mode S60.
  • Error body: extended code HTTP/specific (e.g. 404/100), message, error_uri, errtag, support contact details S56; common codes listed (e.g. 503/42 maintenance, 406/2 unacceptable language) S3.
  • JSON Query multi-value eq means OR; root object means AND S56.
  • Delivery URLs with {type}/{id} expose DB structure — vendor recommends uuid S22.
  • atk signature query token for <img> binaries is deprecated → use JWT cookies S5.
  • Figma picker: no SSO (direct login only) S27; Canva picker (pre-2026.4) could not be disabled by licence as it calls the REST API directly S25.
  • Unverified Documentation age: several REST pages date from 2019–2023 (e.g. auth modes 2021, OAuth2 2023) while the engine is at 2026.4 — behaviour may have evolved; the generated OpenAPI is the most current reference S1.

SDKs, tools & code samples

ToolLanguageSourceStatus
wedia-vueJavaScript (Vue plugin for the REST API: cursors, search, auth)npm, maintainer is Wedia's CTO; 861 versions since 2018-12, latest 2026-09-28Active; no public repo or README link S97
Wedia Content Picker (/asset-picker/wedia-content-picker.js)JavaScript, iframe + onPick callback returning asset data, renditions, video embed codeServed by each tenant; test instance publicActive S23 S101
Drupal module wediaPHP (Drupal 10/11)drupal.org, v2.0.1 (2026-01-08), maintainers incl. Wedia CTO"Minimally maintained", not covered by Drupal security advisories S98
Adobe CC extension / Dylation UXP pluginAdobe Photoshop, Illustrator, InDesignAdobe ExchangeActive (UXP since 2026.3.0) S26 S31
Figma pluginFigmaFigma CommunityActive S27 S100
Java engine API / API Business ServicesJavaJavadoc behind admin login S22 S1
ReDoc CLI bundling tipNode.jsVendor tip to produce offline HTML docs S10

No official Python/PHP/.NET/Java client SDK and no public GitHub organisation found (the wedia GitHub user is unrelated) .

Changelog of the API

DateChange
2026-09-162026.4.0: AI Search via query flags; fix for video subtitle creation via API; Canva picker rebuilt on Canva SDK S30
2026-06-082026.3.0: product named Lyvio; Adobe picker migrated CEP → UXP with SSO S31
2026-01-23Mass import item format docs updated (JSON format introduced in 2025.2.0 for asset-based items) S15
2025-10-242025.4.0: new multi-tenant Media Delivery architecture on AWS Lambda (MediaCloud 2) replacing imaging servers, first for new clients S34 S52
2025-04-112025.2.0: Media Delivery renditions no longer public by default S35
2024-10-112024.4.0: iwatermark transform S37
2024-06-282024.3.0: CORS on /api/wedia/dam/variation/* restricted to controlled origins S36
2024-02-232024.1.0: MFA; REST login/password sign-in rejected when MFA-only is enforced (application sign-in unaffected) S39 S103
2022 (2022.1)API documentation portal "version 2" (tag filtering) S9
2022 (2022.6)Optional CSRF-token control for cookie auth S8
2021 (2021.4.0)Sessionful authentication mode S3
2021-04Switch from SemVer 11.30.x to CalVer (2021.3.0) S29
2021 (2021.2.0 / 11.30)ETags on REST endpoints S16
11.27 (2020)User notifications API; restapiconsumer dropped S18 S3
11.16OAuth2 sign-in S6
11.15JWT authentication; session-based auth disabled (CSRF risk) S5 S3

Stored API specs

4 files · 15.2 MB · verbatim copies of public vendor filesSpecs README & provenance
FileFormatSizeDownload
wedia_openapi_json-legacy.jsonOpenAPI769 KBDownload
wedia_openapi_media-imaging.jsonOpenAPI54 KBDownload
wedia_openapi_rest-dam.jsonOpenAPI13.0 MBDownload
wedia_openapi_rest-data.jsonOpenAPI1.4 MBDownload
Search the wiki