Skip to main content
Version: v0.25.0 (Latest)

Upload assets

Step 2 of 3 in Manage design assets.

Every upload sends raw bytes with the real content type in the Content-Type header, not a JSON envelope. The response carries a content-addressed uri and an integrity hash; those two values go into a render variant's logo or background slot, or into issuer design branding.

Tenant-scoped, design-agnostic asset (the assetType path segment is informational):

Loading example...

Asset for one credential design, locale and slot (LOGO, BACKGROUND_IMAGE, SVG_TEMPLATE, PDF_TEMPLATE; locale is a BCP-47 tag such as en or nl):

Loading example...

The per-design route (/designs/credentials/{designId}/assets/{locale}/{assetType}) stores the bytes the same way, by content hash, and also records the asset as the current one for that design, locale and slot. The returned uri is the same content-addressed URL; attach it and its integrity to the design or variant yourself.

The asset library upload is for tenant branding (namespace brand), for example the logos the tenant brand uses in Align the tenant brand. Do not use it for render variants or issuer designs.

Loading example...

Uploading the same bytes again returns the same uri and integrity. That is deduplication, not an error. Prefer formats wallets render well at small sizes; nothing downsamples a large image for the holder.

Next​

Continue with step 3, Serve and remove assets.