openapi: 3.0.0
info:
title: ThoughtSpot Public REST 10.1.0.cl Style Customization API
version: '2.0'
servers:
- url: '{base-url}'
variables:
base-url:
default: https://localhost:443
security:
- bearerAuth: []
tags:
- name: Style Customization
paths:
/api/rest/2.0/customization/styles/fonts/delete:
post:
operationId: deleteStyleFonts
description: "\n Version: 26.7.0.cl or later\n\nDeletes one or more custom fonts from the cluster-level or org-level font library. If a deleted font is assigned to visualization areas, those assignments automatically fallback to the cluster/system default font. The response lists all affected areas where the font was explicitly set. Note: dry_run defaults to true. To actually delete fonts, you must explicitly pass dry_run: false.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\n- Provide one or more font UUIDs or names in `font_identifiers`.\n- Set `scope` to `CLUSTER` to delete from the cluster-level library. Set `scope` to `ORG` (default) to delete from the authenticated user's org library.\n- Use `dry_run: true` to preview which visualization areas would be affected without actually deleting the font. The response lists affected assignments; no changes are applied.\n- Deletions cannot be undone. Re-upload the font file using `uploadStyleFont` if needed.\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteStyleFontsRequest'
required: true
parameters: []
responses:
'200':
description: Font deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/StyleFontDeleteData'
examples:
example_1:
summary: Font deleted with affected assignments
value:
affected_assignments:
- org:
id: 1234567890
name: Sales
visualization_areas:
- CHART_X_AXIS_LABELS
- CHART_Y_AXIS_LABELS
example_2:
summary: Font deleted with no affected assignments
value:
affected_assignments: []
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Field 'font_identifiers' must contain at least one identifier.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to delete custom fonts from the font library.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Only Tenant admin can delete cluster-level fonts.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while deleting fonts from the font library.
/api/rest/2.0/customization/styles/logos/export:
post:
operationId: exportStyleLogos
description: "\n Version: 26.7.0.cl or later\n\nDownloads the active logos (default and wide slots) at the requested scope as a single ZIP archive containing both logo image files. If no custom logo has been uploaded at the ORG scope, the archive contains the resolved logo falling through from the cluster. If no cluster logo has been uploaded, no file is returned.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\n- Set `scope` to `CLUSTER` to download cluster-level logos.\n- Set `scope` to `ORG` (default) to download logos for the authenticated user's org.\n- The response is a ZIP archive (`application/zip`). Save the response body directly to a `.zip` file.\n- The archive always contains two files — one for the DEFAULT slot and one for the WIDE slot — even if no custom logo is set at the requested scope.\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportStyleLogosRequest'
required: true
parameters:
- name: Accept
in: header
schema:
type: string
enum:
- application/zip
default: application/zip
responses:
'200':
description: Logo ZIP archive retrieved successfully.
content:
application/zip: {}
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to export style logos.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Cluster-level logos can only be exported from PRIMARY org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while exporting style logos.
/api/rest/2.0/customization/styles/search:
post:
operationId: searchStyleCustomizations
description: "\n Version: 26.7.0.cl or later\n\nRetrieves style preferences at cluster level or for the authenticated user's org. Cluster-level preferences serve as defaults for all orgs. Org-level preferences override cluster defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\n- Set `scope` to `CLUSTER` to retrieve cluster-level style defaults.\n- Set `scope` to `ORG` (default) to retrieve preferences for the authenticated user's org.\n- Each field in the response includes an `is_overridden` flag indicating whether the value was explicitly set at the requested scope or inherited from a parent scope (cluster or system default).\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchStyleCustomizationsRequest'
required: true
parameters: []
responses:
'200':
description: Style preferences retrieved successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StylePreference'
examples:
example_1:
value:
- scope: CLUSTER
navigation_panel:
theme: DARK
is_overridden: false
chart_color_palette:
colors:
- primary: '#2359B6'
secondary:
- '#1A4690'
- '#0E2E66'
- '#07194A'
- '#030D30'
- primary: '#E8552D'
secondary:
- '#C4421A'
- '#9E2F0D'
- '#7A2005'
- '#581302'
- primary: '#F5A623'
secondary:
- '#D08B0E'
- '#A86E05'
- '#825202'
- '#5E3900'
- primary: '#7ED321'
secondary:
- '#62A815'
- '#488009'
- '#305A03'
- '#1C3800'
- primary: '#9B59B6'
secondary:
- '#7D3F9A'
- '#612C7E'
- '#481C62'
- '#320F48'
- primary: '#1ABC9C'
secondary:
- '#0E9E81'
- '#077F67'
- '#03624E'
- '#014838'
- primary: '#E74C3C'
secondary:
- '#C0392B'
- '#9A2518'
- '#761409'
- '#540703'
- primary: '#3498DB'
secondary:
- '#1A7DC0'
- '#0E60A0'
- '#074580'
- '#032C60'
disable_color_rotation: false
is_overridden: false
embedded_footer_text:
value: ''
is_overridden: false
logo:
default_logo:
id: a1b2c3d4-0001-0001-0001-000000000001
is_overridden: false
wide_logo:
id: a1b2c3d4-0002-0002-0002-000000000002
is_overridden: false
visualization_fonts:
chart_visualization_fonts:
- visualization_area: CHART_X_AXIS_LABELS
font_id: null
font_name: null
is_overridden: false
table_visualization_fonts:
- visualization_area: TABLE_VALUE_CELLS
font_id: null
font_name: null
is_overridden: false
- scope: ORG
org:
id: 1234567890
name: Sales
navigation_panel:
theme: CUSTOM
base_color: '#2359B6'
is_overridden: true
chart_color_palette:
colors:
- primary: '#2359B6'
secondary:
- '#1A4690'
- '#0E2E66'
- '#07194A'
- '#030D30'
- primary: '#E8552D'
secondary:
- '#C4421A'
- '#9E2F0D'
- '#7A2005'
- '#581302'
- primary: '#F5A623'
secondary:
- '#D08B0E'
- '#A86E05'
- '#825202'
- '#5E3900'
- primary: '#7ED321'
secondary:
- '#62A815'
- '#488009'
- '#305A03'
- '#1C3800'
- primary: '#9B59B6'
secondary:
- '#7D3F9A'
- '#612C7E'
- '#481C62'
- '#320F48'
- primary: '#1ABC9C'
secondary:
- '#0E9E81'
- '#077F67'
- '#03624E'
- '#014838'
- primary: '#E74C3C'
secondary:
- '#C0392B'
- '#9A2518'
- '#761409'
- '#540703'
- primary: '#3498DB'
secondary:
- '#1A7DC0'
- '#0E60A0'
- '#074580'
- '#032C60'
disable_color_rotation: false
is_overridden: false
embedded_footer_text:
value: Powered by Sales Analytics
is_overridden: true
logo:
default_logo:
id: b2c3d4e5-0001-0001-0001-000000000011
is_overridden: true
wide_logo:
id: b2c3d4e5-0002-0002-0002-000000000022
is_overridden: true
visualization_fonts:
chart_visualization_fonts:
- visualization_area: CHART_X_AXIS_LABELS
font_id: c3d4e5f6-1111-1111-1111-111111111111
font_name: Acme Sans
is_overridden: true
table_visualization_fonts:
- visualization_area: TABLE_VALUE_CELLS
font_id: null
font_name: Optimo-Plain, Helvetica Neue, Helvetica, Arial, sans-serif
is_overridden: false
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Field 'org_identifiers' is only allowed when scope is ORG.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to retrieve style preferences for the cluster or org.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Cluster config can only be accessed from PRIMARY org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while retrieving style customization preferences.
/api/rest/2.0/customization/styles/fonts/search:
post:
operationId: searchStyleFonts
description: "\n Version: 26.7.0.cl or later\n\nReturns custom fonts from the cluster-level or org-level font library. Omitting all filter fields returns all fonts in the target scope.\n\nWhen `include_font_assignments` is `true`, the response includes only the visualization areas explicitly assigned to each font. For cluster-scoped fonts, `org` is returned as `null`.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\n- Set `scope` to `CLUSTER` to search the cluster-level library. Set `scope` to `ORG` (default) to search the authenticated user's org library.\n- Use `font_identifier` to look up a specific font by UUID or name.\n- Use `name_pattern` for partial, case-insensitive name matching.\n- Set `include_font_assignments` to `true` to include visualization areas this font is currently assigned to. Defaults to `false`.\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchStyleFontsRequest'
required: true
parameters: []
responses:
'200':
description: Custom fonts retrieved successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StyleFontRecord'
examples:
example_1:
value:
- id: c3d4e5f6-1111-1111-1111-111111111111
scope: ORG
org:
id: 1234567890
name: Sales
name: Acme Sans
weight: NORMAL
style: NORMAL
color: '#333333'
creation_time_in_millis: 1714000000000
assignments:
- org:
id: 1234567890
name: Sales
visualization_areas:
- CHART_X_AXIS_LABELS
- CHART_Y_AXIS_LABELS
- id: d4e5f6a7-2222-2222-2222-222222222222
scope: CLUSTER
name: Corporate Bold
weight: BOLD
style: NORMAL
color: '#000000'
creation_time_in_millis: 1713500000000
assignments: []
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Only one of 'font_identifier' or 'name_pattern' may be provided.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to search the cluster-level or org-level font library.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Cluster config can only be accessed from PRIMARY org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while searching the font library.
/api/rest/2.0/customization/styles/update:
post:
operationId: updateStyleCustomization
description: "\n Version: 26.7.0.cl or later\n\nUpdates style preferences at cluster level or for the authenticated user's org, including navigation panel color, chart color palette, embedded footer text, logo, and font assignments per visualization area. Cluster-level preferences serve as defaults for all orgs. Org-level preferences override cluster defaults. Resetting an Org-level preference falls back to Cluster-level preference, which on reset falls back to system defaults.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\nTwo operations are supported via the `operation` field:\n\n- **REPLACE** (default): Applies the fields provided in the request. Omitted fields remain unchanged.\n- **RESET**: Reverts specific fields to defaults. Specify which fields to reset using `reset_options.style` (for style fields) and `reset_options.visualization_areas` (for font assignments). Fields not listed in `reset_options` are not affected.\n\n#### Logo upload\n\nLogo files are uploaded as binary fields using `multipart/form-data`:\n\n- `default_logo`: Square app icon and favicon. Recommended size: 140×140 px. Accepted formats: PNG, JPG.\n- `wide_logo`: Horizontal top nav bar logo. Recommended size: 230×45 px. Accepted formats: PNG, JPG.\n\nTo reset a logo to the default, use `operation: RESET` with `reset_options.style` set to `DEFAULT_LOGO` or `WIDE_LOGO`.\n\n#### Navigation panel color\n\nSet `navigation_panel.theme` to one of:\n\n- `DARK`: Default dark theme.\n- `TWO_TONE`: Dual-tone panel style.\n- `CUSTOM`: User-defined color. Provide `navigation_panel.base_color` as a 6-digit hex string (e.g. `#2359B6`).\n\n#### Chart color palette\n\nProvide exactly 8 color entries in `chart_color_palette.colors`. Each entry requires a `primary` hex color. If `secondary` shades are omitted, the server auto-generates 4 shades from the primary color.\n\n#### Font assignments\n\nSpecify `visualization_fonts.chart_visualization_fonts`, `visualization_fonts.table_visualization_fonts`, and `visualization_fonts.advanced_chart_visualization_fonts` to assign custom fonts to specific visualization areas. Only provide the areas you want to update; omitted areas remain unchanged.\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
scope:
description: 'Scope at which to apply the preferences. CLUSTER sets cluster-level
defaults for all orgs. ORG applies to the authenticated user''s org.'
default: ORG
type: string
enum:
- CLUSTER
- ORG
operation:
description: 'Operation to perform. REPLACE (default) applies the provided fields and
leaves omitted fields unchanged. RESET reverts fields listed in
reset_options to defaults.'
default: REPLACE
type: string
enum:
- REPLACE
- RESET
reset_options:
description: 'Fields to reset when operation is RESET. Specify style fields and
visualization areas to revert to defaults.'
allOf:
- $ref: '#/components/schemas/StyleResetOptionsInput'
navigation_panel:
description: 'Navigation panel color. Provide theme and, when theme is CUSTOM, also
provide base_color.'
allOf:
- $ref: '#/components/schemas/NavigationPanelInput'
chart_color_palette:
description: 'Chart color palette. When provided with operation REPLACE, exactly 8
color entries must be specified in colors.'
allOf:
- $ref: '#/components/schemas/StyleColorPaletteInput'
embedded_footer_text:
description: 'Custom footer text for the embedded application. An empty
string clears the footer.'
type: string
visualization_fonts:
description: 'Font assignments per visualization area. Provide only the areas to
update; omitted areas remain unchanged.'
allOf:
- $ref: '#/components/schemas/VisualizationFontsInput'
default_logo:
description: 'Binary image for the DEFAULT logo slot (square app icon and favicon;
recommended 140x140 px). Accepted formats: PNG, JPG.'
type: string
format: binary
wide_logo:
description: 'Binary image for the WIDE logo slot (horizontal top nav bar logo;
recommended 230x45 px). Accepted formats: PNG, JPG.'
type: string
format: binary
required:
- scope
encoding:
reset_options:
contentType: application/json
navigation_panel:
contentType: application/json
chart_color_palette:
contentType: application/json
visualization_fonts:
contentType: application/json
required: true
parameters: []
responses:
'204':
description: Style preferences updated successfully.
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: chart_color_palette must specify exactly 8 color entries when operation is REPLACE.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to update style customization preferences.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Cluster-level style customization can only be updated from PRIMARY org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while updating style customization preferences.
/api/rest/2.0/customization/styles/fonts/{font_identifier}/update:
post:
operationId: updateStyleFont
description: "\n Version: 26.7.0.cl or later\n\nUpdates the metadata of an existing custom font in the cluster-level or org-level font library. Only the fields provided in the request are modified; omitted fields remain unchanged.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\n- Identify the font using `font_identifier` (UUID or name).\n- Set `scope` to `CLUSTER` to target the cluster-level library. Set `scope` to `ORG` (default) to target the authenticated user's org library.\n- To replace the font file itself (WOFF/WOFF2 binary), delete the existing font and re-upload using `uploadStyleFont`.\n- `color` must be a valid 6-digit hex string (e.g. `#333333`) if provided.\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateStyleFontRequest'
required: true
parameters:
- in: path
name: font_identifier
required: true
schema:
type: string
description: UUID or name of the font to update.
responses:
'204':
description: Font metadata updated successfully.
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Font color must be a valid 6-digit hex string (e.g. '#333333').
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to update a custom font.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Only Tenant admin can update cluster-level fonts.
'500':
description: Unexpected error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while updating the custom font.
/api/rest/2.0/customization/styles/fonts/upload:
post:
operationId: uploadStyleFont
description: "\n Version: 26.7.0.cl or later\n\nUploads a custom font to the cluster-level or org-level font library. Cluster-level fonts are available as defaults for all orgs. Org-level fonts are only available within that org.\n\nRequires `ADMINISTRATION` (**Can administer ThoughtSpot**) or `DEVELOPER` (**Has developer privilege**) privilege.\n\n#### Usage guidelines\n\n- Only **WOFF** and **WOFF2** font formats are accepted. TTF and OTF files are rejected with an error.\n- Set `scope` to `CLUSTER` to upload to the cluster-level library. Set `scope` to `ORG` (default) to upload to the authenticated user's org library.\n- `weight` defaults to `NORMAL` if omitted. Supported values: `NORMAL`, `LIGHT`, `BOLD`.\n- `style` defaults to `NORMAL` if omitted. Supported values: `NORMAL`, `ITALIC`, `OBLIQUE`.\n- `color` defaults to `#000000` (black) if omitted. Provide as a 6-digit hex string (e.g. `#333333`).\n- The uploaded font can be assigned to visualization areas using the `updateStyleCustomization` endpoint.\n\n\n\n\n#### Endpoint URL\n"
tags:
- Style Customization
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
scope:
description: 'Scope of the font library to upload to. CLUSTER uploads to the
cluster-level library, making the font available as a default for all
orgs. ORG uploads to the authenticated user''s org library. Defaults to
ORG if omitted.'
default: ORG
type: string
enum:
- CLUSTER
- ORG
name:
description: Display name for the font (e.g. "Acme Sans").
type: string
weight:
description: 'Weight of the font. Supported values: NORMAL, LIGHT, BOLD. Defaults to
NORMAL if omitted.'
default: NORMAL
type: string
enum:
- NORMAL
- LIGHT
- BOLD
style:
description: 'Style of the font. Supported values: NORMAL, ITALIC, OBLIQUE. Defaults
to NORMAL if omitted.'
default: NORMAL
type: string
enum:
- NORMAL
- ITALIC
- OBLIQUE
color:
description: 'Color of the font as a 6-digit hex string (e.g. "#333333"). Defaults to
#000000 (black) if omitted. Returns an error if the value is malformed.'
type: string
file_content:
description: 'Binary WOFF or WOFF2 font file to upload. Only WOFF and WOFF2 formats
are accepted; TTF and OTF are rejected. The file is validated on upload.'
type: string
format: binary
required:
- name
- file_content
required: true
parameters: []
responses:
'200':
description: Font uploaded successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/StyleFontUploadData'
examples:
example_1:
value:
id: c3d4e5f6-1111-1111-1111-111111111111
name: Acme Sans
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalid_request:
summary: Invalid request
value:
error:
message:
code: 10002
incident_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
trace_id_guid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
debug: Unsupported font format. Only WOFF and WOFF2 are accepted.
'401':
description: Unauthorized access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized_access:
summary: Unauthorized access
value:
error:
message:
code: 10097
incident_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
trace_id_guid: b2c3d4e5-f678-9012-bcde-f23456789012
debug: Authentication required to upload a custom font to the font library.
'403':
description: Forbidden access.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
forbidden_access:
summary: Forbidden access
value:
error:
message:
code: 10023
incident_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
trace_id_guid: c3d4e5f6-7890-1234-cdef-345678901234
debug: Cluster config can only be accessed from PRIMARY org.
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unexpected_error:
summary: Unexpected error
value:
error:
message:
code: 10038
incident_id_guid: d4e5f678-9012-3456-defa-456789012345
trace_id_guid: d4e5f678-9012-3456-defa-456789012345
debug: Unexpected server error while uploading the custom font.
components:
schemas:
StyleNavigationPanel:
type: object
properties:
theme:
type: string
enum:
- DARK
- TWO_TONE
- CUSTOM
description: Navigation panel color mode.
nullable: true
base_color:
type: string
description: Base color as a 6-digit hex string. Present only when theme is CUSTOM.
nullable: true
is_overridden:
type: boolean
description: True if explicitly set at this scope, overriding any inherited value.
nullable: true
description: Navigation panel color configuration for a specific scope.
StyleFontRecord:
type: object
required:
- id
- name
properties:
id:
type: string
description: Unique UUID identifier of the font.
scope:
type: string
enum:
- CLUSTER
- ORG
description: Scope indicating whether this font belongs to the cluster or org library.
nullable: true
org:
$ref: '#/components/schemas/StyleOrgInfo'
description: Org associated with this font. Present only when scope is ORG.
nullable: true
name:
type: string
description: Display name of the font.
weight:
type: string
enum:
- NORMAL
- LIGHT
- BOLD
description: Weight of the font.
nullable: true
style:
type: string
enum:
- NORMAL
- ITALIC
- OBLIQUE
description: Style of the font.
nullable: true
color:
type: string
description: Color of the font as a 6-digit hex string.
nullable: true
creation_time_in_millis:
type: number
format: float
description: Timestamp in milliseconds when the font was uploaded.
nullable: true
assignments:
type: array
items:
$ref: '#/components/schemas/StyleFontAssignment'
description: 'Visualization areas currently assigned to this font. Empty if not assigned
to any area. Populated only when include_font_assignments is true.'
nullable: true
description: A custom font record in the font library.
StyleFontDeleteAffectedAssignment:
type: object
properties:
org:
$ref: '#/components/schemas/StyleOrgInfo'
description: Org context for this assignment. Present only when scope is ORG.
nullable: true
visualization_areas:
type: array
items:
type: string
enum:
- CHART_X_AXIS_LABELS
- CHART_X_AXIS_TITLE
- CHART_Y_AXIS_LABELS
- CHART_Y_AXIS_TITLE
- CHART_TOOLTIP
- CHART_SCATTER_DATA_LABELS
- CHART_DONUT_DATA_LABELS
- CHART_LINE_DATA_LABELS
- CHART_COLUMN_DATA_LABELS
- CHART_BAR_DATA_LABELS
- CHART_AREA_DATA_LABELS
- TABLE_VALUE_CELLS
- ADVANCED_CHART_LABELS
description: 'Visualization areas that used the deleted font and were automatically reset
to the system default font.'
nullable: true
description: A visualization area assignment affected by a font deletion.
ChartFontAssignmentInput:
type: object
required:
- visualization_area
- font_identifier
properties:
visualization_area:
type: string
enum:
- CHART_X_AXIS_LABELS
- CHART_X_AXIS_TITLE
- CHART_Y_AXIS_LABELS
- CHART_Y_AXIS_TITLE
- CHART_TOOLTIP
- CHART_SCATTER_DATA_LABELS
- CHART_DONUT_DATA_LABELS
- CHART_LINE_DATA_LABELS
- CHART_COLUMN_DATA_LABELS
- CHART_BAR_DATA_LABELS
- CHART_AREA_DATA_LABELS
description: Chart visualization area to assign the font to.
font_identifier:
type: string
description: UUID or name of the font to assign to this area.
description: Font assignment for a single chart visualization area.
StyleColorEntry:
type: object
properties:
primary:
type: string
description: Primary color as a 6-digit hex string.
nullable: true
secondary:
type: array
items:
type: string
description: Array of 4 secondary shade hex strings.
nullable: true
description: A single color entry in the chart color palette.
StyleEmbeddedFooterText:
type: object
properties:
value:
type: string
description: Footer text value. Empty string indicates no footer is set.
nullable: true
is_overridden:
type: boolean
description: True if explicitly set at this scope, overriding any inherited value.
nullable: true
description: Embedded footer text configuration for a specific scope.
NavigationPanelInput:
type: object
properties:
theme:
type: string
enum:
- DARK
- TWO_TONE
- CUSTOM
description: 'Color mode for the navigation panel. DARK applies the default dark theme.
TWO_TONE applies a dual-tone style. CUSTOM enables a user-defined base
color; base_color is required when theme is CUSTOM.'
nullable: true
base_color:
type: string
description: 'Base color as a 6-digit hex string (e.g. "#2359B6"). Required when theme
is CUSTOM.'
nullable: true
description: Navigation panel color configuration.
StyleOrgInfo:
type: object
properties:
id:
type: integer
format: int32
description: Unique integer ID of the org.
nullable: true
name:
type: string
description: Name of the org.
nullable: true
description: Org information returned in style API responses.
StyleFontDeleteData:
type: object
properties:
affected_assignments:
type: array
items:
$ref: '#/components/schemas/StyleFontDeleteAffectedAssignment'
description: 'Visualization areas that used the deleted font(s) and were automatically
reset to the system default font. Empty if no areas were affected.'
nullable: true
description: Result data for font deletion.
ErrorResponse:
type: object
properties:
error:
type: object
nullable: true
StyleChartColorPalette:
type: object
properties:
colors:
type: array
items:
$ref: '#/components/schemas/StyleColorEntry'
description: Ordered array of 8 color entries.
nullable: true
disable_color_rotation:
type: boolean
description: When true, automatic color rotation across chart data series is disabled.
nullable: true
is_overridden:
type: boolean
description: True if explicitly set at this scope, overriding any inherited value.
nullable: true
description: Chart color palette configuration for a specific scope.
TableVisualizationFontRecord:
type: object
properties:
visualization_area:
type: string
enum:
- TABLE_VALUE_CELLS
description: Table visualization area.
nullable: true
font_id:
type: string
description: 'UUID of the font assigned to this area. Null when the system default font
is active.'
nullable: true
font_name:
type: string
description: 'Display name of the font assigned to this area. Null when the system
default font is active.'
nullable: true
is_overridden:
type: boolean
description: True if explicitly set at this scope, overriding any inherited value.
nullable: true
description: Font assignment for a table visualization area in the response.
AdvancedChartFontAssignmentInput:
type: object
required:
- visualization_area
- font_identifier
properties:
visualization_area:
type: string
enum:
- ADVANCED_CHART_LABELS
description: 'Advanced chart visualization area to assign the font to.
Version: 26.7.0.cl or later'
font_identifier:
type: string
description: 'UUID or name of the font to assign to this area.
Version: 26.7.0.cl or later'
description: Font assignment for a single advanced chart visualization area.
StyleLogoSlot:
type: object
properties:
id:
type: string
description: UUID of the active logo.
nullable: true
is_overridden:
type: boolean
description: 'True if a custom logo is uploaded at this scope. False if the system
default or cluster logo is active.'
nullable: true
description: Status of a single logo slot.
StyleFontUploadData:
type: object
required:
- id
- name
properties:
id:
type: string
description: Unique UUID identifier of the uploaded font.
name:
type: string
description: Display name of the uploaded font.
description: Font data returned after a successful upload.
StyleColorEntryInput:
type: object
required:
- primary
properties:
primary:
type: string
description: Primary color as a 6-digit hex string (e.g. "#2359B6"). Required.
secondary:
type: array
items:
type: string
description: 'Array of exactly 4 secondary shade hex strings. If omitted, the server
auto-generates 4 shades from the primary color. If provided, must contain
exactly 4 valid 6-digit hex color strings.'
nullable: true
description: A single color entry in the chart color palette.
VisualizationFontsInput:
type: object
properties:
chart_visualization_fonts:
type: array
items:
$ref: '#/components/schemas/ChartFontAssignmentInput'
description: 'Font assignments for chart visualization areas. Provide only the areas to
update; omitted areas remain unchanged.'
nullable: true
table_visualization_fonts:
type: array
items:
$ref: '#/components/schemas/TableFontAssignmentInput'
description: 'Font assignments for table visualization areas. Provide only the areas to
update; omitted areas remain unchanged.'
nullable: true
advanced_chart_visualization_fonts:
type: array
items:
$ref: '#/components/schemas/AdvancedChartFontAssignmentInput'
description: 'Font assignments for advanced chart visualization areas. Provide only the
areas to update; omitted areas remain unchanged.
Version: 26.7.0.cl or later'
nullable: true
description: Font assignments grouped by visualization type.
StyleColorPaletteInput:
type: object
properties:
colors:
type: array
items:
$ref: '#/components/schemas/StyleColorEntryInput'
description: Ordered array of exactly 8 color entries defining the chart color palette.
nullable: true
disable_color_rotation:
type: boolean
description: When true, disables automatic color rotation across chart data series.
nullable: true
description: Chart color palette configuration.
UpdateStyleFontRequest:
type: object
properties:
scope:
description: 'Scope of the font library containing this font. CLUSTER targets the
cluster-level library. ORG targets the authenticated user''s org library.
Defaults to ORG if omitted.'
default: ORG
type: string
enum:
- CLUSTER
- ORG
name:
description: New display name for the font.
type: string
weight:
description: 'New weight for the font. Supported values: NORMAL, LIGHT, BOLD.'
type: string
enum:
- NORMAL
- LIGHT
- BOLD
style:
description: 'New style for the font. Supported values: NORMAL, ITALIC, OBLIQUE.'
type: string
enum:
- NORMAL
- ITALIC
- OBLIQUE
color:
description: 'New color for the font as a 6-digit hex string (e.g. "#333333"). Returns
an error if the value is malformed.'
type: string
StyleLogoStatus:
type: object
properties:
default_logo:
$ref: '#/components/schemas/StyleLogoSlot'
description: 'Status of the DEFAULT logo slot (square app icon and favicon; recommended
140x140 px).'
nullable: true
wide_logo:
$ref: '#/components/schemas/StyleLogoSlot'
description: 'Status of the WIDE logo slot (horizontal top nav bar logo; recommended
230x45 px).'
nullable: true
description: Logo status per slot.
SearchStyleFontsRequest:
type: object
properties:
scope:
description: 'Scope of the font library to search. CLUSTER searches the cluster-level
library. ORG searches the authenticated user''s org library. Returns both Cluster and Org
level font if omitted.'
type: string
enum:
- CLUSTER
- ORG
font_identifier:
description: Filter by UUID or name of a specific font.
type: string
name_pattern:
description: Filter by font display name. Supports partial, case-insensitive matching.
type: string
include_font_assignments:
description: 'When true, includes visualization areas this font is assigned to in the
response. Defaults to false if omitted.'
default: false
type: boolean
nullable: true
StyleResetOptionsInput:
type: object
properties:
style:
type: array
items:
type: string
enum:
- CHART_COLOR_PALETTE
- EMBEDDED_FOOTER_TEXT
- NAV_PANEL_COLOR
- DEFAULT_LOGO
- WIDE_LOGO
description: 'Style fields to reset. Supported values: CHART_COLOR_PALETTE,
EMBEDDED_FOOTER_TEXT, NAV_PANEL_COLOR, DEFAULT_LOGO, WIDE_LOGO.'
nullable: true
visualization_areas:
type: array
items:
type: string
enum:
- CHART_X_AXIS_LABELS
- CHART_X_AXIS_TITLE
- CHART_Y_AXIS_LABELS
- CHART_Y_AXIS_TITLE
- CHART_TOOLTIP
- CHART_SCATTER_DATA_LABELS
- CHART_DONUT_DATA_LABELS
- CHART_LINE_DATA_LABELS
- CHART_COLUMN_DATA_LABELS
- CHART_BAR_DATA_LABELS
- CHART_AREA_DATA_LABELS
- TABLE_VALUE_CELLS
- ADVANCED_CHART_LABELS
description: 'Visualization areas whose font assignments should revert to the system
default font.'
nullable: true
description: Fields to revert to defaults when operation is RESET.
DeleteStyleFontsRequest:
type: object
properties:
scope:
description: 'Scope of the font library to delete from. CLUSTER deletes from the
cluster-level library. ORG deletes from the authenticated user''s org
library. Defaults to ORG if omitted.'
default: ORG
type: string
enum:
- CLUSTER
- ORG
font_identifiers:
description: 'UUIDs or names of the fonts to delete. At least one identifier is
required.'
type: array
items:
type: string
dry_run:
description: 'When true, returns affected assignments without applying the deletion.
Use this to preview the impact before committing. Defaults to true if
omitted.'
default: true
type: boolean
nullable: true
required:
- font_identifiers
ChartVisualizationFontRecord:
type: object
properties:
visualization_area:
type: string
enum:
- CHART_X_AXIS_LABELS
- CHART_X_AXIS_TITLE
- CHART_Y_AXIS_LABELS
- CHART_Y_AXIS_TITLE
- CHART_TOOLTIP
- CHART_SCATTER_DATA_LABELS
- CHART_DONUT_DATA_LABELS
- CHART_LINE_DATA_LABELS
- CHART_COLUMN_DATA_LABELS
- CHART_BAR_DATA_LABELS
- CHART_AREA_DATA_LABELS
description: Chart visualization area.
nullable: true
font_id:
type: string
description: 'UUID of the font assigned to this area. Null when the system default font
is active.'
nullable: true
font_name:
type: string
description: 'Display name of the font assigned to this area. Null when the system
default font is active.'
nullable: true
is_overridden:
type: boolean
description: True if explicitly set at this scope, overriding any inherited value.
nullable: true
description: Font assignment for a chart visualization area in the response.
AdvancedChartVisualizationFontRecord:
type: object
properties:
visualization_area:
type: string
enum:
- ADVANCED_CHART_LABELS
description: Advanced chart visualization area.
nullable: true
font_id:
type: string
description: 'UUID of the font assigned to this area. Null when the system default font
is active.'
nullable: true
font_name:
type: string
description: 'Display name of the font assigned to this area. Null when the system
default font is active.'
nullable: true
is_overridden:
type: boolean
description: True if explicitly set at this scope, overriding any inherited value.
nullable: true
description: Font assignment for an advanced chart visualization area in the response.
SearchStyleCustomizationsRequest:
type: object
properties:
scope:
description: 'Scope of the style preferences to retrieve. CLUSTER returns cluster-level
defaults. ORG returns preferences for the authenticated user''s org, which
may override cluster defaults. If not specified, returns both cluster and
org preferences based on user privileges.'
type: string
enum:
- CLUSTER
- ORG
ExportStyleLogosRequest:
type: object
properties:
scope:
description: 'Scope of the logos to export. CLUSTER exports cluster-level logos. ORG
exports logos for the authenticated user''s org, falling back to cluster
or defaults if no custom logo is set. Defaults to ORG if
omitted.'
default: ORG
type: string
enum:
- CLUSTER
- ORG
StyleVisualizationFonts:
type: object
properties:
chart_visualization_fonts:
type: array
items:
$ref: '#/components/schemas/ChartVisualizationFontRecord'
description: Font assignments for chart visualization areas.
nullable: true
table_visualization_fonts:
type: array
items:
$ref: '#/components/schemas/TableVisualizationFontRecord'
description: Font assignments for table visualization areas.
nullable: true
advanced_chart_visualization_fonts:
type: array
items:
$ref: '#/components/schemas/AdvancedChartVisualizationFontRecord'
description: 'Font assignments for advanced chart visualization areas.
Version: 26.7.0.cl or later'
nullable: true
description: Effective font assignments per visualization type.
StylePreference:
type: object
properties:
scope:
type: string
enum:
- CLUSTER
- ORG
description: Scope at which these style preferences apply.
nullable: true
org:
$ref: '#/components/schemas/StyleOrgInfo'
description: Org associated with these preferences. Present only when scope is ORG.
nullable: true
navigation_panel:
$ref: '#/components/schemas/StyleNavigationPanel'
description: Navigation panel color configuration.
nullable: true
chart_color_palette:
$ref: '#/components/schemas/StyleChartColorPalette'
description: Chart color palette configuration.
nullable: true
embedded_footer_text:
$ref: '#/components/schemas/StyleEmbeddedFooterText'
description: Embedded footer text configuration.
nullable: true
logo:
$ref: '#/components/schemas/StyleLogoStatus'
description: Logo status per slot.
nullable: true
visualization_fonts:
$ref: '#/components/schemas/StyleVisualizationFonts'
description: Effective font assignments per visualization area.
nullable: true
description: Style preferences for a single scope entry.
TableFontAssignmentInput:
type: object
required:
- visualization_area
- font_identifier
properties:
visualization_area:
type: string
enum:
- TABLE_VALUE_CELLS
description: Table visualization area to assign the font to.
font_identifier:
type: string
description: UUID or name of the font to assign to this area.
description: Font assignment for a single table visualization area.
StyleFontAssignment:
type: object
properties:
org:
$ref: '#/components/schemas/StyleOrgInfo'
description: Org context for this assignment. Present only when scope is ORG.
nullable: true
visualization_areas:
type: array
items:
type: string
enum:
- CHART_X_AXIS_LABELS
- CHART_X_AXIS_TITLE
- CHART_Y_AXIS_LABELS
- CHART_Y_AXIS_TITLE
- CHART_TOOLTIP
- CHART_SCATTER_DATA_LABELS
- CHART_DONUT_DATA_LABELS
- CHART_LINE_DATA_LABELS
- CHART_COLUMN_DATA_LABELS
- CHART_BAR_DATA_LABELS
- CHART_AREA_DATA_LABELS
- TABLE_VALUE_CELLS
- ADVANCED_CHART_LABELS
description: Visualization areas using this font.
nullable: true
description: Visualization areas assigned to a font, grouped by org context.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-roles:
- name: 26.2.0.cl
id: 26.2.0.cl
tags:
- 26.2.0.cl
description: Roles for version 26.2.0.cl
- name: 10.4.0.cl
id: 10.4.0.cl
tags:
- 10.4.0.cl
description: Roles for version 10.4.0.cl
- name: 26.7.0.cl
id: 26.7.0.cl
tags:
- 26.7.0.cl
description: Roles for version 26.7.0.cl
- name: 26.8.0.cl
id: 26.8.0.cl
tags:
- 26.8.0.cl
description: Roles for version 26.8.0.cl
- name: 26.6.0.cl
id: 26.6.0.cl
tags:
- 26.6.0.cl
description: Roles for version 26.6.0.cl
- name: 10.15.0.cl
id: 10.15.0.cl
tags:
- 10.15.0.cl
description: Roles for version 10.15.0.cl
- name: 10.13.0.cl
id: 10.13.0.cl
tags:
- 10.13.0.cl
description: Roles for version 10.13.0.cl
- name: 26.9.0.cl
id: 26.9.0.cl
tags:
- 26.9.0.cl
description: Roles for version 26.9.0.cl
- name: 10.7.0.cl
id: 10.7.0.cl
tags:
- 10.7.0.cl
description: Roles for version 10.7.0.cl
- name: 26.5.0.cl
id: 26.5.0.cl
tags:
- 26.5.0.cl
description: Roles for version 26.5.0.cl
- name: 9.0.0.cl
id: 9.0.0.cl
tags:
- 9.0.0.cl
description: Roles for version 9.0.0.cl
- name: 9.4.0.cl
id: 9.4.0.cl
tags:
- 9.4.0.cl
description: Roles for version 9.4.0.cl
- name: 9.12.0.cl
id: 9.12.0.cl
tags:
- 9.12.0.cl
description: Roles for version 9.12.0.cl
- name: 26.4.0.cl
id: 26.4.0.cl
tags:
- 26.4.0.cl
description: Roles for version 26.4.0.cl
- name: 10.12.0.cl
id: 10.12.0.cl
tags:
- 10.12.0.cl
description: Roles for version 10.12.0.cl
- name: 9.2.0.cl
id: 9.2.0.cl
tags:
- 9.2.0.cl
description: Roles for version 9.2.0.cl
- name: 9.9.0.cl
id: 9.9.0.cl
tags:
- 9.9.0.cl
description: Roles for version 9.9.0.cl
- name: 9.6.0.cl
id: 9.6.0.cl
tags:
- 9.6.0.cl
description: Roles for version 9.6.0.cl
- name: 10.10.0.cl
id: 10.10.0.cl
tags:
- 10.10.0.cl
description: Roles for version 10.10.0.cl
- name: 10.6.0.cl
id: 10.6.0.cl
tags:
- 10.6.0.cl
description: Roles for version 10.6.0.cl
- name: 10.3.0.cl
id: 10.3.0.cl
tags:
- 10.3.0.cl
description: Roles for version 10.3.0.cl
- name: 10.1.0.cl
id: 10.1.0.cl
tags:
- 10.1.0.cl
description: Roles for version 10.1.0.cl
- name: 10.9.0.cl
id: 10.9.0.cl
tags:
- 10.9.0.cl
description: Roles for version 10.9.0.cl
- name: 10.8.0.cl
id: 10.8.0.cl
tags:
- 10.8.0.cl
description: Roles for version 10.8.0.cl
- name: 9.5.0.cl
id: 9.5.0.cl
tags:
- 9.5.0.cl
description: Roles for version 9.5.0.cl
- name: 26.3.0.cl
id: 26.3.0.cl
tags:
- 26.3.0.cl
description: Roles for version 26.3.0.cl
- name: 10.14.0.cl
id: 10.14.0.cl
tags:
- 10.14.0.cl
description: Roles for version 10.14.0.cl
- name: 9.7.0.cl
id: 9.7.0.cl
tags:
- 9.7.0.cl
description: Roles for version 9.7.0.cl