White-Label Your Organization

To customize the look of Dashboards and Analytical Designer, you can hide links to the GoodData documentation and upload your own logo for the whole portal.

You apply the white-labeling options for the whole organization - all workspaces in your organization inherit the new settings.

Hide Links to GoodData Documentation

You can hide the GoodData links to the documentation from Dashboards and Analytical Designer through the user interface or via API.

UI
API (Bash)
API (Powershell)

To hide the links through the user interface:

  1. Go to the Appearance > White-labeling section in your workspace Settings.
  2. Enable the Hide links to GoodData documentation option.
Enable white labeling

To create the whiteLabeling organization setting that enables you to hide the links, send the following POST request /api/v1/entities/organizationSettings/:

curl $ENDPOINT/api/v1/entities/organizationSettings \
  -H "Content-Type: application/vnd.gooddata.api+json" \
  -H "Accept: application/vnd.gooddata.api+json" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -X POST \
  -d '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true
            },
            "type": "WHITE_LABELING"
        }
    }
}' | jq .

To change the setting, send the following PUT request /api/v1/entities/organizationSettings/whiteLabeling:

curl $ENDPOINT/api/v1/entities/organizationSettings/whiteLabeling \
  -H "Content-Type: application/vnd.gooddata.api+json" \
  -H "Accept: application/vnd.gooddata.api+json" \
  -H "Authorization: Bearer bWFydGluLm1pbGlja2ExOmRldjozdElveCtKSzBuakdTWEFBV2lwYjZvdHYzR05aRUJNdA==" \
  -X PUT \
  -d '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true/false
            },
            "type": "WHITE_LABELING"
        }
    }
}' | jq .

To create the whiteLabeling organization setting that enables you to hide the links, send the following POST request /api/v1/entities/organizationSettings/:

Invoke-RestMethod -Method Post -Uri '$ENDPOINT/api/v1/entities/organizationSettings' `
-ContentType 'application/vnd.gooddata.api+json' `
-H @{ 
    'Accept' = 'application/vnd.gooddata.api+json'
    'Authorization' = 'Bearer {API_TOKEN}' 
} `
-Body '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true
            },
            "type": "WHITE_LABELING"
        }
    }
}' | ConvertTo-Json

To change the setting, send the following PUT request /api/v1/entities/organizationSettings/whiteLabeling:

Invoke-RestMethod -Method Put -Uri '$ENDPOINT/api/v1/entities/organizationSettings/whiteLabeling' `
-ContentType 'application/vnd.gooddata.api+json' `
-H @{ 
    'Accept' = 'application/vnd.gooddata.api+json'
    'Authorization' = 'Bearer {API_TOKEN}' 
} `
-Body '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true
            },
            "type": "WHITE_LABELING"
        }
    }
}' | ConvertTo-Json

To customize the appearance you can upload your own logo via API. You can change the following:

  • Logo
    The logo displayed in the top-left corner of the Portal.
  • Favicon
    The image that appears in the browser address bar.
  • Apple Touch icon
    The desktop icon that iOS users see when they save a GoodData page to the desktop.

To change the logo:

  1. White-list the logo locations.
  2. Create the whiteLabeling organization setting.
  3. Update the logo files.

White-list Domains

To use your own logo, you must white-list the domains where your logo files are located.

The logo files must be in locations that are publicly available on the Internet and must meet the following criteria:

DescriptionFormatSize (px)URL Format
faviconUrlThe URL pointing to the image that appears in the browser address bar.ICO16x16, 32x32, 48x48, 64x64Fully qualified or relative URL
logoUrlThe URL pointing to the logo displayed in the top-left corner of the Portal.PNG120x25Fully qualified or relative URL
appleTouchIconUrlThe URL pointing to the desktop icon that iOS users see when they save a GoodData page to the desktop.PNG114x114Fully qualified or relative URL
API (Bash)
API (Powershell)

To white-list the domains with logo locations, send the following PUT requests with the list of domains /api/v1/entities/cspDirectives/img-src:

curl $ENDPOINT/api/v1/entities/cspDirectives/img-src \
  -H "Content-Type: application/vnd.gooddata.api+json" \
  -H "Accept: application/vnd.gooddata.api+json" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -X PUT \
  -d '{
    "data": {
            "attributes": {
                "sources": [
                    "{DOMAIN_1_URL}",
                    "{DOMAIN_2_URL}"",
                    "{DOMAIN_3_URL}"",
                    "'\''self'\''"
                ]
            },
            "id": "img-src",
            "type": "cspDirective"
        }
}' | jq .

To white-list the domains with logo locations, send the following PUT requests with the list of domains /api/v1/entities/cspDirectives/img-src:

Invoke-RestMethod -Method Put -Uri '$ENDPOINT/api/v1/entities/cspDirectives/img-src' `
-ContentType 'application/vnd.gooddata.api+json' `
-H @{ 
    'Accept' = 'application/vnd.gooddata.api+json'
    'Authorization' = 'Bearer {API_TOKEN}' 
} `
-Body '{
    "data": {
            "attributes": {
                "sources": [
                    "{DOMAIN_1_URL}",
                    "{DOMAIN_2_URL}"",
                    "{DOMAIN_3_URL}"",
                    "''self''"
                ]
            },
            "id": "img-src",
            "type": "cspDirective"
        }
}' | ConvertTo-Json

Create Organization Setting

API (Bash)
API (Powershell)

To create the whiteLabeling organization settings, send the following POST request /api/v1/entities/organizationSettings:

curl $ENDPOINT/api/v1/entities/organizationSettings \
  -H "Content-Type: application/vnd.gooddata.api+json" \
  -H "Accept: application/vnd.gooddata.api+json" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -X POST \
  -d '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true,
                "faviconUrl": "{FAVICON_URL}",
                "logoUrl": "{LOGO_URL}",
                "appleTouchIconUrl": "{APPLE_TOUCH_ICON_URL}"
            },
            "type": "WHITE_LABELING"
        }
    }
}' | jq .

To create the whiteLabeling organization settings, send the following POST request /api/v1/entities/organizationSettings:

Invoke-RestMethod -Method Post -Uri '$ENDPOINT/api/v1/entities/organizationSettings' `
-ContentType 'application/vnd.gooddata.api+json' `
-H @{ 
    'Accept' = 'application/vnd.gooddata.api+json'
    'Authorization' = 'Bearer {API_TOKEN}' 
} `
-Body '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true,
                "faviconUrl": "{FAVICON_URL}",
                "logoUrl": "{LOGO_URL}",
                "appleTouchIconUrl": "{APPLE_TOUCH_ICON_URL}"
            },
            "type": "WHITE_LABELING"
        }
    }
}' | ConvertTo-Json
API (Bash)
API (Powershell)

To update the logo, send the following PUT request /api/v1/entities/organizationSettings/whiteLabeling:

curl $ENDPOINT/api/v1/entities/organizationSettings/whiteLabeling \
  -H "Content-Type: application/vnd.gooddata.api+json" \
  -H "Accept: application/vnd.gooddata.api+json" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -X PUT \
  -d '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true,
                "faviconUrl": "{FAVICON_URL}",
                "logoUrl": "{LOGO_URL}",
                "appleTouchIconUrl": "{APPLE_TOUCH_ICON_URL}"
            },
            "type": "WHITE_LABELING"
        }
    }
}' | jq .

To update the logo, send the following PUT request /api/v1/entities/organizationSettings/whiteLabeling:

Invoke-RestMethod -Method Put -Uri '$ENDPOINT/api/v1/entities/organizationSettings/whiteLabeling' `
-ContentType 'application/vnd.gooddata.api+json' `
-H @{ 
    'Accept' = 'application/vnd.gooddata.api+json'
    'Authorization' = 'Bearer {API_TOKEN}' 
} `
-Body '{
    "data": {
        "type": "organizationSetting",
        "id": "<some-id>",
        "attributes": {
            "content": {
                "enabled": true,
                "faviconUrl": "{FAVICON_URL}",
                "logoUrl": "{LOGO_URL}",
                "appleTouchIconUrl": "{APPLE_TOUCH_ICON_URL}"
            },
            "type": "WHITE_LABELING"
        }
    }
}' | ConvertTo-Json