Skip to content

Depot portalbranding

Registers the MSP’s branding routes: the default branding on /api/v1/portal/branding and per-client overrides under /api/v1/clients/{clientID}/portal/branding.

This page is generated from the Depot route table. Every operation carries the permission it needs and the anchor an agent can link to.

GETNo permission neededportal facemspIdempotent

Source: [object Object]

portalBrandingView is the portal’s resolved branding, read before sign-in.

NameInTypeRequiredDescription
clientquerystringNo
orgquerystringNo
StatusBodyDescription
200application/json, ViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
accentrequiredobject
accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

accent.dark.accentrequiredstring
accent.dark.inkrequiredstring
accent.dark.onAccentrequiredstring
accent.dark.uirequiredstring
accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

accent.light.accentrequiredstring
accent.light.inkrequiredstring
accent.light.onAccentrequiredstring
accent.light.uirequiredstring
accentHexrequiredstring
faviconUrlstring or null
hidePoweredByrequiredboolean
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamerequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themerequiredstring
Terminal window
# This operation is public. It takes no credentials.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/portal/v1/branding?client=<client>&org=<org>' \
-H 'Accept: application/json'

GETNo permission neededportal facemspIdempotentNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

portalBrandingImage serves a branding image: the light or dark logo or the favicon, with the same fallbacks the portal shows.

NameInTypeRequiredDescription
assetpathstringYes
clientquerystringNo
orgquerystringNo
vquerystringNo
StatusBodyDescription
200NoneSuccess. The body shape was not resolved; see x-outpost-unresolved.
304NoneSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
404application/problem+json, ProblemDetailsNo resource matches.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# This operation is public. It takes no credentials.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/portal/v1/branding/<asset>?client=<client>&org=<org>&v=<v>' \
-H 'Accept: application/json'

GET /api/v1/clients/{clientID}/portal/branding

Section titled “GET /api/v1/clients/{clientID}/portal/branding”

GETclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

getPortalBranding reads the MSP’s default portal branding, or one client’s override, with the effective branding the portal shows.

NameInTypeRequiredDescription
clientIDpathstringYes
StatusBodyDescription
200application/json, PortalBrandingSettingsSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo resource matches.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
clientIdstring or null
effectiverequiredView

View is the Branding wire shape (contract 8.4) plus hidePoweredBy (12.4).

effective.accentrequiredobject
effective.accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.dark.accentrequiredstring
effective.accent.dark.inkrequiredstring
effective.accent.dark.onAccentrequiredstring
effective.accent.dark.uirequiredstring
effective.accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.light.accentrequiredstring
effective.accent.light.inkrequiredstring
effective.accent.light.onAccentrequiredstring
effective.accent.light.uirequiredstring
effective.accentHexrequiredstring
effective.faviconUrlstring or null
effective.hidePoweredByrequiredboolean
effective.logoDarkUrlstring or null
effective.logoLightUrlstring or null
effective.portalNamerequiredstring
effective.rowVersionrequiredinteger

int64.

effective.sourcerequiredstring
effective.supportEmailstring or null
effective.supportPhonestring or null
effective.supportUrlstring or null
effective.themerequiredstring
existsrequiredboolean
faviconUrlstring or null
hidePoweredByboolean or null
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamestring or null
rowVersionrequiredinteger

int64.

scoperequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/clients/<clientID>/portal/branding' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUT /api/v1/clients/{clientID}/portal/branding

Section titled “PUT /api/v1/clients/{clientID}/portal/branding”

PUTclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

putPortalBranding saves the text fields of the default branding or of a client’s override.

A client override is created on its first save (rowVersion 0).

NameInTypeRequiredDescription
clientIDpathstringYes

Required, sent as application/json.

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
hidePoweredByboolean or null
portalNamestring or null
rowVersionrequiredinteger

int64.

supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
StatusBodyDescription
200application/json, PortalBrandingSettingsSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not save the portal branding.

200 response body

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
clientIdstring or null
effectiverequiredView

View is the Branding wire shape (contract 8.4) plus hidePoweredBy (12.4).

effective.accentrequiredobject
effective.accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.dark.accentrequiredstring
effective.accent.dark.inkrequiredstring
effective.accent.dark.onAccentrequiredstring
effective.accent.dark.uirequiredstring
effective.accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.light.accentrequiredstring
effective.accent.light.inkrequiredstring
effective.accent.light.onAccentrequiredstring
effective.accent.light.uirequiredstring
effective.accentHexrequiredstring
effective.faviconUrlstring or null
effective.hidePoweredByrequiredboolean
effective.logoDarkUrlstring or null
effective.logoLightUrlstring or null
effective.portalNamerequiredstring
effective.rowVersionrequiredinteger

int64.

effective.sourcerequiredstring
effective.supportEmailstring or null
effective.supportPhonestring or null
effective.supportUrlstring or null
effective.themerequiredstring
existsrequiredboolean
faviconUrlstring or null
hidePoweredByboolean or null
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamestring or null
rowVersionrequiredinteger

int64.

scoperequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X PUT 'https://depot.example.com/api/v1/clients/<clientID>/portal/branding' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"accentHex": "string",
"accentSource": "string",
"hidePoweredBy": false,
"portalName": "string",
"rowVersion": 0,
"supportEmail": "string",
"supportPhone": "string",
"supportUrl": "string",
"theme": "string"
}'

DELETE /api/v1/clients/{clientID}/portal/branding

Section titled “DELETE /api/v1/clients/{clientID}/portal/branding”

DELETEclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

deletePortalClientBranding removes a client’s override, so the client shows the MSP’s default branding again.

NameInTypeRequiredDescription
clientIDpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo resource matches.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/clients/<clientID>/portal/branding' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/clients/{clientID}/portal/branding/{asset}

Section titled “POST /api/v1/clients/{clientID}/portal/branding/{asset}”

POSTclientportal:brandingmsp facemsp

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

uploadPortalBrandingAsset stores a light logo, dark logo or favicon (the request body is the image).

PNG or JPEG for logos, PNG for the favicon; SVG and WebP are refused.

NameInTypeRequiredDescription
assetpathstringYes
clientIDpathstringYes
StatusBodyDescription
200application/json, PortalBrandingSettingsSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not save the image.

200 response body

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
clientIdstring or null
effectiverequiredView

View is the Branding wire shape (contract 8.4) plus hidePoweredBy (12.4).

effective.accentrequiredobject
effective.accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.dark.accentrequiredstring
effective.accent.dark.inkrequiredstring
effective.accent.dark.onAccentrequiredstring
effective.accent.dark.uirequiredstring
effective.accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.light.accentrequiredstring
effective.accent.light.inkrequiredstring
effective.accent.light.onAccentrequiredstring
effective.accent.light.uirequiredstring
effective.accentHexrequiredstring
effective.faviconUrlstring or null
effective.hidePoweredByrequiredboolean
effective.logoDarkUrlstring or null
effective.logoLightUrlstring or null
effective.portalNamerequiredstring
effective.rowVersionrequiredinteger

int64.

effective.sourcerequiredstring
effective.supportEmailstring or null
effective.supportPhonestring or null
effective.supportUrlstring or null
effective.themerequiredstring
existsrequiredboolean
faviconUrlstring or null
hidePoweredByboolean or null
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamestring or null
rowVersionrequiredinteger

int64.

scoperequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/clients/<clientID>/portal/branding/<asset>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

DELETE /api/v1/clients/{clientID}/portal/branding/{asset}

Section titled “DELETE /api/v1/clients/{clientID}/portal/branding/{asset}”

DELETEclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

deletePortalBrandingAsset clears one image, so it falls back again.

NameInTypeRequiredDescription
assetpathstringYes
clientIDpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not remove the image.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/clients/<clientID>/portal/branding/<asset>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

getPortalBranding reads the MSP’s default portal branding, or one client’s override, with the effective branding the portal shows.

NameInTypeRequiredDescription
clientIDpathstringYes
StatusBodyDescription
200application/json, PortalBrandingSettingsSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo resource matches.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
clientIdstring or null
effectiverequiredView

View is the Branding wire shape (contract 8.4) plus hidePoweredBy (12.4).

effective.accentrequiredobject
effective.accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.dark.accentrequiredstring
effective.accent.dark.inkrequiredstring
effective.accent.dark.onAccentrequiredstring
effective.accent.dark.uirequiredstring
effective.accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.light.accentrequiredstring
effective.accent.light.inkrequiredstring
effective.accent.light.onAccentrequiredstring
effective.accent.light.uirequiredstring
effective.accentHexrequiredstring
effective.faviconUrlstring or null
effective.hidePoweredByrequiredboolean
effective.logoDarkUrlstring or null
effective.logoLightUrlstring or null
effective.portalNamerequiredstring
effective.rowVersionrequiredinteger

int64.

effective.sourcerequiredstring
effective.supportEmailstring or null
effective.supportPhonestring or null
effective.supportUrlstring or null
effective.themerequiredstring
existsrequiredboolean
faviconUrlstring or null
hidePoweredByboolean or null
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamestring or null
rowVersionrequiredinteger

int64.

scoperequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/portal/branding' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUTclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

putPortalBranding saves the text fields of the default branding or of a client’s override.

A client override is created on its first save (rowVersion 0).

NameInTypeRequiredDescription
clientIDpathstringYes

Required, sent as application/json.

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
hidePoweredByboolean or null
portalNamestring or null
rowVersionrequiredinteger

int64.

supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
StatusBodyDescription
200application/json, PortalBrandingSettingsSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not save the portal branding.

200 response body

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
clientIdstring or null
effectiverequiredView

View is the Branding wire shape (contract 8.4) plus hidePoweredBy (12.4).

effective.accentrequiredobject
effective.accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.dark.accentrequiredstring
effective.accent.dark.inkrequiredstring
effective.accent.dark.onAccentrequiredstring
effective.accent.dark.uirequiredstring
effective.accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.light.accentrequiredstring
effective.accent.light.inkrequiredstring
effective.accent.light.onAccentrequiredstring
effective.accent.light.uirequiredstring
effective.accentHexrequiredstring
effective.faviconUrlstring or null
effective.hidePoweredByrequiredboolean
effective.logoDarkUrlstring or null
effective.logoLightUrlstring or null
effective.portalNamerequiredstring
effective.rowVersionrequiredinteger

int64.

effective.sourcerequiredstring
effective.supportEmailstring or null
effective.supportPhonestring or null
effective.supportUrlstring or null
effective.themerequiredstring
existsrequiredboolean
faviconUrlstring or null
hidePoweredByboolean or null
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamestring or null
rowVersionrequiredinteger

int64.

scoperequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X PUT 'https://depot.example.com/api/v1/portal/branding' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"accentHex": "string",
"accentSource": "string",
"hidePoweredBy": false,
"portalName": "string",
"rowVersion": 0,
"supportEmail": "string",
"supportPhone": "string",
"supportUrl": "string",
"theme": "string"
}'

POSTclientportal:brandingmsp facemsp

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

uploadPortalBrandingAsset stores a light logo, dark logo or favicon (the request body is the image).

PNG or JPEG for logos, PNG for the favicon; SVG and WebP are refused.

NameInTypeRequiredDescription
assetpathstringYes
clientIDpathstringYes
StatusBodyDescription
200application/json, PortalBrandingSettingsSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not save the image.

200 response body

FieldTypeDescription
accentHexstring or null
accentSourcestring or null
clientIdstring or null
effectiverequiredView

View is the Branding wire shape (contract 8.4) plus hidePoweredBy (12.4).

effective.accentrequiredobject
effective.accent.darkrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.dark.accentrequiredstring
effective.accent.dark.inkrequiredstring
effective.accent.dark.onAccentrequiredstring
effective.accent.dark.uirequiredstring
effective.accent.lightrequiredAccentTokens

AccentTokens are one theme's tokens on the wire (contract 8.4 Branding).

effective.accent.light.accentrequiredstring
effective.accent.light.inkrequiredstring
effective.accent.light.onAccentrequiredstring
effective.accent.light.uirequiredstring
effective.accentHexrequiredstring
effective.faviconUrlstring or null
effective.hidePoweredByrequiredboolean
effective.logoDarkUrlstring or null
effective.logoLightUrlstring or null
effective.portalNamerequiredstring
effective.rowVersionrequiredinteger

int64.

effective.sourcerequiredstring
effective.supportEmailstring or null
effective.supportPhonestring or null
effective.supportUrlstring or null
effective.themerequiredstring
existsrequiredboolean
faviconUrlstring or null
hidePoweredByboolean or null
logoDarkUrlstring or null
logoLightUrlstring or null
portalNamestring or null
rowVersionrequiredinteger

int64.

scoperequiredstring
supportEmailstring or null
supportPhonestring or null
supportUrlstring or null
themestring or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/portal/branding/<asset>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

DELETEclientportal:brandingmsp facemspIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

deletePortalBrandingAsset clears one image, so it falls back again.

NameInTypeRequiredDescription
assetpathstringYes
clientIDpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo client matches that id.
500application/problem+json, ProblemDetailsCould not remove the image.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/portal/branding/<asset>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTclientportal:brandingmsp facemsp

From an MSP console, prefix the path with /api/v1/clients/{clientID}/portal/branding to reach one client.

Source: [object Object]

suggestPortalAccent suggests accent colours from a logo (the request body is a PNG or JPEG) and shows what the contrast solve makes of each.

The console can also run the same algorithm in the browser; both give the same swatches for the same pixels.

StatusBodyDescription
200application/json, PortalSwatchSuggestionSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold clientportal:branding.
404application/problem+json, ProblemDetailsNo resource matches.

200 response body

FieldTypeDescription
swatchesrequiredarray of PortalSwatch
swatches[].accentrequiredSolvedAccent

SolvedAccent is one practice colour solved for both themes.

swatches[].accent.darkrequiredThemeAccent

ThemeAccent is every accent token for one theme.

swatches[].accent.dark.accentrequiredstring
swatches[].accent.dark.inkrequiredstring
swatches[].accent.dark.onAccentrequiredstring
swatches[].accent.dark.uirequiredstring
swatches[].accent.lightrequiredThemeAccent

ThemeAccent is every accent token for one theme.

swatches[].accent.light.accentrequiredstring
swatches[].accent.light.inkrequiredstring
swatches[].accent.light.onAccentrequiredstring
swatches[].accent.light.uirequiredstring
swatches[].hexrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/portal/branding/suggest' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETNo permission neededportal facemspIdempotentNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

portalFavicon is the tab icon: the uploaded favicon, else one made from the logo, in an .ico container.

NameInTypeRequiredDescription
clientquerystringNo
orgquerystringNo
vquerystringNo
StatusBodyDescription
200NoneSuccess. The body shape was not resolved; see x-outpost-unresolved.
304NoneSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# This operation is public. It takes no credentials.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/portal/favicon.ico?client=<client>&org=<org>&v=<v>' \
-H 'Accept: application/json'

GETNo permission neededportal facemspIdempotentNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

portalIcon is the PWA icon at one size, made from the light logo.

NameInTypeRequiredDescription
clientquerystringNo
orgquerystringNo
vquerystringNo
StatusBodyDescription
200NoneSuccess. The body shape was not resolved; see x-outpost-unresolved.
304NoneSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# This operation is public. It takes no credentials.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/portal/icon-192.png?client=<client>&org=<org>&v=<v>' \
-H 'Accept: application/json'

GETNo permission neededportal facemspIdempotentNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

portalIcon is the PWA icon at one size, made from the light logo.

NameInTypeRequiredDescription
clientquerystringNo
orgquerystringNo
vquerystringNo
StatusBodyDescription
200NoneSuccess. The body shape was not resolved; see x-outpost-unresolved.
304NoneSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# This operation is public. It takes no credentials.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/portal/icon-512.png?client=<client>&org=<org>&v=<v>' \
-H 'Accept: application/json'

GETNo permission neededportal facemspIdempotentNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

portalManifest is the PWA web app manifest, branded for the host’s client (or ?client=) and scoped to /portal/.

NameInTypeRequiredDescription
clientquerystringNo
orgquerystringNo
StatusBodyDescription
200NoneSuccess. The body shape was not resolved; see x-outpost-unresolved.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# This operation is public. It takes no credentials.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/portal/manifest.webmanifest?client=<client>&org=<org>' \
-H 'Accept: application/json'

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.