עבריתLog in

Developer docs

Hebrew phone calls for your AI agent, over MCP or the REST API.

Looking for help with the interface? Product guides and tours for the main pages

What OneLi does

OneLi places outbound phone calls in Hebrew on behalf of your AI agent. Your agent (Claude, ChatGPT or your own code) sends a task: who to call and what the goal is. A Hebrew voice agent dials an Israeli number, runs the conversation, can consult your agent mid-call when a decision is needed, accepts new instructions while the call is live, and returns a transcript, a summary and an outcome.

  • Outbound calls only, to Israeli numbers (mobile, landline and 07X).
  • Calls are in Hebrew. The voice agent introduces itself as a digital assistant.
  • Billing is per connected second. Unanswered calls and voicemail are not counted.

Two ways to connect

MCPREST API
AuthOAuth with a consent screen on oneli.ioAn oli_… key in the Authorization header
Best forUsing OneLi from a chat with an existing agentProducts, servers and automations
Following a callThe get_call_events and get_call_status toolsPolling events with a cursor, or a decision webhook

First call in three minutes

  1. Go to oneli.io/app/connect, create a key under API keys (מפתחות API) and copy it. It is shown only once.
  2. Create a call task. For the first test call, use your own mobile number in place of 05XXXXXXXX:
curl
export ONELI_API_KEY="oli_..."   # oneli.io/app/connect → API keys (shown once)

curl -X POST https://api.oneli.io/v1/call-tasks \
  -H "Authorization: Bearer $ONELI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "idempotency_key": "quickstart-001",
    "to_number": "05XXXXXXXX",
    "goal": "לברר אם יש תור לתספורת ביום חמישי אחרי 17:00",
    "constraints": { "max_price_ils": 120 }
  }'

The response comes back immediately and the call is queued:

Response
HTTP/1.1 201 Created

{
  "task": {
    "id": "task_44be8f8d43da4748",
    "status": "queued",
    "to_number": "972501234567",
    "goal": "לברר אם יש תור לתספורת ביום חמישי אחרי 17:00",
    "constraints": { "max_price_ils": 120 },
    "revision": 1,
    "not_before": "2026-10-22T09:14:03.120Z",
    "created_at": "2026-10-22T09:14:03.120Z"
  },
  "created": true
}
  1. Follow the call: the transcript, consultations and the end of the call arrive as events.
curl
curl "https://api.oneli.io/v1/call-tasks/task_44be8f8d43da4748/events?after=0" \
  -H "Authorization: Bearer $ONELI_API_KEY"
  1. When the status is completed, read the outcome and the summary:
curl
curl https://api.oneli.io/v1/call-tasks/task_44be8f8d43da4748 \
  -H "Authorization: Bearer $ONELI_API_KEY"

# → "status": "completed", "outcome": "goal_achieved",
#   "summary": "נקבע תור ליום חמישי ב-17:30, 90 ש״ח."
An API key belongs on the server only. The API has no CORS, so browser calls will not work, and a key in browser code is visible to anyone who opens the page.
A call created outside calling hours (Sun–Thu 08:00–21:00, Fri 08:00–14:00, Israel time) is queued, and not_before shows when it will be dialed. Details in Errors & limits.

How a call runs

  1. TaskThe agent creates a task with to_number, goal and instructions. Status queued.
  2. DialingOneLi dials (dispatching) and the call connects (active). Busy or no answer: two more tries, after 5 and 15 minutes.
  3. ConsultationWhen a decision is needed, such as a price above your cap, the voice agent asks your agent and waits a few seconds for an answer.
  4. InstructionsYou can send a new instruction during the call. It applies from the voice agent's next turn.
  5. ResultAt the end: outcome, summary, duration and cost, with the full transcript in the events.

Where to next