UNOBITS
Developers

Extend your workspace today. Preview the API that comes next.

Today you extend UNOBITS through Automations — inbound webhook triggers, multi-step Flows and signed outgoing webhooks — with Donna’s Code mode writing the glue. A public REST API with scoped keys and SDKs is in developer preview: the explorer below shows its planned shape.

  • Inbound webhook triggers
  • Signed outgoing webhooks
  • Donna Code mode
  • Public REST API in preview
01API Explorer

API preview: explore the planned endpoints.

A simulated explorer for the public REST API in development. Requests here return sample responses — nothing touches a real workspace, and endpoints may change before release.

Live API Explorer & Sandbox

v1.4 Live

Test endpoints interactively and view native code snippets across languages.

curl -X POST "https://api.unobits.app/v1/workspaces/deals" \
  -H "Authorization: Bearer uno_live_8f32dae0" \
  -H "Content-Type: application/json" \
  -d '{
    "deal_name": "Acme Global Enterprise Expansion",
    "value": 45000,
    "currency": "USD",
    "pipeline_stage": "proposal_review",
    "contact": {
      "name": "Sarah Connor",
      "email": "sarah@acmeglobal.com"
    }
  }'
Scope required: deals:write
HTTP Response Console

Ready to Dispatch

Click Send Request above or switch tabs to see a sample response.

Simulated preview — sample data onlyTLS 1.3 | HTTP/3
02Event Stream Engine

Webhooks: signed events to your own endpoint.

Available today: an owner-level setting registers outgoing webhooks with a signing secret, and Automations can start from inbound webhooks. Use the studio to see how verifying a signature works.

Real-Time Event Dispatcher

Instant Event Delivery & Payload Inspector

Zero polling. Receive instant JSON webhooks with cryptographic HMAC-SHA256 signatures directly on your backend servers.

POST /api/webhooks/receiver
200 OK
{
  "event": "crm.deal.won",
  "event_id": "evt_9021a88b",
  "created_at": "2026-08-09T00:00:00.000Z",
  "data": {
    "deal_id": "deal_98f310a2bc",
    "deal_name": "Acme Global Enterprise Expansion",
    "amount": 45000,
    "currency": "USD",
    "owner": {
      "name": "Jordan Hayes",
      "email": "jordan@unobits.app"
    },
    "account": {
      "id": "acc_7710a",
      "name": "Acme Corp"
    },
    "actions_triggered": [
      "provision_client_portal",
      "slack_victory_ping"
    ]
  }
}

HMAC-SHA256 Signature Verification

Every webhook request includes an x-unobits-signature header to guarantee payload authenticity and prevent replay attacks.

const crypto = require('crypto');

function verifyWebhookSignature(payload, signatureHeader, secret) {
  const [tPart, v1Part] = signatureHeader.split(',');
  const timestamp = tPart.split('=')[1];
  const signature = v1Part.split('=')[1];
  
  const hmac = crypto
    .createHmac('sha256', secret)
    .update(`${timestamp}.${payload}`)
    .digest('hex');
    
  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(hmac));
}

Retry Schedule & DLQ Safeguard

If your endpoint returns a non-2xx status code or times out, UNOBITS automatically retries with exponential backoff before sending events to the Dead Letter Queue.

1Attempt 1
Immediate0s delay
2Attempt 2
+15 Sec1st Retry
3Attempt 3
+5 Min2nd Retry
4Attempt 4
+1 HourFinal Retry
5Dead Letter Queue
24 HoursReplay via Dashboard
03Security & Access Control

Scoped API keys (planned).

The planned permission model for API keys — read/write scopes for CRM, Inbox, Finance, Projects and Donna, mirroring the permissions people already have in Admin.

Granular Security & Access Control

API Scope Generator & Permission Inspector

Never grant full admin privileges to microservices. Check fine-grained scopes to issue scoped tokens with minimum required permissions.

Select Scopes (4 / 9)

•
Read CRM Deals
deals:read

Fetch deal pipelines, contacts, and historical stage logs.

Write CRM Deals
deals:write

Create deals, update pipeline stages, and update contact records.

Read Omni-Inbox
inbox:read

Access customer message threads across Email, Slack, WhatsApp, and SMS.

Send Inbox Replies
inbox:reply

Send outbound emails or chat responses directly into client threads.

Read Financial Records
finance:read

Inspect invoices, payments, recurring retainers, and accounting balances.

Create & Manage Invoices
finance:write

Generate invoices, trigger payment links, and record client transactions.

Execute Automations
workflows:execute

Trigger async tasks, task assignments, and multi-step business logic.

Dispatch Donna AI Agent
ai:dispatch

Invoke Donna AI to generate executive briefings and summarize threads.

Manage Client Portals
portals:admin

Provision white-label client portal access links and expire sessions.

API Bearer Key Outputlive
uno_live_9f83a2b100918c773a90
Rate Limit Tier:10,000 requests / min
Granted API Endpoints (7)
GET /v1/workspaces/deals
GET /v1/workspaces/deals/:id
POST /v1/workspaces/deals
PATCH /v1/workspaces/deals/:id
GET /v1/inbox/threads
GET /v1/inbox/messages
POST /v1/tasks/automations/trigger

Store API keys strictly in server environment variables or KMS vaults. Keys with finance:write should never be exposed in client JS bundles.

04Native Client Libraries

SDK quickstarts (planned).

How the client libraries are intended to look once the public API ships. They are not published yet.

Official Client SDKs

Maintained and auto-generated daily from our latest OpenAPI 3.1 schema.

TypeScript / Node.jsv1.4.2
npm install @unobits/sdk
Pkg: @unobits/sdkDocs
Pythonv1.4.0
pip install unobits
Pkg: unobitsDocs
Gov1.2.1
go get github.com/unobits/sdk-go
Pkg: github.com/unobits/sdk-goDocs
Rustv0.9.4
cargo add unobits-rs
Pkg: unobits-rsDocs
Rubyv1.1.0
gem install unobits
Pkg: unobits-gemDocs
PHPv1.3.0
composer require unobits/sdk-php
Pkg: unobits/sdk-phpDocs
Plug & Play Architecture

Framework Integration Quickstarts

Production-ready snippets for handling webhooks, route handlers, and middleware in your framework of choice.

Next.js 15 (App Router)(React / Fullstack)
// src/app/api/webhooks/unobits/route.ts
import { NextResponse } from 'next/server';
import { UnobitsClient, verifyWebhookSignature } from '@unobits/sdk';

const unobits = new UnobitsClient({ apiKey: process.env.UNOBITS_API_KEY! });

export async function POST(req: Request) {
  const rawBody = await req.text();
  const signature = req.headers.get('x-unobits-signature') || '';

  const isValid = verifyWebhookSignature(rawBody, signature, process.env.UNOBITS_WEBHOOK_SECRET!);
  if (!isValid) {
    return NextResponse.json({ error: 'Invalid HMAC signature' }, { status: 401 });
  }

  const payload = JSON.parse(rawBody);
  if (payload.event === 'crm.deal.won') {
    // Auto-trigger client portal setup
    await unobits.portals.sessions.create({ dealId: payload.data.deal_id });
  }

  return NextResponse.json({ received: true });
}
05API Reference Matrix

Endpoint directory (preview).

The planned surface of the public API, by domain. Subject to change before release.

POST/v1/workspaces/deals

Provision a deal record, bind contact information, and initiate pipeline automations.

Parameters & Schema
FieldTypeRequiredDescription
deal_namestringYesName of the deal opportunity.
valuenumberYesMonetary value of the deal.
pipeline_stagestringOptionalStage slug (e.g. proposal, won).
contactobjectOptionalAssociated primary contact details.
Sample Response (200 / 201)
{
  "id": "deal_98f310a2bc",
  "status": "active",
  "deal_name": "Acme Enterprise",
  "value": 45000,
  "currency": "USD"
}
GET/v1/workspaces/deals
GET/v1/inbox/threads
POST/v1/inbox/threads/:id/reply
POST/v1/tasks/automations/trigger
POST/v1/finance/invoices
POST/v1/ai/donna/dispatch
POST/v1/portals/sessions
06Platform Reliability

Where the platform is heading.

Targets for the public API once it is released — illustrative until then. For today’s reliability, see the status page.

Uptime target
99.99%

Target for the public API

Runtime
Edge

Served from Cloudflare’s network

Webhooks
Signed

Secret per endpoint

Public API
Preview

Limits set at release

Machine Readable Schema

OpenAPI 3.1 Spec & Postman Collections

Import our complete endpoint definition directly into Stainless, Fern, Swagger, Insomnia, or Postman to auto-generate client SDKs and mock servers.