Presentations
The Presentation APIs allow you to interrogate the folder and presentation structure of your Brainshark site. Use these endpoints to retrieve detailed information about content, search via tags or topics, and upload new media assets.
What you'll learn:
- How to retrieve folder structures
- Get presentation metadata and details
- Upload new content
- Work with tags and topics
Use folder.ashx to list folders, presentation.ashx to get content details, and tags.ashx/topic.ashx for
organizational metadata.
- An authenticated session (
sid,sky,uid) — see Authentication
Folder Retrieval
Use this endpoint to determine what folders are present in a site and get a count of the presentations contained within them.
Request
| Method | Endpoint | Description |
|---|---|---|
| GET | /brainshark/webservices_mobile/folder.ashx | Retrieves a list of folders and their presentation counts. |
Parameters
| Parameter | Type | Description |
|---|---|---|
sid, sky, uid | - | Standard session identifiers. |
includePresCountZero | boolean | Controls whether to include folders that contain zero presentations. Default: false |
mobileonly | boolean | When true, returns only folders containing mobile-optimized presentations. |
login_dir | string | The company's unique site directory. |
public_only | boolean | When true, returns only public folders. |
Example request
- cURL
- JavaScript
- Python
curl -X GET "https://www.brainshark.com/brainshark/webservices_mobile/folder.ashx?sid=987654321&sky=x9y8z7w6v5u4t3s2r1q0&uid=2548390"
const params = new URLSearchParams({
sid: '987654321',
sky: 'x9y8z7w6v5u4t3s2r1q0',
uid: 2548390,
});
const response = await fetch(`https://www.brainshark.com/brainshark/webservices_mobile/folder.ashx?${params}`);
const data = await response.json();
console.log(data);
import requests
url = "https://www.brainshark.com/brainshark/webservices_mobile/folder.ashx"
params = {
"sid": "987654321",
"sky": "x9y8z7w6v5u4t3s2r1q0",
"uid": 2548390
}
response = requests.get(url, params=params)
print(response.json())
Example response
The response is hierarchical. Each folder can contain a Children array of nested folders.
[
{
"ID": 221385,
"Description": "Product Training",
"FullPath": "/Product Training",
"Parent": null,
"LongDescription": "",
"NumberOfPresentations": 21,
"Children": [
{
"ID": 221390,
"Description": "Onboarding",
"FullPath": "/Product Training/Onboarding",
"Parent": 221385,
"LongDescription": "",
"NumberOfPresentations": 7,
"Children": []
}
]
}
]
Get Presentation Details
Retrieve complete metadata for a specific presentation or a list of presentations. This includes slide data, author information, and viewing URLs.
Request
| Method | Endpoint | Description |
|---|---|---|
| GET | /brainshark/webservices_mobile/presentation.ashx | Returns detailed data for the specified content. |
Parameters
| Parameter | Type | Description |
|---|---|---|
pid | string | A single Presentation ID or a comma-separated list of IDs. If omitted, the API returns all presentations authored by the logged-in user. |
folderid | integer | Filters results to only include presentations within a specific folder. |
sortby | string | Sets the sort criteria. Values: title, desc, id, author |
widgets | integer | Set to 1 to retrieve extended object data, required for some public session queries. |
sortdir | string | Sets the sort direction. Values: asc, desc |
offset | integer | Number of results to skip. Use with perpage for pagination. |
perpage | integer | Maximum number of results to return per page. |
authorid | integer | Filters results to presentations by a specific author ID. |
tagid | integer | Filters results to presentations with a specific tag ID. See Tags. |
topicid | integer | Filters results to presentations in a specific topic ID. See Topics. |
mobile | boolean | When true, returns only mobile-optimized presentations. |
login_dir | string | The company's unique site directory. |
public_only | boolean | When true, returns only public presentations. |
Q | string | Search query string to filter presentations by title. |
Attachments only appear in the response if the "Show link on attachments tab" setting is enabled for that specific asset in the Brainshark Edit Presentation interface.
Example Request
GET https://www.brainshark.com/brainshark/webservices_mobile/presentation.ashx?pid=131724&sid=...
Presentation Password
Use this endpoint to verify the password for a password-protected presentation before attempting to retrieve its content.
Request
| Method | Endpoint | Description |
|---|---|---|
| GET | /brainshark/webservices_mobile/password.ashx | Verifies the password for a presentation. |
Parameters
| Parameter | Type | Description |
|---|---|---|
sid, sky, uid | - | Standard session identifiers. |
pid | integer | Required. The ID of the password-protected presentation. |
pwd | string | Required. The password to verify. |
Example request
GET https://www.brainshark.com/brainshark/webservices_mobile/password.ashx?pid=131724&pwd=secret&sid=...
Upload Presentation
You can programmatically upload PowerPoint files or videos to a specific folder. The upload maps to the author associated with your current session.
Request
| Method | Endpoint | Description |
|---|---|---|
| POST | /brainshark/webservices_mobile/presentation.ashx | Uploads a media asset to a specified folder. |
Parameters
| Parameter | Type | Description |
|---|---|---|
folder_id | integer | Required. The ID of the destination folder. |
title | string | Required. The title for the new presentation. |
uploadtype | string | Required. Use video for video files or leave blank for PowerPoint. |
This endpoint requires a multipart/form-data POST with the file attached as form data.
Tags
Use this endpoint to retrieve the list of available tags. Tag IDs can be used as filters in the Presentation API.
Request
| Method | Endpoint | Description |
|---|---|---|
| GET | /brainshark/webservices_mobile/tags.ashx | Retrieves site-wide presentation tags. |
Parameters
| Parameter | Type | Description |
|---|---|---|
sid, sky, uid | - | Standard session identifiers. |
tag_type | string | Specifies the type of tags to return. Values: predefined, userdefined, both. Default: predefined (We recommend using both) |
sortby | string | Sets the sort criteria. Values: title, desc, id |
sortdir | string | Sets the sort direction. Values: asc, desc |
login_dir | string | The company's unique site directory. |
max | integer | Maximum number of tags to return. |
public_only | boolean | When true, returns only public tags. |
Topics
Use this endpoint to retrieve the list of available topics. Topic IDs can be used as filters in the Presentation API.
Request
| Method | Endpoint | Description |
|---|---|---|
| GET | /brainshark/webservices_mobile/topic.ashx | Retrieves site-wide presentation topics. |
Parameters
| Parameter | Type | Description |
|---|---|---|
sid, sky, uid | - | Standard session identifiers. |
includenetworktopics | boolean | When true, includes topics from network sites. |
mobileonly | boolean | When true, returns only topics marked for mobile. |
includeprescountzero | boolean | Controls whether to include topics with zero presentations. Default: false |
sortby | string | Sets the sort criteria. Values: title, desc, id |
sortdir | string | Sets the sort direction. Values: asc, desc |
login_dir | string | The company's unique site directory. |
public_only | boolean | When true, returns only public topics. |
Q | string | Search query string to filter topics by name. |
Was this page helpful?