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.
| Asset | Upload endpoint | Max size | Allowed files | Returns | Referenced by control |
|---|---|---|---|---|---|
| Company logo | POST /assets/company-logo | 1 MB | .png | companyLogoId | companyLogo (companyLogoId) |
| Browser icon | POST /assets/browser-icon | 3 MB | .png | browserIconId | browserIcon (browserIconId) |
| Background image | POST /assets/background-image | 3 MB | .png, .svg, .jpg, .jpeg | backgroundImageId | backgroundImage (backgroundImageId) |
| PAC file | POST /assets/pac-file | 2 MB | .pac, .dat, .js, or no extension | pacFileId | proxyAutoConfigurationPacFile (pacFileId) |
How the upload-then-reference flow works
- Upload the file with a
multipart/form-datarequest whose singlefilepart is the binary. - Capture the returned ID (for example
companyLogoId). - Reference it from a customization rule control (for example the
companyLogocontrol). - 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
| Asset | Max size | Allowed files | Notes |
|---|---|---|---|
| Company logo | 1 MB | .png | SVG must be uploaded from Strata Cloud Manager |
| Browser icon | 3 MB | .png | |
| Background image | 3 MB | .png, .svg, .jpg, .jpeg | SVG is sanitized |
| PAC file | 2 MB | .pac, .dat, .js, extensionless |
Endpoint reference
| Method | Path | Purpose |
|---|---|---|
POST | /assets/company-logo | Upload a company logo, returns companyLogoId |
POST | /assets/browser-icon | Upload a browser icon, returns browserIconId |
POST | /assets/background-image | Upload a background image, returns backgroundImageId |
POST | /assets/pac-file | Upload a PAC file, returns pacFileId |
All paths are under the /seb-api/v1 base.
Tips and gotchas
Validation errors. A wrong extension or a failed validation returns 400. A file over the size limit returns 413.
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.
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).
Related
- Policy: Customization rules (the controls that reference these assets)
- Concepts: Draft and publish
