Skip to main content
POST
/
v1
/
notifications
curl --request POST \
  --url https://api.meetecho.ai/api/v1/notifications \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "customer_id": "8cc6199f-9466-46f2-9db7-936f3c2c1c0b",
  "agent_id": "ddb8be3b-a426-4122-b877-a0cba363c89d",
  "variables": {
    "agent_name": "Echo Reminders",
    "appointment_date": "Monday, April 14",
    "appointment_time": "10:00 AM"
  }
}
'
{
  "notification": {
    "id": "13eea9cc-dbad-897d-35d9-fa46a5e30971",
    "project_id": "e56b4c35-882d-4604-9944-9763d314ea59",
    "agent_id": "ddb8be3b-a426-4122-b877-a0cba363c89d",
    "customer_id": "8cc6199f-9466-46f2-9db7-936f3c2c1c0b",
    "target_phone_e164": "+971123456789",
    "message": "",
    "context": null,
    "collect_feedback": false,
    "max_duration_seconds": 180,
    "status": "in_progress",
    "call_result": null,
    "created_at": "2026-03-18T17:51:00.000Z",
    "updated_at": "2026-03-18T17:51:01.000Z"
  },
  "call": {
    "callId": "call-abc123",
    "status": "queued"
  }
}

Authorizations

x-api-key
string
header
required

Echo API key — format: echo_<64 hex chars>. Returned once on signup.

Body

application/json

message is required on the LLM path (when agent_id is omitted). On the agent path (when agent_id is set), message is optional — the agent's system_prompt drives the call. Supply variables to fill any {{token}} placeholders in the prompt.

customer_id
string<uuid>
required

Must belong to your project

Example:

"8cc6199f-9466-46f2-9db7-936f3c2c1c0b"

message
string

Required for LLM path. Optional for agent path.

Example:

"Your appointment tomorrow at 10 AM has been confirmed."

context
string | null
Example:

"Patient has been a client for 3 years."

agent_id
string<uuid> | null

If set, uses Agent path. Omit for LLM-generated call.

Example:

"ddb8be3b-a426-4122-b877-a0cba363c89d"

variables
object

Custom variables injected into the agent's system_prompt via {{key}} syntax.

Example:
{
"agent_name": "Echo Reminders",
"appointment_date": "Monday, April 14",
"appointment_time": "10:00 AM"
}
collect_feedback
boolean
default:false

LLM path only — ask the caller to confirm/cancel/reschedule.

max_duration_seconds
integer
default:180

LLM path only.

Required range: 30 <= x <= 600

Response

Call queued

notification
object
call
object