Seminara (https://seminara.online) provides a comprehensive REST API, Model Context Protocol (MCP) server, and OAuth 2.0 Device Authorization Flow for developers and autonomous AI agents.
1. Base URL & Environments
- Production API Base:
https://seminara.online/api/v1 - OpenAPI 3.1 Spec:
https://seminara.online/openapi.json - MCP Server Endpoint:
https://seminara.online/api/v1/mcp - Discovery Manifest:
https://seminara.online/.well-known/mcp.json
Sandbox & Free Tier
- Free Tier Available: Every new account receives free presentations and AI presenter minute credits immediately with no credit card required.
- Test Mode / Sandbox Rehearsal: Sessions created with
status: "draft"or tested in Test Mode provide a zero-cost sandbox environment to rehearse presentation flow and test voice responses before going live.
2. Authentication Methods
A. Self-Serve API Key Generation (Bearer Keys)
For server-to-server microservices and background scripts, perform instant self-serve API key generation directly from your Developer Dashboard (https://seminara.online/dashboard/settings) or via dynamic registration (POST /api/v1/auth/register). No manual approval or sales contact required.
Include your API key in the Authorization header:
Authorization: Bearer sk_live_your_api_key
B. OAuth 2.0 Device Authorization Flow (M2M & CLI)
For autonomous agents, IDE plugins, and CLI tools, Seminara supports RFC 8628 Device Flow:
- Request Device Code:
POST https://seminara.online/api/v1/oauth/device/code - User Authorization: Direct user to
https://seminara.online/activate - Poll Token:
POST https://seminara.online/api/v1/oauth/token
3. Scoped Permissions
The Seminara API uses granular scopes:
sessions:read: Read presentation outlines, slide contents, and metadata.sessions:write: Create and edit presentation sessions.analytics:read: Access attendee engagement scores and Q&A logs.leads:read: Retrieve attendee contact records and intent signals.checkout:write: Programmatically initiate subscription upgrades via integrated billing engine.
4. Rate Limiting
The API implements standard RFC rate limits:
- Rate Limit Window: 100 requests per minute per account.
- Headers Returned:
RateLimit-Limit: 100RateLimit-Remaining: 99RateLimit-Reset: 60Retry-After: 60(on HTTP 429)
5. Standard Error Responses
All API errors return structured JSON conforming to RFC 9457:
{
"error": {
"code": "INVALID_PARAMETERS",
"message": "The 'title' field is required.",
"status": 400,
"resolution": "Include a non-empty 'title' string in the JSON payload."
}
}
6. Official Multi-Language SDKs & CLI
Seminara provides official client SDKs across language ecosystems, as well as an OpenAPI 3.1 schema for custom generator pipelines.
1. Install the SDK
npm install seminara-sdk
2. Initialize the Client
import { Seminara } from 'seminara-sdk'
const client = new Seminara({
apiKey: process.env.SEMINARA_API_KEY
})
const session = await client.sessions.create({
title: 'Q3 Enterprise Product Demo',
isLive: true,
ctaText: 'Book Architecture Call',
ctaUrl: 'https://cal.com/enterprise-demo'
})
console.log(session.shareLink)
Python
pip install seminara
from seminara import SeminaraClient
client = SeminaraClient(api_key="sk_live_...")
session = client.create_session(
title="Autonomous Onboarding Walkthrough",
is_live=True
)
print(session["shareLink"])
Go
go get github.com/shivamselam/seminara-agentic-suite/go
package main
import (
"context"
"fmt"
"os"
"github.com/shivamselam/seminara-agentic-suite/go"
)
func main() {
client := seminara.NewClient("sk_live_...")
session, _ := client.CreateSession(seminara.CreateSessionRequest{
Title: "Keynote Presentation",
IsLive: true,
})
fmt.Println(session.ShareLink)
}
Official CLI Tool
npm install -g seminara-cli
seminara create --title "Live Deck Demo"
7. Frequently Asked Questions (FAQ)
Q: Can I use the API to upload PDFs directly?
Yes, via POST /api/v1/agent/sessions with pdfUrl or slide arrays.
Q: How do I rotate a compromised API key?
Regenerate your key in the Developer Dashboard (/dashboard/settings). Revocations take effect globally within seconds.
Q: How can autonomous agents upgrade account capacity?
Agents can call POST /api/v1/agent/checkout to generate a live checkout session with the integrated billing engine.