Automate workflows, sync data, and extend your platform with our comprehensive REST API. Everything available in the UI is available via the API.
Standard JSON REST API. Predictable resource-oriented URLs with conventional HTTP response codes.
Authenticate with Bearer tokens. Generate per-workspace API keys from your admin settings.
Push notifications to your endpoints when events happen — no polling required.
Every API call is scoped to your workspace. No cross-tenant data access possible.
All API requests go to https://api.bi369.com/v1. Include your API key as a Bearer token in the Authorization header, and your workspace slug in the X-Tenant-Slug header.
API keys are available on the Pro and Enterprise plans. You can generate and revoke keys from Admin → Settings → API Keys.
curl -X GET "https://api.bi369.com/v1/crm/leads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Tenant-Slug: your-workspace"Every module in Bi369 AI exposes a full CRUD API. Here's a selection of the most commonly used endpoints — the full reference is generated from our OpenAPI spec.
/api/v1/crm/leadsList all leads with filters/api/v1/crm/leadsCreate a new lead/api/v1/crm/leads/{id}Get a specific lead/api/v1/crm/leads/{id}Update lead fields/api/v1/crm/customersList all customers/api/v1/crm/quotationsCreate a quotation/api/v1/projectsList projects/api/v1/projectsCreate a project/api/v1/projects/{id}/tasksList project tasks/api/v1/projects/{id}/tasksAdd a task/api/v1/tasks/{id}Update task status/api/v1/finance/invoicesList invoices/api/v1/finance/invoicesCreate an invoice/api/v1/finance/invoices/{id}/sendSend invoice/api/v1/finance/expensesList expenses/api/v1/finance/reports/plProfit & loss report/api/v1/hr/employeesList employees/api/v1/hr/employeesAdd an employee/api/v1/hr/leave-requestsList leave requests/api/v1/hr/leave-requestsSubmit leave request/api/v1/hr/attendanceGet attendance recordsGet started in minutes. Sample code for the most common API operations.
curl -X GET "https://api.bi369.com/v1/crm/leads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Tenant-Slug: your-workspace"import { Bi369Client } from "@bi369ai/sdk";
const client = new Bi369Client({
apiKey: process.env.BI369_API_KEY,
tenantSlug: "your-workspace",
});
const leads = await client.crm.leads.list({
status: "active",
limit: 20,
});
console.log(leads.data);import bi369
client = bi369.Client(
api_key=os.environ["BI369_API_KEY"],
tenant_slug="your-workspace",
)
leads = client.crm.leads.list(
status="active",
limit=20,
)
for lead in leads.data:
print(lead.name, lead.email)Subscribe to real-time events and receive a POST request to your endpoint whenever something happens in your workspace. Each webhook payload includes the event type, timestamp, tenant identifier, and full resource data.
Webhooks are signed with HMAC-SHA256 so you can verify the payload originated from Bi369 AI. Configure webhook endpoints from Admin → Settings → Webhooks.
lead.createdFired when a new lead is added
lead.convertedFired when a lead is converted to customer
invoice.sentFired when an invoice is emailed to a customer
invoice.paidFired when an invoice is marked as paid
project.completedFired when a project status changes to completed
employee.onboardedFired when a new employee is marked active
agent.actionFired when an Autonomous Agent takes an action
// POST https://your-app.com/webhooks/bi369
{
"event": "invoice.paid",
"timestamp": "2024-12-01T14:32:00Z",
"tenant": "your-workspace",
"data": {
"id": "inv_abc123",
"number": "INV-0042",
"amount": 15000,
"currency": "USD",
"customer": { "id": "cust_xyz", "name": "TechVista" }
}
}@bi369ai/sdkbi369github.com/bi369ai/go-sdkSDKs are coming soon. In the meantime, the REST API works with any HTTP client. Star our GitHub repo to get notified when SDKs ship.
| Plan | Requests / hour | Burst limit |
|---|---|---|
| Free | 100 / hour | 10 / min |
| Starter | 1,000 / hour | 50 / min |
| Pro | 10,000 / hour | 200 / min |
| Enterprise | Unlimited | Custom |
Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
Get your API key by signing up for a Pro or Enterprise plan. Free trials include access to the full platform — upgrade to unlock API access.
Questions? Contact us or visit the Knowledge Base.