---
title: "Create a new agent endpoint"
method: POST
path: "/v1/agent/endpoint"
tags: ["Agent Endpoint"]
---

# Create a new agent endpoint

`POST /v1/agent/endpoint`

Creates a new agent endpoint for the authenticated project.

## Request body

- CreateAgentEndpointInput — Input for creating an agent endpoint
  - `agentId` string, uuid, required — Agent ID to associate this endpoint with
  - `value` string, required — Phone number in E.164 format (e.g., +12345678900)
  - `environment` string — Environment name (default: production)
  - `direction` 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING', required — Call direction: INCOMING, OUTGOING, or INCOMING_AND_OUTGOING
  - `outboundDialType` 'NONE' | 'HTTP_REQUEST' — Outbound dial type: NONE or HTTP_REQUEST (default: NONE)
  - `outboundDialHttpRequestDefinitionId` string, uuid, nullable — ID of the HTTP request definition for outbound dialing (required when outboundDialType is HTTP_REQUEST)

## Response `201`

The created agent endpoint

- object
  - `data` AgentEndpointDetailResponse, required — Detailed agent endpoint response
    - `id` string, uuid, required — Agent endpoint ID
    - `agentId` string, uuid, required — Agent ID this endpoint belongs to
    - `type` 'PHONE' | 'WEBSOCKET' | 'LIVEKIT' | 'SMALL_WEBRTC' | 'ELEVENLABS_WS' | 'KORE' | 'GOOGLE_CES' | 'DAILY', required — Agent endpoint type (PHONE, WEBSOCKET, LIVEKIT, SMALL_WEBRTC, or ELEVENLABS_WS)
    - `value` string, required — Agent endpoint value (phone number, URL, etc.)
    - `environment` string, required — Agent endpoint environment
    - `direction` 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING', required — Agent endpoint direction (INCOMING, OUTGOING, INCOMING_AND_OUTGOING)
    - `outboundDialType` 'NONE' | 'HTTP_REQUEST', required — Outbound dial type (NONE or HTTP_REQUEST)
    - `outboundDialHttpRequestDefinitionId` string, uuid, nullable, required — ID of the linked HTTP request definition for outbound dialing
    - `createdAt` string, required — Creation timestamp
    - `updatedAt` string, required — Last update timestamp

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-17** `887b091b3d81` — 9 warning
  - added the new `DAILY` enum value to the `data/type` response property for the response status `201`
  - added the new `conflict` enum value to the `type` response property for the response status `400`
  - added the new `conflict` enum value to the `type` response property for the response status `401`
  - added the new `conflict` enum value to the `type` response property for the response status `404`
  - …5 more
- **2026-04-17** `ec9443a8a36f` — 2 warning
  - added the new `GOOGLE_CES` enum value to the `data/type` response property for the response status `201`
  - added the new `KORE` enum value to the `data/type` response property for the response status `201`

[Change history](https://skmtc.dev/roarkhq/apis/roark-analytics-api/changes/v1/agent/endpoint/post.md)

---

[API](https://skmtc.dev/roarkhq/apis/roark-analytics-api.md) · [All operations](https://skmtc.dev/roarkhq/apis/roark-analytics-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/roarkhq/roark-analytics-api/revisions/1d61b68e9429/schema)
