seminaraHelp

seminara.online REST API Reference & Developer Resources

Official REST API reference and developer resources for generating, testing, and managing presentation sessions on seminara.online.

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:

http
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:

  1. Request Device Code: POST https://seminara.online/api/v1/oauth/device/code
  2. User Authorization: Direct user to https://seminara.online/activate
  3. 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: 100
    • RateLimit-Remaining: 99
    • RateLimit-Reset: 60
    • Retry-After: 60 (on HTTP 429)

5. Standard Error Responses

All API errors return structured JSON conforming to RFC 9457:

json
{
  "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

bash
npm install seminara-sdk

2. Initialize the Client

typescript
import { Seminara } from 'seminara-sdk'

const client = new Seminara({
  apiKey: process.env.SEMINARA_API_KEY
})
typescript
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

bash
pip install seminara
python
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

bash
go get github.com/shivamselam/seminara-agentic-suite/go
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

bash
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.