Skip to main content

Assets

Assets are the binary files that back the Prisma Browser branding and network configuration: a company logo, a browser icon, a new-tab background image, and a PAC (proxy auto-configuration) file. You upload a file once, the API stores it and returns a short asset ID, and you then reference that ID from a customization rule control. The flow is always two steps: upload the file, then reference the returned ID from a control.

Assets are the only multipart (file) uploads in the API. Every other call is JSON.

On this page: asset types, upload-then-reference flow, limits and validation, endpoint reference, tips, examples.


Asset types

Each asset has its own upload endpoint and returns one ID field. That ID is what you set on the matching customization control.

AssetUpload endpointMax sizeAllowed filesReturnsReferenced by control
Company logoPOST /assets/company-logo1 MB.pngcompanyLogoIdcompanyLogo (companyLogoId)
Browser iconPOST /assets/browser-icon3 MB.pngbrowserIconIdbrowserIcon (browserIconId)
Background imagePOST /assets/background-image3 MB.png, .svg, .jpg, .jpegbackgroundImageIdbackgroundImage (backgroundImageId)
PAC filePOST /assets/pac-file2 MB.pac, .dat, .js, or no extensionpacFileIdproxyAutoConfigurationPacFile (pacFileId)

How the upload-then-reference flow works

  1. Upload the file with a multipart/form-data request whose single file part is the binary.
  2. Capture the returned ID (for example companyLogoId).
  3. Reference it from a customization rule control (for example the companyLogo control).
  4. Publish to make it live. Like all writes, the upload and the control change land in the draft first.

The upload response is intentionally minimal: only the ID you reference.

{ "companyLogoId": "0ASEXAMPLECOMPANYLOGOXXXXXX" }

Limits and validation

AssetMax sizeAllowed filesNotes
Company logo1 MB.pngSVG must be uploaded from Strata Cloud Manager
Browser icon3 MB.png
Background image3 MB.png, .svg, .jpg, .jpegSVG is sanitized
PAC file2 MB.pac, .dat, .js, extensionless

Endpoint reference

MethodPathPurpose
POST/assets/company-logoUpload a company logo, returns companyLogoId
POST/assets/browser-iconUpload a browser icon, returns browserIconId
POST/assets/background-imageUpload a background image, returns backgroundImageId
POST/assets/pac-fileUpload a PAC file, returns pacFileId

All paths are under the /seb-api/v1 base.


Tips and gotchas

caution

Validation errors. A wrong extension or a failed validation returns 400. A file over the size limit returns 413.

note

An upload edits the draft. Publish to make it live (see Draft and publish).


Examples

Expand an example to see the request, response, and the control that references the returned ID.

note

Asset uploads are the exception to the usual rule of not printing a create response: the response is a single ID field, shown in each example because you need the exact field name to reference the asset.

Upload a company logo and use it in a rule

Upload the PNG, then set the returned ID on the companyLogo control of a customization rule. See Customization rules for the full control catalog.

Step 1: upload the file

curl -sS -X POST "$PB_API_BASE/assets/company-logo" \
-H "Authorization: Bearer $PB_TOKEN" \
-F "file=@./company-logo.png"

Response (201 Created):

{ "companyLogoId": "0ASEXAMPLECOMPANYLOGOXXXXXX" }

Step 2: reference the ID on a customization rule

curl -sS -X PATCH "$PB_API_BASE/policy/customization/rules/$RULE_ID" \
-H "Authorization: Bearer $PB_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"controls": {
"companyLogo": { "mode": "setCompanyLogo", "companyLogoId": "0ASEXAMPLECOMPANYLOGOXXXXXX" }
}
}'

Response (200):

{ "id": "0RL01CUSTOMIZATIONXXXXXXXXXXX" }
Upload a browser icon
curl -sS -X POST "$PB_API_BASE/assets/browser-icon" \
-H "Authorization: Bearer $PB_TOKEN" \
-F "file=@./browser-icon.png"

Response (201 Created):

{ "browserIconId": "0ASEXAMPLEBROWSERICONXXXXXX" }

Reference it with the browserIcon control (mode: "setBrowserIcon", browserIconId).

Upload a new-tab background image

Background images accept .png, .svg, .jpg, and .jpeg (SVG is sanitized on upload).

curl -sS -X POST "$PB_API_BASE/assets/background-image" \
-H "Authorization: Bearer $PB_TOKEN" \
-F "file=@./background.jpg"

Response (201 Created):

{ "backgroundImageId": "0ASEXAMPLEBACKGROUNDXXXXXXX" }

Reference it with the backgroundImage control (mode: "setImage", backgroundImageId).

Upload a PAC file
curl -sS -X POST "$PB_API_BASE/assets/pac-file" \
-H "Authorization: Bearer $PB_TOKEN" \
-F "file=@./proxy.pac"

Response (201 Created):

{ "pacFileId": "0ASEXAMPLEPACFILEXXXXXXXXXX" }

Reference it with the proxyAutoConfigurationPacFile control (pacFileId).