MicroStrategySDK
API reference for the MicroStrategySDK interface in the embed-dossier-mstr-react package.
Type Definition
interface MicroStrategySDK {
dossier: {
create: (
config: MicroStrategyDossierConfig
) => Promise<MicroStrategyDossier>
destroy: () => void
CustomAuthenticationType: {
AUTH_TOKEN: string
IDENTITY_TOKEN: string
}
EventType: EVENT_TYPE
}
auth: {
oidcLogin: (serverUrl: string) => Promise<string>
samlLogin: (serverUrl: string) => Promise<string>
}
embedding: {
featureFlags: Record<string, unknown> | unknown
}
embeddingContexts: {
embedLibraryPage: (
config: EmbedLibraryPageConfig
) => Promise<EmbedLibraryPage>
embedDossierConsumptionPage: (
config: EmbedDossierConsumptionPageConfig
) => Promise<EmbedDossierConsumptionPage>
embedBotConsumptionPage: (
config: EmbedBotConsumptionPageConfig
) => Promise<EmbedBotConsumptionPage>
embedReportPage: (config: EmbedReportPageConfig) => Promise<EmbedReportPage>
}
}
Properties and Methods
dossier
Object containing methods and properties related to dossier (dashboard) functionality.
dossier.create
create: (config: MicroStrategyDossierConfig) => Promise<MicroStrategyDossier>
Creates a new embedded dossier instance with the provided configuration.
Parameters:
config: MicroStrategyDossierConfig - Configuration options for the dossier.
Returns:
Promise<MicroStrategyDossier>: A promise that resolves to the created MicroStrategyDossier object.
dossier.destroy
destroy: () => void
Destroys the current dossier instance, cleaning up resources.
dossier.CustomAuthenticationType
CustomAuthenticationType: {
AUTH_TOKEN: string
IDENTITY_TOKEN: string
}
Constants for authentication types.
dossier.EventType
EventType: EVENT_TYPE
Enum of event types that can be used for event handling.
auth
Object containing authentication-related methods.
auth.oidcLogin
oidcLogin: (serverUrl: string) => Promise<string>
Initiates OpenID Connect (OIDC) authentication.
Parameters:
serverUrl:string- The base URL of the MicroStrategy Library server.
Returns:
Promise<string>: A promise that resolves to the authentication token.
auth.samlLogin
samlLogin: (serverUrl: string) => Promise<string>
Initiates SAML authentication.
Parameters:
serverUrl:string- The base URL of the MicroStrategy Library server.
Returns:
Promise<string>: A promise that resolves to the authentication token.
embedding
Object containing embedding-related properties.
embedding.featureFlags
featureFlags: Record<string, unknown> | unknown
Feature flags for the embedding SDK.
embeddingContexts
Object containing methods for embedding different types of MicroStrategy content.
embeddingContexts.embedLibraryPage
embedLibraryPage: (config: EmbedLibraryPageConfig) => Promise<EmbedLibraryPage>
Embeds a MicroStrategy Library page.
Parameters:
config: EmbedLibraryPageConfig - Configuration options for the library page.
Returns:
Promise<EmbedLibraryPage>: A promise that resolves to the EmbedLibraryPage object.
embeddingContexts.embedDossierConsumptionPage
embedDossierConsumptionPage: (config: EmbedDossierConsumptionPageConfig) =>
Promise<EmbedDossierConsumptionPage>
Embeds a MicroStrategy Dossier consumption page.
Parameters:
config: EmbedDossierConsumptionPageConfig - Configuration options.
Returns:
Promise<EmbedDossierConsumptionPage>: A promise that resolves to the EmbedDossierConsumptionPage object.
embeddingContexts.embedBotConsumptionPage
embedBotConsumptionPage: (config: EmbedBotConsumptionPageConfig) =>
Promise<EmbedBotConsumptionPage>
Embeds a MicroStrategy Bot consumption page.
Parameters:
config: EmbedBotConsumptionPageConfig - Configuration options.
Returns:
Promise<EmbedBotConsumptionPage>: A promise that resolves to the EmbedBotConsumptionPage object.
embeddingContexts.embedReportPage
embedReportPage: (config: EmbedReportPageConfig) => Promise<EmbedReportPage>
Embeds a MicroStrategy Report page.
Parameters:
config: EmbedReportPageConfig - Configuration options.
Returns:
Promise<EmbedReportPage>: A promise that resolves to the EmbedReportPage object.
Usage Example
// After the MicroStrategy SDK is loaded
const sdk = window.microstrategy
// Create a dossier
const dossier = await sdk.dossier.create({
placeholder: document.getElementById("dossier-container"),
url: "https://your-mstr-server/MicroStrategyLibrary/app/PROJECT_ID/DOSSIER_ID",
})
// Authenticate using OIDC
const authToken = await sdk.auth.oidcLogin(
"https://your-mstr-server/MicroStrategyLibrary"
)
// Embed a library page
const libraryPage = await sdk.embeddingContexts.embedLibraryPage({
placeholder: document.getElementById("library-container"),
serverUrl: "https://your-mstr-server/MicroStrategyLibrary",
})
Global Declaration
The package extends the global Window interface to make the SDK accessible:
declare global {
interface Window {
microstrategy: MicroStrategySDK
}
}