Sharing Themes
Retrieve Sharing Themes to apply consistent branding (logos, colors, and layouts) to your Shares and Shared Spaces.
What you'll learn:
- How to retrieve a list of available Sharing Themes
- How to get details for a specific theme by ID
- How to identify the Global Theme and Division-specific themes
- List all themes? Use
GET /themesto retrieve all available themes - Get a specific theme? Use
GET /themes/{themeId}with the theme ID - Find the Global Theme? Look for
isGlobal: truein the response
When to use the API
Use the Showpad API for Sharing Themes when you need to:
| Retrieve theme IDs | Build theme selectors | Audit theme usage | Validate branding |
|---|---|---|---|
| Get theme IDs to pass when creating Shares or Shared Spaces. | Populate a dropdown so users can pick from available themes. | Review which themes exist across Divisions. | Verify a theme's colors and logos match brand guidelines. |
- Plan: Ultimate | Advanced or Expert
- Permissions: Administrator access to Showpad's Admin App
- Authentication: Valid OAuth 2.0 access token (learn more)
The Theme object
A Sharing Theme defines the visual branding applied to Shares and Shared Spaces. Themes control logos, colors, and layout to ensure consistent brand presentation across all shared content.
Response fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the Sharing Theme. |
title | string | Display name of the theme. |
isGlobal | boolean | Whether this is the organization-wide Global Theme. |
isDefault | boolean | Whether this theme is the default for the Division. |
displayData | object | Branding assets including logo and display image. |
displayData.aboutDescription | string | Description text shown in the theme. |
displayData.logo | object | null | Logo configuration with url property. |
displayData.displayImage | object | null | Promotional image configuration with url property. |
colorSettings | object | Color configuration for the theme. |
colorSettings.headerColor | string | Hex color code for the header background. |
colorSettings.headerFontColor | string | Hex color code for the header text. |
colorSettings.accentColor | string | Hex color code for accent elements. |
colorSettings.accentFontColor | string | Hex color code for accent text. |
createdAt | string | Timestamp when the theme was created, in ISO 8601 format. |
updatedAt | string | Timestamp when the theme was last modified, in ISO 8601 format. |
division | object | null | Division the theme belongs to, or null for the Global Theme. |
Base Endpoint
The base endpoint for Sharing Theme requests is:
https://{{subdomain}}.api.showpad.com/v4
Every API v4 request needs to be prefixed with the base endpoint.
Showpad adopts a strict approach for cross-origin requests. Only requests from your valid Showpad domain are allowed.
Sharing Themes are configured in the Showpad Admin App. The Showpad API provides read-only access to retrieve theme details and IDs for use when creating Shares or Shared Spaces.
Get a Sharing Theme
| Method | Endpoint | Description |
|---|---|---|
GET | /themes/{themeId} | Returns a single Sharing Theme (specified by {themeId}). |
Example
- cURL
- JavaScript
- Python
curl --request GET \
--url 'https://{{subdomain}}.api.showpad.com/v4/themes/51be10f001cd0303a4e308a22e051ecb' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'
const response = await fetch('https://{{subdomain}}.api.showpad.com/v4/themes/51be10f001cd0303a4e308a22e051ecb', {
method: 'GET',
headers: {
Authorization: 'Bearer {access_token}',
'Content-Type': 'application/json',
},
});
const theme = await response.json();
console.log(theme.title);
import requests
response = requests.get(
'https://{{subdomain}}.api.showpad.com/v4/themes/51be10f001cd0303a4e308a22e051ecb',
headers={
'Authorization': 'Bearer {access_token}',
'Content-Type': 'application/json'
}
)
theme = response.json()
print(theme['title'])
Response
{
"id": "51be10f001cd0303a4e308a22e051ecb",
"title": "Global Theme",
"isGlobal": true,
"isDefault": false,
"displayData": {
"aboutDescription": "Marketing & Revenue",
"logo": {
"url": "https://{{subdomain}}.showpad.com/catalog/setting/3/downloadLogo?hash=45c48cce2e2d7fbdea1afc51c7c6ad26"
},
"displayImage": {
"url": "https://{{subdomain}}.showpad.com/catalog/setting/3/downloadPromo?hash=d4c2e4a3297fe25a71d030b67eb83bfc"
}
},
"colorSettings": {
"headerColor": "426e7c",
"headerFontColor": "F6F6F6",
"accentColor": "216073",
"accentFontColor": "F6F6F6"
},
"createdAt": "2020-02-10T11:09:05.000Z",
"updatedAt": "2024-08-28T15:10:22.000Z",
"division": null
}
List Sharing Themes
| Method | Endpoint | Description |
|---|---|---|
GET | /themes | Returns a list of all Sharing Themes. |
Example
- cURL
- JavaScript
- Python
curl --request GET \
--url 'https://{{subdomain}}.api.showpad.com/v4/themes' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'
const response = await fetch('https://{{subdomain}}.api.showpad.com/v4/themes', {
method: 'GET',
headers: {
Authorization: 'Bearer {access_token}',
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data.items);
import requests
response = requests.get(
'https://{{subdomain}}.api.showpad.com/v4/themes',
headers={
'Authorization': 'Bearer {access_token}',
'Content-Type': 'application/json'
}
)
data = response.json()
print(data['items'])
Response
{
"count": 2,
"items": [
{
"id": "5385615a564eeef116fec329acb33276",
"title": "Growth Gold",
"isGlobal": false,
"isDefault": true,
"displayData": {
"aboutDescription": "",
"logo": {
"url": "https://{{subdomain}}.showpad.com/catalog/setting/4/downloadLogo?hash=33e75ff09dd601bbe69f351039152189"
},
"displayImage": null
},
"colorSettings": {
"headerColor": "666666",
"headerFontColor": "F6F6F6",
"accentColor": "666666",
"accentFontColor": "F6F6F6"
},
"createdAt": "2020-02-17T11:24:37.000Z",
"updatedAt": "2025-01-09T11:27:22.000Z",
"division": {
"id": "26092c300714ba38ecc245b0da65daef"
}
},
{
"id": "51be10f001cd0303a4e308a22e051ecb",
"title": "Global Theme",
"isGlobal": true,
"isDefault": false,
"displayData": {
"aboutDescription": "Marketing & Revenue",
"logo": {
"url": "https://{{subdomain}}.showpad.com/catalog/setting/3/downloadLogo?hash=45c48cce2e2d7fbdea1afc51c7c6ad26"
},
"displayImage": {
"url": "https://{{subdomain}}.showpad.com/catalog/setting/3/downloadPromo?hash=d4c2e4a3297fe25a71d030b67eb83bfc"
}
},
"colorSettings": {
"headerColor": "426e7c",
"headerFontColor": "F6F6F6",
"accentColor": "216073",
"accentFontColor": "F6F6F6"
},
"createdAt": "2020-02-10T11:09:05.000Z",
"updatedAt": "2024-08-28T15:10:22.000Z",
"division": null
}
]
}
Troubleshooting
If a request returns 404 Not Found, verify the theme ID exists and is accessible to the authenticated user. For a
complete list of error codes and response formats, see Error Codes.
Next Steps
- Shared Spaces: Create collaborative spaces that use Sharing Themes for branding.
Was this page helpful?