Skip to main content
The Theo class is the entry point for all API interactions.

Constructor

import { Theo } from "@hitheo/sdk";
const theo = new Theo({ apiKey: "theo_sk_..." });

Methods

Completions

MethodReturnsDescription
theo.complete(request)CompletionResponseRun a completion (non-streaming)
theo.stream(request)AsyncGenerator<StreamEvent>Stream a completion via SSE

Media & Content

MethodReturnsDescription
theo.images(request)ImageResponseGenerate images
theo.video(request)AsyncJobResponseGenerate video (async — poll with waitForJob)
theo.code(request)CodeResponseGenerate code
theo.research(request)AsyncJobResponseRun research (async — poll with waitForJob)
theo.documents(request)DocumentResponseGenerate documents (PDF, DOCX, etc.)

Audio

MethodReturnsDescription
theo.tts(request)ArrayBufferText-to-speech (returns audio bytes)
theo.stt(file, language?)SttResponseSpeech-to-text (accepts Blob/File)

Skills

MethodReturnsDescription
theo.skills(filter?)unknown[]List skills ("installed" or "marketplace")
theo.installSkill(id)voidInstall a marketplace skill
theo.uninstallSkill(id)voidUninstall a skill
theo.createSkill(input)unknownCreate a custom skill
theo.submitSkill(manifest)unknownSubmit for marketplace review
theo.submissions(status?)unknown[]List your submissions
theo.skillVersions(id)unknown[]Get version history

Workflows

MethodReturnsDescription
theo.workflows()unknown[]List workflows
theo.createWorkflow(input)unknownCreate a workflow
theo.triggerWorkflow(id, data?)unknownTrigger a workflow run

Resources

MethodReturnsDescription
theo.models()ModelInfo[]List available models
theo.tools()unknown[]List available tools
theo.conversations()unknown[]List conversations
theo.conversation(id)unknownGet a specific conversation
theo.usage(params?)unknownGet usage data
theo.health()HealthResponseCheck system health

Jobs

MethodReturnsDescription
theo.job(jobId)JobStatusGet job status
theo.waitForJob(jobId, interval?, maxWait?)JobStatusPoll until complete/failed

E.V.I.

MethodReturnsDescription
theo.evi(config)EviInstanceCreate an E.V.I. instance

E.V.I. Canvas

Full reference: sdk-reference/canvases.
MethodReturnsDescription
theo.canvases()CanvasRecord[]List the authenticated user’s canvases
theo.canvas(id)CanvasRecordGet a single canvas
theo.createCanvas(input)CanvasRecordCreate a canvas
theo.updateCanvas(id, input)CanvasRecordUpdate a canvas
theo.deleteCanvas(id)voidDelete a canvas
theo.compileCanvas(id)CanvasCompileResultCompile into SkillManifest + WorkflowSteps
theo.testCanvas(id, message, history?)CanvasTestResultSandbox test message
theo.publishCanvas(id, opts)CanvasPublishResultPublish (private/org/public)

Webhooks

MethodReturnsDescription
theo.listWebhooks()unknown[]List org webhooks
theo.createWebhook(input)unknownCreate a webhook (returns signing_secret once)
theo.updateWebhook(id, input)voidUpdate URL / events / enabled / description
theo.deleteWebhook(id)voidDelete a webhook
theo.testWebhook(id)voidSend a test event
theo.webhookDeliveries(id)unknown[]Recent delivery attempts

Hooks

MethodReturnsDescription
theo.listHooks()unknown[]List installed hooks
theo.createHook(input)unknownInstall a hook (preset or custom event_pattern)
theo.updateHook(id, input)voidUpdate config / enabled / cooldown
theo.deleteHook(id)voidDelete a hook
theo.hookExecutions(id)unknown[]Execution history for a hook

Events

MethodReturnsDescription
theo.publishEvent(input)unknownPublish a domain event (triggers matching hooks + webhooks)