AgentLine
REMOTE · API.AGENTLINE.CLOUD · SCANNED AUG 3
Give AI agents a phone number. Voice calls, SMS, and phone number management for MCP clients.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · api.agentline.cloud
claude mcp add --transport http agentlinehq-agentline https://api.agentline.cloud/mcp
[mcp_servers.agentlinehq-agentline] url = "https://api.agentline.cloud/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"agentlinehq-agentline": {
"type": "remote",
"url": "https://api.agentline.cloud/mcp",
"enabled": true
}
}
} openclaw mcp add agentlinehq-agentline --url https://api.agentline.cloud/mcp --transport streamable-http
mcp_servers:
agentlinehq-agentline:
url: "https://api.agentline.cloud/mcp" {
"mcpServers": {
"agentlinehq-agentline": {
"type": "http",
"url": "https://api.agentline.cloud/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 −27
- Endpoint reachability: reachable → behind authorisation ▼ security
- Stability: 0.20 → unverified ▼ security
- Transport: pass → unverified ▼ security
- Authorization: The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token. security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 +2
- Tool “push_call_context” rewrote its description, which is the text the model reads security
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 56
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://api.agentline.cloud/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.agentline.cloud | CN=YR2,O=Let's Encrypt,C=US | 22 Jul 2026 | 20 Oct 2026 | RSA 2048 | SHA256-RSA | 5f4feab688faa9d062e5ead7576dc8ddd3d |
| SANs: api.agentline.cloud | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of api.agentline.cloud. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| cloud. | present | 7041 | 13 | Verified |
| agentline.cloud. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer FAKESECRET_g3h4i5j6k7l8m9n0o1p2="https://api.agentline.cloud/.well-known/oauth-protected-resource"
Bearer FAKESECRET_g3h4i5j6k7l8m9n0o1p2="https://api.agentline.cloud/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| www-authenticate | Bearer FAKESECRET_g3h4i5j6k7l8m9n0o1p2="https://api.agentline.cloud/.well-known/oauth-protected-resource" |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | no_resource_metadata |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.agentline.cloud/mcp | Auth required | 401 | |
| http (plaintext) | http://api.agentline.cloud/mcp | HTTPS enforced | 301 | https://api.agentline.cloud/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
buy_phone_number ~579
Provision Buy a US phone number for your AI agent. Searches for and purchases a real US phone number from the telephony provider, then attaches it to the specified AI agent. Once attached, the agent can make outbound calls and receive inbound calls on this number. Each AI agent can only have ONE active phone number. Costs $2.00 per number. Request body: - agent_id: str (required) — the AI agent to assign this number to - country: str (must be "US") - number_type: "local" | "tollfree" - area_code: preferred 3-digit US area code (e.g. "212" for NYC, "415" for SF) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | ID of the AI agent to assign this phone number to (e.g. 'agt_abc123') |
| area_code | string | — | Preferred 3-digit US area code (e.g. '212' for NYC, '415' for SF, '310' for LA) |
| country | string | — | Country code for the phone number (currently only 'US' is supported) |
| number_type | string | — | Type of phone number: 'local' or 'tollfree' |
| pattern | string | — | Legacy digit pattern match (prefer area_code instead) |
No output schema declared.
No examples provided.
create_agent ~1,128
Create Agent Create a new AI voice agent for telephony. Sets up a new AI phone agent with a custom system prompt, voice, and greeting. Once created, buy a phone number and attach it to this agent so it can make and receive calls autonomously. Fields: - name: Display name for the agent - system_prompt: Instructions that define the agent's personality and behavior on calls - initial_greeting: What the AI agent says when the call connects - voice_id: TTS voice preset (e.g. "female-1") or Cartesia UUID - transfer_number: Phone number to transfer calls to (e.g. a human operator) - voicemail_message: Message the agent leaves if the call goes to voicemail ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "id": "Id", "account_id": "Account Id", "name": "Name", "created_at": "2023-01-01T00:00:00Z" } ``` **Output Schema:** ```json { "properties": { "id": { "type": "string", "title": "Id", "description": "Unique agent identifier (e.g. 'agt_abc123')" }, "account_id": { "type": "string", "title": "Account Id", "description": "Account that owns this agent" }, "name": { "type": "string", "title": "Name", "description": "Display name of the AI voice agent" }, "system_prompt": { "title": "System Prompt", "description": "Default system prompt for all calls (can be overridden per-call)" }, "initial_greeting": { "title": "Initial Greeting", "description": "Default greeting for all calls (can be overridden per-call)" }, "voice_id": { "title": "Voice Id", "description": "TTS voice preset or Cartesia UUID" }, "transfer_number": { "title": "Transfer Number", "description": "Phone number for call transfers" }, "voicemail_message": { "title": "Voicemail Message", "description": "Message left on voicemail" },…
| Name | Type | Req | Description |
|---|---|---|---|
| initial_greeting | string | — | Default opening line spoken on ALL calls (inbound and outbound), e.g. 'Hello, how can I help you today?'. Can be overridden per-call via POST /v1/calls. |
| name | string | yes | Display name for the AI voice agent |
| owner_phone | string | — | Owner's phone number in E.164 format (e.g. '+12125551234'). Calls from this number enter task mode — the agent treats speech as executable instructions. |
| system_prompt | string | — | Default instructions for the agent's personality and behavior on ALL calls (inbound and outbound). Can be overridden per-call via POST /v1/calls. |
| transfer_number | string | — | Phone number in E.164 format to transfer calls to (e.g. a human operator fallback) |
| voice_id | string | — | TTS voice preset name (e.g. 'female-1', 'male-1') or Cartesia voice UUID; defaults to system voice if not set |
| voicemail_message | string | — | Message the AI agent leaves if the call goes to voicemail |
No output schema declared.
No examples provided.
delete_agent ~358
Delete Agent Delete an AI voice agent. Permanently removes the agent and detaches any phone numbers assigned to it. Detached numbers remain active on your account and can be reassigned to another agent. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | — |
No output schema declared.
No examples provided.
delete_webhook ~357
Delete Webhook Remove an agent's webhook. No events for that agent will be delivered via HTTP afterwards; they remain available via GET /v1/events (the mailbox). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Agent whose webhook to delete |
No output schema declared.
No examples provided.
get_account_balance ~100
Get Balance Get your AI telephony account balance and rate card. Returns the current balance, currency, billing rates for calls and phone numbers, and how many call minutes or phone numbers the balance can cover. Use this to check affordability before making calls or buying numbers for your AI agents. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ```
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_account_voice ~89
Get Account Voice Get the current account-level default voice for AI phone agents. Returns which voice is used for all AI agents under this account unless overridden at the agent level or per-call. Controls how your AI agents sound during phone conversations. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ```
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_agent ~346
Get Agent Get details of a specific AI voice agent. Returns the agent's full configuration including system prompt, voice settings, greeting, and transfer number. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | — |
No output schema declared.
No examples provided.
get_call_details ~362
Get Call Get full details of a specific voice call. Returns the call's metadata including direction, phone numbers, status, duration, AI agent configuration used, and the full conversation transcript between the AI agent and the caller. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | — |
No output schema declared.
No examples provided.
get_call_transcript ~382
Get Transcript Get the full conversation transcript for a call. Returns the complete speech-to-text transcript of the phone call, with each turn labeled by role ("human" for the caller, "assistant" for the AI agent). Useful for reviewing what was said on the call, extracting information, or auditing AI agent behavior. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | — |
No output schema declared.
No examples provided.
get_expenditure_breakdown ~396
Get Expenditure Get a detailed expenditure breakdown for AI telephony usage. Shows total spend split by category (voice calls, phone number provisioning, top-ups, refunds) with counts and averages. Useful for tracking how much your AI agents are spending on phone calls and phone numbers. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| period | string | — | Time period: 'current_month', 'last_month', 'all_time', or 'YYYY-MM' |
No output schema declared.
No examples provided.
get_webhook ~377
Get Webhooks List the account's per-agent webhook configuration(s). Secrets are **masked**. Pass `agent_id` to inspect a single agent's webhook. The full secret is only ever shown once, on the POST that creates/replaces it. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | — | Inspect one agent's webhook (omit to list all) |
No output schema declared.
No examples provided.
hangup_call ~378
Hangup Call Hang up an active phone call. Programmatically terminates an in-progress voice call. Use this when the AI agent needs to end the conversation, or to force-stop a call that is no longer needed. The call's final transcript and billing are processed automatically after hangup. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | — |
No output schema declared.
No examples provided.
list_agents ~86
List Agents List all AI voice agents configured on your account. Returns every AI phone agent you've created, including their system prompts, voice settings, and associated phone numbers. Useful for checking which agents are ready to make or receive calls. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ```
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_available_voices ~128
Get Available Voices List all available voice presets for AI phone agents. Returns named TTS (text-to-speech) voice presets that can be used when configuring AI agents or making phone calls. Each voice defines how your AI agent sounds on the phone. You can use a preset name (e.g. "female-1", "male-1") or pass any valid Cartesia voice UUID directly as a voice_id. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ```
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_calls ~454
List Calls List voice calls made by your AI agents. Returns call history with optional filters by agent or status. Each entry includes direction (inbound/outbound), duration, phone numbers, and current status. Filters: - agent_id: only calls for a specific AI agent - status: "initiated", "in-progress", "completed", or "failed" ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | — | Filter calls by AI agent ID |
| limit | integer | — | Maximum number of calls to return (1-200) |
| offset | integer | — | Number of calls to skip for pagination |
| status | string | — | Filter by call status: 'initiated', 'in-progress', 'completed', or 'failed' |
No output schema declared.
No examples provided.
list_feedback ~450
List Feedback List feedback you have submitted. Returns your feedback history with optional filters by category (bug, feature_request, difficulty, feedback) and status (open, acknowledged, in_progress, resolved, closed). Useful for tracking progress on bugs or feature requests you reported. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Filter by feedback type: 'bug', 'feature_request', 'difficulty', or 'feedback' |
| limit | integer | — | Maximum number of feedback entries to return (1-200) |
| offset | integer | — | Number of entries to skip for pagination |
| status | string | — | Filter by status: 'open', 'acknowledged', 'in_progress', 'resolved', 'closed' |
No output schema declared.
No examples provided.
list_messages ~413
List Messages List SMS messages sent and received by your AI agents. Returns message history with optional filters by AI agent or conversation. Each entry includes direction (inbound/outbound), phone numbers, message body, and delivery status. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | — | Filter messages by AI agent ID |
| conversation_id | string | — | Filter messages by conversation thread ID |
| limit | integer | — | Maximum number of messages to return (1-200) |
| offset | integer | — | Number of messages to skip for pagination |
No output schema declared.
No examples provided.
list_phone_numbers ~85
List Numbers List all phone numbers provisioned on your account. Returns every phone number you've bought for your AI agents, including which agent each number is assigned to, the number's status (active/released), and country. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ```
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
make_outbound_call ~697
Create Call Make an outbound phone call from your AI agent. Initiates a real phone call from the AI agent's phone number to the specified destination. The agent uses its configured system prompt, voice, and greeting to conduct the conversation autonomously. The AI agent handles the entire call — speech-to-text, LLM reasoning, and text-to-speech — in real time. The call transcript is saved automatically and can be retrieved via GET /v1/calls/{call_id}/transcript. Request body: - agent_id: the AI agent making the call - to_number: destination phone number in E.164 format (e.g. "+12125551234") - from_number_id: (optional) specific number to call from - system_prompt: (optional) override the agent's default prompt for this call - initial_greeting: (optional) override the agent's greeting for this call - voice_id: (optional) override the voice for this call ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Deta…
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | ID of the AI agent making the call (e.g. 'agt_abc123') |
| from_number_id | string | — | Specific phone number ID to call from; defaults to the agent's assigned number |
| initial_greeting | string | — | Per-call greeting override. Replaces the agent's default greeting for this call ONLY. If omitted, the agent's default initial_greeting is used. |
| system_prompt | string | — | Per-call system prompt override. Replaces the agent's default prompt for this call ONLY. If omitted, the agent's default system_prompt is used. |
| to_number | string | yes | Destination phone number in E.164 format (e.g. '+12125551234') |
| voice_id | string | — | Override the TTS voice for this call: preset name (e.g. 'female-1') or Cartesia UUID |
No output schema declared.
No examples provided.
peek_events ~387
Peek Events Peek at pending telephony events without consuming them. Returns a preview of queued events (call completions, transcripts) without removing them from the mailbox. Useful for checking if there are events to process before committing to retrieve them. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | — | Filter events by AI agent ID |
| limit | integer | — | Maximum number of events to preview (1-200) |
No output schema declared.
No examples provided.
poll_events ~464
List Events Poll for telephony events from your AI agents. Returns pending events such as call completions, transcripts, and failures. Events are consumed on retrieval (one-time read) — once polled, they are automatically deleted from the mailbox. Your AI agent should call this endpoint periodically to receive notifications about completed calls and their transcripts. Filters: - agent_id: only events for a specific AI agent - event_type: e.g. "call.completed", "call.failed" ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | — | Filter events by AI agent ID |
| event_type | string | — | Filter by event type (e.g. 'call.completed', 'call.failed') |
| limit | integer | — | Maximum number of events to return (1-200) |
No output schema declared.
No examples provided.
push_call_context ~649
Push Call Context Push context into a LIVE relay-mode call (mid-call context injection). This is the required way for backend agents (Hermes, OpenClaw, etc.) to answer a live caller after a ``call.utterance`` event. Do your work, then POST facts here — do NOT only send the answer to WhatsApp/SMS/chat. AUTHENTICATION (one of): 1. **Push token** (preferred — no API key): the ``push_token`` from the ``call.utterance`` payload, via ``X-Push-Token`` header, ``?token=`` query param, or ``push_token`` body field. 2. **Bearer API key**: ``Authorization: Bearer al_live_...`` for the account that owns the call. Body — any of these keys works (``context`` is canonical): {"context": "the facts/answer the voice agent should speak"} Other accepted keys: ``summary``, ``answer``, ``response``, ``message``, ``reply``, ``text``, ``result``. Returns: delivered=true, status="live" — voice agent will speak it now delivered=true, status="buffered" — caller moved on; held for their next question (late pushes are NOT rejected) HTTP 410 — **call has ended.** STOP working on this request and abandon any in-flight lookup. No further context will be spoken. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" },…
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | — |
| token | string | — | Push token (alt to X-Push-Token header / body). |
No output schema declared.
No examples provided.
reset_account_voice ~84
Reset Account Voice Reset account voice to the system default. Removes the account-level voice override so all AI agents fall back to the system default voice during phone calls (unless they have their own voice_id configured). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ```
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
set_account_voice ~523
Update Account Voice Set the account-level default voice for AI phone agents. This becomes the default voice for ALL AI agents under this account, controlling how they sound on phone calls. Individual agents or specific calls can still override this setting. Voice resolution priority: 1. Per-call voice_id (POST /v1/calls) 2. Agent voice_id (PATCH /v1/agents/{id}) 3. Account default (this endpoint) ← you are here 4. System default (Supportive Male) Accepts: - A preset name: "female-1", "female-2", "female-3", "male-1", "male-2", "male-3" - A Cartesia voice UUID: "f786b574-daa5-4673-aa0c-cbe3e8534c02" ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| voice_id | string | yes | TTS voice preset name (e.g. 'female-1', 'male-1') or Cartesia voice UUID |
No output schema declared.
No examples provided.
set_webhook ~900
Set Webhook Create or replace an agent's webhook. The configured URL receives ALL of that agent's event types — call lifecycle (`call.received`, `call.completed`, `call.failed`), SMS (`sms.received`), and future events — as signed JSON POSTs. Each agent may have at most one webhook; POSTing again replaces it. - `agent_id`: the agent whose events this webhook receives (required). - `secret`: HMAC signing secret. Omit to auto-generate. The response returns the full `secret` **once** — store it to verify the signature header on deliveries. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "agent_id": "Agent Id", "url": "Url", "secret": "Secret", "signature_header": "Signature Header" } ``` **Output Schema:** ```json { "properties": { "agent_id": { "type": "string", "title": "Agent Id", "description": "Agent this webhook is scoped to" }, "url": { "type": "string", "title": "Url", "description": "Configured webhook URL" }, "secret": { "type": "string", "title": "Secret", "description": "Full signing secret. Save it now \u2014 it is masked on subsequent reads." }, "signature_header": { "type": "string", "title": "Signature Header", "description": "Header name used for HMAC-SHA256 signature delivery." }, "created_at": { "title": "Created At", "description": "When the webhook was last (re)configured" } }, "type": "object", "required": [ "agent_id", "url", "secret", "signature_header" ], "title": "WebhookCreated", "description": "Returned on POST \u2014 exposes the full secret this one time." } ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```js…
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | ID of the agent whose events this webhook receives. Each agent may have at most one webhook. |
| secret | string | — | Optional HMAC signing secret. Auto-generated if omitted. Used to verify the signature header on delivered payloads. |
| signature_header | string | — | Header name for the HMAC-SHA256 signature of the raw body. Defaults to 'X-Webhook-Signature' (natively verified by Hermes, OpenClaw, and other agent platforms). Set to 'X-Hub-Signature-256' for GitHu… |
| url | string | yes | HTTPS URL that will receive this agent's events as signed JSON POSTs. Setting this replaces any existing webhook for the agent. |
No output schema declared.
No examples provided.
submit_feedback ~1,108
Submit Feedback Submit feedback, report a bug, or request a feature. Use this endpoint to tell the AgentLine team about anything you encounter while using the platform: - **bug** — something is broken or not working as expected - **feature_request** — you wish a capability existed - **difficulty** — something was hard or confusing to use - **feedback** — general comments, suggestions, or praise Your feedback is reviewed by the team. Include as much detail as possible — for bugs, describe what you expected vs. what happened and any steps to reproduce it. You can check back on submitted feedback via GET /v1/feedback to see its status. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "id": "Id", "account_id": "Account Id", "category": "Category", "message": "Message", "severity": "Severity", "status": "Status", "created_at": "2023-01-01T00:00:00Z" } ``` **Output Schema:** ```json { "properties": { "id": { "type": "string", "title": "Id", "description": "Unique feedback identifier (e.g. 'fb_abc123')" }, "account_id": { "type": "string", "title": "Account Id", "description": "Account that submitted this feedback" }, "category": { "type": "string", "title": "Category", "description": "Feedback type: 'bug', 'feature_request', 'difficulty', or 'feedback'" }, "message": { "type": "string", "title": "Message", "description": "Full feedback message" }, "subject": { "title": "Subject", "description": "Short summary title" }, "severity": { "type": "string", "title": "Severity", "description": "Impact level: 'low', 'normal', 'high', or 'critical'" }, "agent_id": { "title": "Agent Id", "description": "Related AI agent ID, if any" }, "contact_email": { "title": "Contact Email", "description"…
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | — | ID of the AI agent this feedback relates to, if applicable |
| category | string | yes | Type of feedback: 'bug' (something broken / not working), 'feature_request' (want a new capability), 'difficulty' (hard or confusing to use), or 'feedback' (general comment or praise) |
| contact_email | string | — | Email address for follow-up about this feedback (optional) |
| message | string | yes | Detailed description of the feedback, issue, or request. For bugs, include what you expected vs. what actually happened. |
| severity | string | — | Impact level, mainly relevant for bugs: 'low', 'normal', 'high', or 'critical' |
| subject | string | — | Short summary title for the feedback (optional) |
No output schema declared.
No examples provided.
test_webhook ~381
Test Webhook Fire a signed `webhook.test` event to the agent's webhook. Uses the exact same event bus (publish_event) that real telephony events use, so a successful delivery confirms the entire pipeline is wired correctly. Returns 404 if no webhook is configured for the agent. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Agent whose webhook to test |
No output schema declared.
No examples provided.
update_agent ~500
Update Agent Update an AI voice agent's configuration. Modify any combination of the agent's settings: system prompt, voice, greeting, transfer number, or voicemail message. Changes take effect on the next call the agent handles. Only include the fields you want to change — unset fields are preserved. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Output Schema:** ```json {} ``` **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ``` **Output Schema:** ```json { "properties": { "detail": { "items": { "properties": { "loc": { "items": {}, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" } ```
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | — |
| initial_greeting | string | — | Updated default greeting for ALL future calls (inbound and outbound) |
| name | string | — | New display name for the AI voice agent |
| owner_phone | string | — | Updated owner phone number in E.164 format for task mode |
| system_prompt | string | — | Updated default instructions for ALL future calls (does not affect calls already in progress) |
| transfer_number | string | — | Updated transfer phone number in E.164 format |
| voice_id | string | — | New TTS voice preset name or Cartesia voice UUID |
| voicemail_message | string | — | Updated voicemail message |
No output schema declared.
No examples provided.