0
API uptime SLA
0
Native languages
0
Median latency
0
Active developers
REST API

A first-class API for everything AirMouse can do.

Full CRUD control over workflows, devices, clipboard, voice sessions, and AI inference — all over HTTPS with JSON. OpenAPI 3.1 spec included.

  • Versioned endpointsv1 stable · v2 beta — no breaking changes without notice
  • OpenAPI 3.1Machine-readable spec, Postman collection, and Insomnia export
  • Rate limits per tierStarter: 1k req/hr · Pro: 50k req/hr · Enterprise: unlimited
api — POST /v1/workflow/run
# Trigger a workflow via the REST API
curl -X POST https://api.airmouse.ai/v1/workflow/run \
  -H "Authorization: Bearer am_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "wf_standup_9am",
    "trigger": "api",
    "params": {
      "user_id": "usr_01J8XK",
      "device_id": "dev_macbook_pro",
      "dry_run": false
    }
  }'

# Response
{
  "id": "run_01J8XKABCDEF",
  "status": "running",
  "workflow_id": "wf_standup_9am",
  "steps_total": 4,
  "steps_done": 0,
  "started_at": "2025-01-14T09:00:01Z",
  "estimated_ms": 1240
}
SDKs

Native SDKs in your favourite language.

Every SDK ships with full type safety, async/await support, automatic retries, and built-in webhook verification.

JavaScript / TypeScript

Stable

Full TypeScript generics, Node.js and browser compatible. Works with Next.js, Deno, and Bun out of the box.

npm install @airmouse/sdk
v2.4.1ESM + CJSMIT

Python

Stable

asyncio-native with Pydantic models. Integrates cleanly with LangChain, FastAPI, and Jupyter notebooks.

pip install airmouse-sdk
v1.9.03.10+MIT

Go

Stable

Idiomatic Go with context propagation, structured errors, and zero external dependencies. Perfect for server-side automation.

go get github.com/airmouse/sdk-go
v1.3.2Go 1.21+MIT

Swift

Beta

Swift Concurrency–ready, SwiftUI bindings included. Build iOS Shortcuts extensions that talk directly to your workflows.

// Package.swift
.package(url: "https://github.com/airmouse/sdk-swift")
v0.8.0Swift 5.9+MIT

Kotlin

Beta

Coroutines-first design, Flow support, and Jetpack Compose–compatible. Build Android companion apps with full API coverage.

// build.gradle.kts
implementation("ai.airmouse:sdk-kotlin:0.7.1")
v0.7.1Kotlin 1.9+MIT

Rust

Alpha

Zero-cost async with Tokio, fully typed with serde. Ideal for building high-performance automation agents or system-level tools.

# Cargo.toml
airmouse = "0.3.0"
v0.3.0Rust 1.75+MIT
workflow.ts — AirMouse SDK
import { AirMouse } from '@airmouse/sdk';

const am = new AirMouse({ apiKey: process.env.AM_API_KEY });

// Define a multi-step workflow in TypeScript
const workflow = am.workflow.define({
  name: 'Deep Work Session',
  trigger: { type: 'voice', phrase: 'focus mode on' },
  steps: [
    { action: 'app.launch', params: { app: 'VS Code' } },
    { action: 'notifications.mute', params: { duration: 90 } },
    { action: 'spotify.play', params: { playlist: 'Deep Focus' } },
    {
      action: 'ai.remind',
      params: { after: 90, message: 'Time for a break!' }
    },
  ],
});

await workflow.save();
console.log(`Workflow saved: ${workflow.id}`);
Code examples

From idea to running workflow in minutes.

The SDK is designed to feel like writing plain TypeScript — not gluing API calls together. Define workflows, compose steps, and listen to events with a clean, typed interface.

  • 200+ built-in actionsFrom app control to AI inference, no low-level API calls needed
  • Event streamingSubscribe to device events with async generators
  • Local emulatorTest workflows without a real device using airmouse emulate
View all examples on GitHub
Authentication

API keys and JWT — your choice.

Authenticate with a long-lived API key for server-side code, or short-lived JWTs for client-side flows. Scoped permissions, key rotation, and audit logging built in.

  • Scoped API keysGrant least-privilege access with per-resource scopes
  • Short-lived JWTs15-minute TTL, refreshable — perfect for mobile SDKs
  • OAuth 2.0 for user-auth flowsPKCE support, GitHub and Google as IdPs
auth.ts — API key + JWT
# Long-lived API key (server-to-server)
const client = new AirMouse({
  apiKey: 'am_sk_live_TpGkY8...',  // keep secret!
});

─────────────────────────────────────────

# Short-lived JWT (client-side, scoped)
const token = await am.auth.createToken({
  subject: 'usr_01J8XK',
  scopes: ['workflows:read', 'devices:write'],
  expiresIn: '15m',
});

# Use in client SDK
const userClient = new AirMouse({ token });
await userClient.workflow.list();  // ✓
await userClient.auth.deleteKey();  // ✗ not in scope
Webhooks

React to everything in real time.

Register HTTPS endpoints and receive signed payloads for every platform event. Replay, retry, and inspect every delivery in the dashboard.

Device events

Device & Connection

Fired when a device pairs, goes offline, reconnects, or changes capability state.

device.paired device.offline device.reconnected
Workflow events

Workflow Lifecycle

Track every workflow run from trigger through each step to completion — or failure with full stack trace.

workflow.started workflow.completed workflow.failed
AI events

AI & Voice

Receive transcriptions, intent classification results, and model inference completions as they stream.

voice.transcribed ai.completed intent.detected
AI integrations

Plug in any AI model you love.

AirMouse ships with native adapters for the leading AI providers. Swap models in a single config change — no code rewrites.

OpenAI

GPT-4o, GPT-4 Turbo, and o1 — voice transcription via Whisper, image via Vision.

StreamingFunctions

Anthropic

Claude 3.5 Sonnet and Haiku — ideal for complex workflow reasoning and long-context tasks.

Tool use200k ctx

Replicate

Run any open-source model — Llama 3, Mistral, Stable Diffusion — in your workflows instantly.

SDXLLlama 3

Custom model

Bring your own GGUF, ONNX, or HTTP-based model. The adapter interface is fully documented.

GGUFONNXHTTP
CLI

A CLI that does the heavy lifting.

Deploy workflows, manage API keys, stream logs, run the local emulator, and scaffold new integrations — all from your terminal.

  • One-command deploysairmouse deploy packages and pushes your workflow bundle
  • Live log tailingStream device and workflow logs with colour-coded step output
  • Local emulatorSimulate devices and trigger voice events without real hardware
terminal — airmouse CLI
# Install the AirMouse CLI
npm install -g @airmouse/cli

# Authenticate with your account
airmouse login
✓ Logged in as shafqat@company.com

# Run a workflow locally for testing
airmouse run workflows/standup.ts --device emulator
▶ step 1/4 — app.launch VS Code      ✓ 210ms
▶ step 2/4 — notifications.mute      ✓ 12ms
▶ step 3/4 — spotify.play            ✓ 381ms
▶ step 4/4 — ai.remind (scheduled)   ✓ queued
✔ Workflow completed in 604ms

# Deploy to production
airmouse deploy --env production
✔ Deployed: wf_standup_9am@v3

github.com/airmouse

Core protocol layer, CLI, all 6 SDKs, and the local emulator are MIT-licensed on GitHub. We build in public.

4.2k
Stars
340
Contributors
120+
Merged PRs / mo
View on GitHub
Open source

We build in the open.

Core infrastructure, all SDKs, and the protocol layer are MIT-licensed. Ship features, fix bugs, and shape the roadmap — as part of the community that uses AirMouse every day.

  • Fully transparent roadmapEvery planned feature is a public GitHub issue with specs attached
  • Good-first-issues every weekLabelled, well-scoped, mentored — a great way to start contributing
See open issues →
Community

A developer community worth being part of.

18,000+ builders, weekly office hours, and a Discord where the AirMouse core team hangs out daily.

Discord Community

9,000+ members. Real-time help, showcase channels, release previews, and direct access to the core team.

9k+ members24/7 active
Join Discord →

GitHub Discussions

RFC proposals, architecture discussions, Q&A, and community showcases — searchable, indexed, and alive with activity.

ProposalsQ&AShowcase
View discussions →

Office Hours

Every Thursday at 5 PM UTC — 45 minutes with the engineering team. Live demos, roadmap previews, and open Q&A.

Thursdays 17:00 UTC
Add to calendar →
Contributing

How to ship your first contribution.

Fork, fix, PR — it really is that simple. Here's the four-step path from zero to merged.

01

Find an issue

Browse good first issue and help wanted labels on GitHub. Each has a spec and expected output attached.

02

Fork & develop

Fork the repo, create a branch off main, and run pnpm dev to start the local dev loop with hot reload.

03

Write tests

All contributions need passing unit and integration tests. Our CI runs on every commit — green build, green light.

04

Open a PR

We review within 48 hours. Maintainers leave detailed, constructive feedback. Typical time-to-merge: 4 days.

Start building

Your first API call takes under five minutes.

Free developer account. 10k API requests per month on the free tier. No credit card required.