Overview: SAPI SDKs


1.0 | What are the SAPI SDKs?

Blue Billywig provides four official SDKs for the Server API (SAPI). Each SDK wraps the same underlying HTTP API in a language-native package, handling authentication, request construction, and error handling for you. They are the recommended way to interact with the SAPI programmatically.

The SDKs are suited for server-side tasks such as:

  • Uploading and managing video content at scale
  • Building content management workflows and integrations
  • Retrieving analytics data programmatically
  • Automating publishing, updating, or deleting mediaclips
Note:

The SDKs are intended for server-side use only. Never expose your shared secret in client-side code or public repositories.

2.0 | Available SDKs

SDKLanguageMinimum versionPackage managerGitHub
PHP SDKPHP8.1+Composerbb-sapi-php-sdk
Node.js SDKNode.js / TypeScript18+npmbb-sapi-node-sdk
Python SDKPython3.xpipbb-sapi-python-sdk
PowerShell modulePowerShell7+PowerShell Gallerybb-sapi-powershell

All four SDKs cover entity CRUD operations and file uploads. The Python and PowerShell SDKs additionally include convenience helpers for analytics: top videos, unique viewers, viewcount reach, and ad statistics per video.

3.0 | Authentication prerequisite

All four SDKs use the same authentication mechanism: HOTP-based RPC token authentication. Before you can use any SDK, you need a shared secret from your Blue Billywig publication.

To retrieve your shared secret:

  1. In the OVP, go to Account Settings > API Keys.
  2. Click Show Secret next to the key you want to use.
  3. Copy the full value. It has the format {id}-{hex_secret}, for example 490-55c491d354cfefb9b4d26cf22fbdd0a1.

For more information, see SAPI Authentication and API key management.

4.0 | Clock synchronization

All four SDKs use a time-based token with a 120-second validity window. If your server clock differs significantly from the Blue Billywig server clock, authentication requests will fail. Ensure your server uses NTP for clock synchronization.

5.0 | SDK articles

Was this article helpful?

Related Articles

Contact Support
Can't find the answer you're looking for?
Contact Support