Developers
REST API
Base URL https://app.limekiwi.ai/api/v1. Send Authorization: Bearer <key> and JSON bodies for POST and PATCH.
- Success
- A 2xx status with
{ data }. - Errors
- A 4xx status with
{ error }saying what's wrong. - Schemas
- openapi.json describes every endpoint, for code generators and Postman.
- Phone numbers
- Australian (0412 345 678) or international (+61 412 345 678) format.
Example: add a lead
curl https://app.limekiwi.ai/api/v1/leads -H "Authorization: Bearer <your key>" \
-H "content-type: application/json" \
-d '{"agentId":"<agent id>","name":"Riley","phone":"0411 000 000"}'Endpoints
- GET
/companyYour company's settings (name, timezone, recording retention) and how many agents, leads and calls it has. - PATCH
/companyChange the company name, timezone (calling hours and booking follow it) or how long call recordings are kept. - GET
/agentsList the company's agents. - GET
/agents/{agentId}Everything about one agent: its settings, goals in order, qualification criteria and knowledge sources. - POST
/agentsCreate a new agent. Pick its kind (salesperson, receptionist, appointment setter, lead qualifier, customer support or feedback & surveys) and give its name, company, company description and offer (what the company sells or does); write sensible objection handling and rules if the user doesn't. Goals, qualification criteria and knowledge can be given now or added after; without them, non-sales kinds start with ones suited to the job. The voice defaults to the one your latest agent uses. - PATCH
/agents/{agentId}Change any of an agent's settings except its kind, which is fixed once it's created. Only the fields given are changed. - DELETE
/agents/{agentId}Delete an agent for good, with its leads, calls, meetings and recordings. The do-not-call list is kept. Can't be undone. - POST
/agents/{agentId}/activePause an agent (it stops answering and calling) or switch it back on. - GET
/agents/{agentId}/statsAn agent's dashboard numbers for recent days: calls, answered, conversations, goal rate, outcomes, average talk time. - POST
/agents/{agentId}/goalsAdd a goal to the end of an agent's goals. The first goal is the main one; later ones are fallbacks. - PATCH
/agents/{agentId}/goals/{goalId}Change a goal's title, instructions or outcome. - POST
/agents/{agentId}/goals/{goalId}/moveMove a goal up or down one place. - DELETE
/agents/{agentId}/goals/{goalId}Delete one of an agent's goals. - POST
/agents/{agentId}/criteriaAdd something the agent must find out (or should, if it comes up) before moving to a goal. - PATCH
/agents/{agentId}/criteria/{criterionId}Change a qualification criterion. - POST
/agents/{agentId}/criteria/{criterionId}/moveMove a qualification criterion up or down one place. - DELETE
/agents/{agentId}/criteria/{criterionId}Delete a qualification criterion. - GET
/agents/{agentId}/knowledge/{knowledgeId}The full text of one knowledge source. - POST
/agents/{agentId}/knowledgeAdd facts the agent may state on calls: a written entry, or a web page, which is read now and digested into a fact sheet (calls never look it up). - PATCH
/agents/{agentId}/knowledge/{knowledgeId}Edit a written knowledge entry, switch a source on or off, or re-read a web page (refresh: true). - DELETE
/agents/{agentId}/knowledge/{knowledgeId}Delete a knowledge source. - GET
/agents/{agentId}/connectionsAn agent's custom connections: other apps' MCP servers whose tools it can use on calls. - POST
/agents/{agentId}/connectionsConnect an app's MCP server to an agent so it can use the app's tools on calls. Only for servers the user says they trust. - PATCH
/agents/{agentId}/connections/{connectionId}Switch a connection on or off, switch one of its tools on or off, or re-read its tools from the server. - DELETE
/agents/{agentId}/connections/{connectionId}Remove a custom connection from an agent. - GET
/leadsList leads, newest first. Filter by agent, status, or a search on name, phone, email or company. - GET
/leads/{leadId}One lead with its calls (newest first) and meetings. - POST
/leadsAdd a lead for an agent. With queue: true the agent rings them at the next allowed calling time (straight away within calling hours). - POST
/leads/importAdd up to 1,000 leads for an agent at once and queue them all to be called. They share one consent basis. - PATCH
/leads/{leadId}Change a lead's name, phone, email, company or notes. - POST
/leads/statusFor one or more leads: queue them to be called, record that they were washed against the Do Not Call Register (which also queues them), or take them off the queue. - POST
/leads/{leadId}/callHave the lead's agent ring them now. Calling hours and the do-not-call list still apply. - POST
/leads/resetFor testing: put every lead back to new with no attempts or follow-ups. Do-not-call requests stay, except for your own test numbers. - GET
/callsList calls, newest first, with each call's one-line summary. Filter by agent, lead, outcome or direction. - GET
/calls/{callId}One call with its full transcript and summary. - GET
/meetingsMeetings the agents booked, soonest first. Upcoming only unless a from date is given. - POST
/health-quotesCompare every Australian health fund open to the public and return the cheapest policies that fit, monthly and before the government rebate.
