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:
3. Install the Python SDK
API Reference
Base URL: https://api.steadyops.io
Copilot
AI-powered business assistant with tool execution — /api/orchestrator/copilot
/api/orchestrator/copilot/chatSend a message to the AI copilot/api/orchestrator/copilot/sessionsList copilot sessions/api/orchestrator/copilot/actions/{action_id}/approveApprove a pending actionCustom Tools
Register tools for the copilot to call via webhooks — /api/orchestrator/tools
/api/orchestrator/toolsRegister a custom tool/api/orchestrator/toolsList your custom tools/api/orchestrator/tools/{tool_id}Update a custom tool/api/orchestrator/tools/{tool_id}Delete a custom tool/api/orchestrator/tools/{tool_id}/testTest a custom tool webhookWebhook Destinations
Send events to external systems (Zapier, Make, custom) — /api/orchestrator/webhook-destinations
/api/orchestrator/webhook-destinationsCreate a webhook destination/api/orchestrator/webhook-destinationsList webhook destinations/api/orchestrator/webhook-destinations/{id}/logsView delivery logs/api/orchestrator/webhook-destinations/{id}/testSend a test eventPlaybooks
Multi-step automated workflows triggered by events — /api/orchestrator/playbooks
/api/orchestrator/playbooksCreate a playbook/api/orchestrator/playbooksList playbooks/api/orchestrator/playbooks/templatesGet pre-built playbook templates/api/orchestrator/playbooks/{id}/activateActivate or deactivate a playbook/api/orchestrator/playbooks/runs/{id}/runManually trigger a playbookUsage & Billing
Track API usage, costs, and quota — /api/orchestrator/usage
/api/orchestrator/usageCurrent usage summary/api/orchestrator/usage/historyUsage records (filterable)/api/orchestrator/usage/quotaQuota limits and remainingContacts
CRM contact management — /api/crm/contacts
/api/crm/contactsList contacts (paginated, searchable)/api/crm/contactsCreate a contact/api/crm/contacts/{id}Get contact details/api/crm/contacts/{id}Update a contactDeals
Sales pipeline management — /api/crm/deals
/api/crm/dealsList deals (filterable by status)/api/crm/dealsCreate a deal/api/crm/deals/{id}Update a dealInvoices
Invoice creation and payment tracking — /api/invoice/invoices
/api/invoice/invoicesList invoices/api/invoice/invoicesCreate an invoice/api/invoice/invoices/{id}Get invoice detailsInsights & Intelligence
AI-generated business insights — /api/orchestrator/insights
/api/orchestrator/insightsList insights/api/orchestrator/insights/summaryUnread insights summary/api/orchestrator/insights/predictionsDemand forecasts and churn predictionsWebhook 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.receivedPython 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 Supportdevelopers@steadyops.io