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):
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):
Library upload into a namespace:
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.