PUT
/api/admin/branding/{asset}AdminUpload a branding asset
Replaces the image of one branding asset slot. The request body is the raw image bytes and the Content-Type header must be one of the slot's allowed MIME types (see GET /api/admin/branding); uploads above the slot's size limit are refused. The new asset is served immediately at /branding/{asset}.
operationId
put_api_admin_branding_assetAdministrationAuthentication & permissionsAdmin
Platform administrators only
- Accepted credentials
- Auth server session (refresh token cookie)
cookie "refresh_token_<auth_server_app_id>" - Access token (cookie)
cookie "access_token_<auth_server_app_id>" - Access token (Bearer)
Authorization: Bearer <JWT>
- Auth server session (refresh token cookie)
- Who may call
- Platform administrators only
Path parameters
| Name | Type | Description |
|---|---|---|
| asset* | "favicon" | "icon" | "opengraph-image" | Branding asset slot |
Request body
Required — The raw image bytes. Accepted image types depend on the slot (e.g. image/png, image/svg+xml, image/x-icon for the favicon); the request Content-Type header must name the image's MIME type.
application/octet-stream
string (binary)
Raw image bytes; send the image's own MIME type as the request Content-Type
Responses
application/json
| Property | Type | Description |
|---|---|---|
| success* | true | |
| data* | BrandingAssetUploadResult | |
| key* | string | |
| contentType* | string | |
| contentHash* | string | SHA-256 hex digest of the uploaded bytes |
| sizeBytes* | integer | |
| updatedAt* | number | Unix epoch milliseconds |
JSONExample
"success"true
"data"
"key""favicon"
"contentType""image/png"
"contentHash""string"
"sizeBytes"1
"updatedAt"1.5
Example request
bashcurl
curl -X PUT 'https://auth.schemavaults.com/api/admin/branding/<asset>' \
-b 'refresh_token_<auth_server_app_id>=<value>' \
-H 'Content-Type: application/octet-stream'