API reference
Endpoints for agents, workflows, quotes, and contacts.
All endpoints live under https://app.iamelio.ai/api/v1 and require a Bearer token — see the API overview.
Agents
GET /agents
Lists the agents in your organization. Requires agents:read.
curl -H "Authorization: Bearer bpk_live_..." \
https://app.iamelio.ai/api/v1/agents{
"data": [
{ "id": "agt_...", "name": "Sales assistant", "model": "gpt-5.4-mini" }
]
}POST /agents/:id/chat
Sends a message to an agent and returns its reply. Requires agents:execute.
curl -X POST \
-H "Authorization: Bearer bpk_live_..." \
-H "Content-Type: application/json" \
-d '{ "message": "Summarize last week" }' \
https://app.iamelio.ai/api/v1/agents/<agent-id>/chatOptional body fields:
model— override the agent’s stored model for this single call.
Workflows
GET /workflows
Lists workflows the token’s organization can run. Requires workflows:read.
POST /workflows/:id/run
Queues a workflow execution and returns 202 Accepted. Requires workflows:execute. Polling for run status is planned for a follow-up release — subscribe to the workflow.run.completed webhook to be notified when a run finishes.
Quotes
GET /quotes?limit=50
Lists CRM quotes, newest first. limit defaults to 20 (max 100). Requires quotes:read.
POST /quotes
Creates a quote. Requires quotes:write.
{
"title": "Renewal Q3 — Acme Corp",
"contactId": "<optional>",
"currency": "USD"
}Contacts
POST /contacts
Creates a contact (person or company). Requires contacts:write.
{
"displayName": "Acme Corp",
"type": "company",
"email": "ops@acme.com"
}Errors
Errors use conventional HTTP status codes (401 bad token, 403 missing scope, 429 rate limited with Retry-After). Error bodies are JSON with a human-readable message.