Developers

Build on SteadyOps

Integrate AI copilot, CRM, invoicing, webhooks, and custom tools into your workflow with our REST API and Python SDK.

Getting Started

1. Get your credentials

Go to Settings → API in your SteadyOps dashboard to find your Clerk JWT token and Tenant ID. Every request requires both.

2. Authentication

Include two headers on every request:

curl -X GET https://api.steadyops.io/api/orchestrator/usage \ -H "Authorization: Bearer <your_clerk_jwt>" \ -H "X-Tenant-ID: <your_tenant_id>"

3. Install the Python SDK

pip install steadyops
from steadyops import SteadyOpsClient client = SteadyOpsClient( api_key="your_clerk_jwt", tenant_id="your_tenant_id", ) # Chat with the AI copilot resp = client.copilot.chat("What deals close this week?") print(resp["response"]) # List contacts contacts = client.contacts.list(search="Acme") # Register a custom webhook client.webhooks.create( name="Zapier", url="https://hooks.zapier.com/hooks/catch/123/abc/", event_filters=["deal.won", "invoice.paid"], )

API Reference

Base URL: https://api.steadyops.io

Copilot

AI-powered business assistant with tool execution /api/orchestrator/copilot

POST/api/orchestrator/copilot/chatSend a message to the AI copilot
GET/api/orchestrator/copilot/sessionsList copilot sessions
POST/api/orchestrator/copilot/actions/{action_id}/approveApprove a pending action

Custom Tools

Register tools for the copilot to call via webhooks /api/orchestrator/tools

POST/api/orchestrator/toolsRegister a custom tool
GET/api/orchestrator/toolsList your custom tools
PATCH/api/orchestrator/tools/{tool_id}Update a custom tool
DELETE/api/orchestrator/tools/{tool_id}Delete a custom tool
POST/api/orchestrator/tools/{tool_id}/testTest a custom tool webhook

Webhook Destinations

Send events to external systems (Zapier, Make, custom) /api/orchestrator/webhook-destinations

POST/api/orchestrator/webhook-destinationsCreate a webhook destination
GET/api/orchestrator/webhook-destinationsList webhook destinations
GET/api/orchestrator/webhook-destinations/{id}/logsView delivery logs
POST/api/orchestrator/webhook-destinations/{id}/testSend a test event

Playbooks

Multi-step automated workflows triggered by events /api/orchestrator/playbooks

POST/api/orchestrator/playbooksCreate a playbook
GET/api/orchestrator/playbooksList playbooks
GET/api/orchestrator/playbooks/templatesGet pre-built playbook templates
POST/api/orchestrator/playbooks/{id}/activateActivate or deactivate a playbook
POST/api/orchestrator/playbooks/runs/{id}/runManually trigger a playbook

Usage & Billing

Track API usage, costs, and quota /api/orchestrator/usage

GET/api/orchestrator/usageCurrent usage summary
GET/api/orchestrator/usage/historyUsage records (filterable)
GET/api/orchestrator/usage/quotaQuota limits and remaining

Contacts

CRM contact management /api/crm/contacts

GET/api/crm/contactsList contacts (paginated, searchable)
POST/api/crm/contactsCreate a contact
GET/api/crm/contacts/{id}Get contact details
PATCH/api/crm/contacts/{id}Update a contact

Deals

Sales pipeline management /api/crm/deals

GET/api/crm/dealsList deals (filterable by status)
POST/api/crm/dealsCreate a deal
PATCH/api/crm/deals/{id}Update a deal

Invoices

Invoice creation and payment tracking /api/invoice/invoices

GET/api/invoice/invoicesList invoices
POST/api/invoice/invoicesCreate an invoice
GET/api/invoice/invoices/{id}Get invoice details

Insights & Intelligence

AI-generated business insights /api/orchestrator/insights

GET/api/orchestrator/insightsList insights
GET/api/orchestrator/insights/summaryUnread insights summary
GET/api/orchestrator/insights/predictionsDemand forecasts and churn predictions

Webhook Events

Events are delivered via POST to your registered webhook destinations. Each request includes an X-SteadyOps-Signature header signed with HMAC-SHA256 for verification.

Filter which events you receive when creating a webhook destination (e.g. deal.* for all deal events).

contact.createdcontact.updateddeal.createddeal.wondeal.lostinvoice.createdinvoice.paidinvoice.payment_failedbooking.createdbooking.completedbooking.cancelledcall.completedcall.missedreview.receivedpayment.refundedpayment.disputedalert.overdue_jobalert.at_risk_dealalert.unpaid_invoiceanomaly.detectedcashflow.forecast_generatedwhatsapp.message.received

Python SDK Reference

client.copilot

  • .chat(message, session_id?)
  • .sessions()
  • .approve_action(id)
  • .reject_action(id)

client.tools

  • .create(...)
  • .list()
  • .get(id)
  • .update(id, ...)
  • .delete(id)
  • .test(id)

client.webhooks

  • .create(name, url, event_filters)
  • .list()
  • .logs(id)
  • .test(id)
  • .delete(id)

client.usage

  • .summary()
  • .quota()
  • .history(resource_type?, limit?)

client.contacts

  • .list(search?, limit?)
  • .create(name, email?, phone?)
  • .get(id)

client.deals

  • .list(status?)
  • .create(title, contact_id, value?)

client.invoices

  • .list(status?)
  • .create(client_id, line_items)

Need Help?

If you have questions about the API, SDK, or integrations, reach out to our developer support team.

Contact Developer Support

developers@steadyops.io