Skip to content

Commit 2f3653a

Browse files
Merge pull request #624 from future-agi/dev
dev to main 29.04.26
2 parents b815cf2 + dde2a0a commit 2f3653a

46 files changed

Lines changed: 1308 additions & 502 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/pages/docs/api/agent-definitions/createagentdefinition.mdx

Lines changed: 123 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,36 @@
11
---
22
title: "Create Agent Definition"
3-
description: "Creates a new agent definition with its first version."
3+
description: "Creates a new agent definition along with its first version."
44
---
55

66
<ApiPlayground
77
method="POST"
88
endpoint="/simulate/agent-definitions/create/"
99
baseUrl="https://api.futureagi.com"
1010
requestBody={{
11-
agentType: "voice",
12-
agentName: "support-bot-v1",
11+
agent_type: "voice",
12+
agent_name: "support-bot-v1",
13+
commit_message: "Initial version",
1314
provider: "vapi",
14-
apiKey: "your-provider-api-key",
15-
assistantId: "your-assistant-id",
15+
api_key: "your-provider-api-key",
16+
assistant_id: "your-assistant-id",
17+
authentication_method: "api_key",
1618
description: "Customer support voice agent",
1719
language: "en",
18-
contactNumber: "+1xxxxxxxxxx",
20+
contact_number: "+1xxxxxxxxxx",
1921
inbound: true,
20-
commitMessage: "Initial version",
21-
observabilityEnabled: true
22+
observability_enabled: true,
23+
replay_session_id: null,
24+
livekit_url: null,
25+
livekit_api_key: null,
26+
livekit_api_secret: null,
27+
livekit_agent_name: null,
28+
livekit_config_json: null,
29+
livekit_max_concurrency: null
2230
}}
2331
responseExample={{
2432
message: "Agent definition created successfully",
25-
agent: { id: "550e8400-e29b-41d4-a716-446655440000", agentName: "support-bot-v1", agentType: "voice", provider: "vapi", language: "en", created_at: "2026-03-15T10:30:00Z" }
33+
agent: { id: "550e8400-e29b-41d4-a716-446655440000", agent_name: "support-bot-v1", agent_type: "voice", provider: "vapi", language: "en", livekit_url: null, livekit_api_key: null, livekit_agent_name: null, livekit_config_json: {}, livekit_max_concurrency: 5, created_at: "2026-03-15T10:30:00Z" }
2634
}}
2735
responseStatus={201}
2836
responseStatusText="Created"
@@ -38,71 +46,154 @@ description: "Creates a new agent definition with its first version."
3846
</ApiSection>
3947

4048
<ApiSection title="Request body">
41-
<ParamField body="agentType" type="string" required>
42-
The communication channel for the agent. Values: `"voice"`, `"text"`.
49+
<ParamField body="agent_type" type="string" required>
50+
Values: `voice`, `text`.
4351
</ParamField>
4452

45-
<ParamField body="agentName" type="string" required>
53+
<ParamField body="agent_name" type="string" required>
4654
Display name for the agent.
4755
</ParamField>
4856

49-
<ParamField body="provider" type="string" required>
50-
The external voice provider. Values: `"vapi"`, `"retell"`, `"eleven_labs"`, `"others"`. Required for voice agents.
57+
<ParamField body="commit_message" type="string" required>
58+
Commit message describing the initial version. Defaults to an auto-generated message if omitted.
5159
</ParamField>
5260

53-
<ParamField body="apiKey" type="string" optional>
54-
API key for the external voice provider. Required for outbound agents or when `observabilityEnabled` is `true`.
61+
<ParamField body="provider" type="string" optional>
62+
External voice provider. Values: `vapi`, `retell`, `eleven_labs`, `livekit`, `livekit_bridge`, `others`. Required for voice agents.
5563
</ParamField>
5664

57-
<ParamField body="assistantId" type="string" optional>
58-
Assistant ID from the external provider. Required for outbound agents or when `observabilityEnabled` is `true`.
65+
<ParamField body="api_key" type="string" optional>
66+
API key for the external voice provider. Required for outbound agents or when `observability_enabled` is `true`.
67+
</ParamField>
68+
69+
<ParamField body="assistant_id" type="string" optional>
70+
Assistant identifier from the external provider. Required for outbound agents or when `observability_enabled` is `true`.
71+
</ParamField>
72+
73+
<ParamField body="authentication_method" type="string" optional>
74+
Provider authentication method. Values: `api_key`. Required for non-`others` voice agents that are outbound or have `observability_enabled` set.
5975
</ParamField>
6076

6177
<ParamField body="description" type="string" optional>
6278
Description for the initial agent version.
6379
</ParamField>
6480

65-
<ParamField body="language" type="string" required>
66-
Primary language as an ISO 639-1 two-letter code (e.g., `"en"`, `"es"`).
81+
<ParamField body="language" type="string" optional>
82+
Primary language as an ISO 639-1 code (e.g. `en`, `es`).
6783
</ParamField>
6884

69-
<ParamField body="knowledgeBase" type="string" optional>
70-
UUID of a knowledge base to link to the agent.
85+
<ParamField body="languages" type="array of string" optional>
86+
List of supported ISO 639-1 language codes.
7187
</ParamField>
7288

73-
<ParamField body="countryCode" type="string" optional>
74-
Phone country code without the `+` prefix (e.g., `"1"`, `"91"`).
89+
<ParamField body="knowledge_base" type="UUID" optional>
90+
UUID of a knowledge base to link to the agent.
7591
</ParamField>
7692

77-
<ParamField body="contactNumber" type="string" required>
78-
Full phone number with country code prefix (e.g., `"+14155551234"`). Number portion must be 10-12 digits.
93+
<ParamField body="contact_number" type="string" optional>
94+
Full phone number with country code prefix (e.g. `+14155551234`). Number portion must be 1012 digits. Not required for `livekit` / `livekit_bridge` providers, or when `api_key` and `assistant_id` are both provided (web bridge).
7995
</ParamField>
8096

8197
<ParamField body="inbound" type="boolean" optional>
8298
Whether the agent handles inbound calls. Defaults to `false` (outbound-only).
8399
</ParamField>
84100

85-
<ParamField body="commitMessage" type="string" optional>
86-
Commit message for the initial version. A default is generated if omitted.
101+
<ParamField body="observability_enabled" type="boolean" optional>
102+
Enables observability with the external provider. Requires `api_key` and `assistant_id`.
103+
</ParamField>
104+
105+
<ParamField body="model" type="string" optional>
106+
AI model identifier (e.g. `gpt-4o`, `claude-3-sonnet`).
107+
</ParamField>
108+
109+
<ParamField body="model_details" type="object" optional>
110+
Provider-specific model settings (temperature, max tokens, etc.).
111+
</ParamField>
112+
113+
<ParamField body="websocket_url" type="string" optional>
114+
WebSocket URL for real-time providers. Must start with `ws://` or `wss://`.
115+
</ParamField>
116+
117+
<ParamField body="websocket_headers" type="object" optional>
118+
Custom headers for the WebSocket connection.
87119
</ParamField>
88120

89-
<ParamField body="observabilityEnabled" type="boolean" optional>
90-
Enables ingestion of call logs and transcripts from the provider. Requires `apiKey` and `assistantId`.
121+
<ParamField body="replay_session_id" type="UUID" optional>
122+
UUID of a replay session to initialize the agent from.
123+
</ParamField>
124+
125+
<ParamField body="livekit_url" type="string" optional>
126+
LiveKit server URL (e.g. `wss://your-server.livekit.cloud`). Required for `livekit` and `livekit_bridge` providers.
127+
</ParamField>
128+
129+
<ParamField body="livekit_api_key" type="string" optional>
130+
LiveKit API key.
131+
</ParamField>
132+
133+
<ParamField body="livekit_api_secret" type="string" optional>
134+
LiveKit API secret. Write-only; not returned in responses.
135+
</ParamField>
136+
137+
<ParamField body="livekit_agent_name" type="string" optional>
138+
Agent name registered on the LiveKit server.
139+
</ParamField>
140+
141+
<ParamField body="livekit_config_json" type="object" optional>
142+
LiveKit room configuration metadata.
143+
</ParamField>
144+
145+
<ParamField body="livekit_max_concurrency" type="integer" optional>
146+
Max concurrent LiveKit sessions. Min `1`, capped by org limit. Defaults to `5`.
91147
</ParamField>
92148
</ApiSection>
93149

94150
<ApiSection title="Response" status={201} statusText="Created">
95151
<ResponseField name="message" type="string">Confirmation message.</ResponseField>
96-
<ResponseField name="agent" type="object">The created agent definition object.</ResponseField>
152+
<ResponseField name="agent" type="object">
153+
The newly created agent definition.
154+
155+
<ApiCollapsible title="Show agent properties">
156+
<ResponseField name="id" type="string">UUID of the agent definition.</ResponseField>
157+
<ResponseField name="agent_name" type="string">Display name.</ResponseField>
158+
<ResponseField name="agent_type" type="string">`voice` or `text`.</ResponseField>
159+
<ResponseField name="contact_number" type="string">Phone number with country code, or `null` for text agents.</ResponseField>
160+
<ResponseField name="inbound" type="boolean">Whether the agent handles inbound calls.</ResponseField>
161+
<ResponseField name="description" type="string">Agent description.</ResponseField>
162+
<ResponseField name="assistant_id" type="string">External assistant ID, or `null`.</ResponseField>
163+
<ResponseField name="provider" type="string">Voice provider, or `null` for text agents.</ResponseField>
164+
<ResponseField name="language" type="string">Primary language ISO 639-1 code.</ResponseField>
165+
<ResponseField name="languages" type="array">All supported language codes.</ResponseField>
166+
<ResponseField name="authentication_method" type="string">Provider auth method.</ResponseField>
167+
<ResponseField name="websocket_url" type="string">WebSocket URL, or `null`.</ResponseField>
168+
<ResponseField name="websocket_headers" type="object">WebSocket headers, or `null`.</ResponseField>
169+
<ResponseField name="workspace" type="string">Workspace UUID, or `null`.</ResponseField>
170+
<ResponseField name="knowledge_base" type="string">Linked knowledge base UUID, or `null`.</ResponseField>
171+
<ResponseField name="organization" type="string">Organization UUID.</ResponseField>
172+
<ResponseField name="api_key" type="string">Provider API key (masked).</ResponseField>
173+
<ResponseField name="observability_provider" type="string">Observability provider, or `null`.</ResponseField>
174+
<ResponseField name="created_at" type="datetime">ISO 8601 creation timestamp.</ResponseField>
175+
<ResponseField name="updated_at" type="datetime">ISO 8601 last-modified timestamp.</ResponseField>
176+
<ResponseField name="model" type="string">AI model identifier, if set.</ResponseField>
177+
<ResponseField name="model_details" type="object">Extended model configuration.</ResponseField>
178+
<ResponseField name="livekit_url" type="string">LiveKit server URL, or `null`.</ResponseField>
179+
<ResponseField name="livekit_api_key" type="string">LiveKit API key, or `null`.</ResponseField>
180+
<ResponseField name="livekit_agent_name" type="string">LiveKit agent name, or `null`.</ResponseField>
181+
<ResponseField name="livekit_config_json" type="object">LiveKit room configuration.</ResponseField>
182+
<ResponseField name="livekit_max_concurrency" type="integer">Max concurrent LiveKit sessions. Defaults to `5`.</ResponseField>
183+
</ApiCollapsible>
184+
</ResponseField>
97185
</ApiSection>
98186

99187
<ApiSection title="Errors">
100188
<ParamField name="400" type="Bad Request">
101-
Missing required fields or invalid values.
189+
Missing required fields, invalid provider configuration, or `livekit_max_concurrency` exceeds org limit.
102190
</ParamField>
103191
<ParamField name="401" type="Unauthorized">
104192
Invalid or missing API credentials.
105193
</ParamField>
194+
<ParamField name="404" type="Not Found">
195+
Replay session not found.
196+
</ParamField>
106197
<ParamField name="500" type="Internal Server Error">
107198
Unexpected server error.
108199
</ParamField>

src/pages/docs/api/agent-definitions/deleteagentdefinitions.mdx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
22
title: "Delete Agent Definitions"
3-
description: "Soft-deletes one or more agent definitions and their associated versions."
3+
description: "Bulk soft-deletes one or more agent definitions and their associated versions."
44
---
55

66
<ApiPlayground
77
method="DELETE"
88
endpoint="/simulate/agent-definitions/"
99
baseUrl="https://api.futureagi.com"
1010
requestBody={{
11-
agentIds: ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
11+
agent_ids: ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
1212
}}
1313
responseExample={{
1414
message: "Agents deleted successfully",
15-
agentsUpdated: 1,
16-
versionsUpdated: 3
15+
agents_updated: 1,
16+
versions_updated: 3
1717
}}
1818
responseStatus={200}
1919
responseStatusText="OK"
@@ -29,20 +29,20 @@ description: "Soft-deletes one or more agent definitions and their associated ve
2929
</ApiSection>
3030

3131
<ApiSection title="Request body">
32-
<ParamField body="agentIds" type="array of string" required>
33-
List of agent definition UUIDs to delete. Must contain at least one ID.
32+
<ParamField body="agent_ids" type="array of UUID" required>
33+
Agent definition UUIDs to delete. Must contain at least one ID. Associated versions are also soft-deleted.
3434
</ParamField>
3535
</ApiSection>
3636

3737
<ApiSection title="Response" status={200} statusText="OK">
3838
<ResponseField name="message" type="string">Confirmation message.</ResponseField>
39-
<ResponseField name="agentsUpdated" type="integer">Number of agent definitions deleted.</ResponseField>
40-
<ResponseField name="versionsUpdated" type="integer">Number of agent versions deleted.</ResponseField>
39+
<ResponseField name="agents_updated" type="integer">Number of agent definitions deleted.</ResponseField>
40+
<ResponseField name="versions_updated" type="integer">Number of agent versions deleted.</ResponseField>
4141
</ApiSection>
4242

4343
<ApiSection title="Errors">
4444
<ParamField name="400" type="Bad Request">
45-
`agentIds` is missing, not an array, or empty.
45+
Missing, malformed, or empty `agent_ids`.
4646
</ParamField>
4747
<ParamField name="401" type="Unauthorized">
4848
Invalid or missing API credentials.

src/pages/docs/api/agent-definitions/fetchassistantfromprovider.mdx

Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ description: "Fetches assistant name and system prompt from an external voice pr
88
endpoint="/simulate/api/agent-definition-operations/fetch_assistant_from_provider/"
99
baseUrl="https://api.futureagi.com"
1010
requestBody={{
11-
assistantId: "your-assistant-id",
12-
apiKey: "your-provider-api-key",
11+
assistant_id: "your-assistant-id",
12+
api_key: "your-provider-api-key",
1313
provider: "vapi"
1414
}}
1515
responseExample={{
16-
assistantId: "your-assistant-id",
17-
apiKey: "your-provider-api-key",
18-
name: "Customer Support Bot",
19-
prompt: "You are a helpful customer support agent...",
20-
provider: "vapi",
21-
commitMessage: "Fetched from provider on 2026-03-15"
16+
status: true,
17+
result: {
18+
assistant_id: "your-assistant-id",
19+
api_key: "your-provider-api-key",
20+
provider: "vapi"
21+
}
2222
}}
2323
responseStatus={200}
2424
responseStatusText="OK"
@@ -34,38 +34,28 @@ description: "Fetches assistant name and system prompt from an external voice pr
3434
</ApiSection>
3535

3636
<ApiSection title="Request body">
37-
<ParamField body="assistantId" type="string" required>
38-
The assistant ID from the external provider's platform.
37+
<ParamField body="assistant_id" type="string" required>
38+
Assistant ID from the external provider's platform.
3939
</ParamField>
40-
41-
<ParamField body="apiKey" type="string" required>
40+
<ParamField body="api_key" type="string" required>
4241
API key for the external voice provider.
4342
</ParamField>
44-
4543
<ParamField body="provider" type="string" required>
46-
The voice provider to fetch from. Values: `"vapi"`, `"retell"`, `"elevenLabs"`, `"others"`.
47-
</ParamField>
48-
49-
<ParamField body="name" type="string" optional>
50-
Name override; returned instead of the provider-fetched name.
51-
</ParamField>
52-
53-
<ParamField body="prompt" type="string" optional>
54-
Prompt override; returned instead of the provider-fetched system prompt.
55-
</ParamField>
56-
57-
<ParamField body="commitMessage" type="string" optional>
58-
Commit message. Auto-generated with a timestamp if omitted.
44+
Voice provider. Values: `vapi`, `retell`, `eleven_labs`, `livekit`, `others`.
5945
</ParamField>
6046
</ApiSection>
6147

6248
<ApiSection title="Response" status={200} statusText="OK">
63-
<ResponseField name="assistantId" type="string">The requested assistant ID.</ResponseField>
64-
<ResponseField name="apiKey" type="string">The provider API key used.</ResponseField>
65-
<ResponseField name="name" type="string">Assistant name from the provider or the override.</ResponseField>
66-
<ResponseField name="prompt" type="string">System prompt from the provider or the override.</ResponseField>
67-
<ResponseField name="provider" type="string">The queried provider.</ResponseField>
68-
<ResponseField name="commitMessage" type="string">Provided or auto-generated commit message.</ResponseField>
49+
<ResponseField name="status" type="boolean">`true` on success.</ResponseField>
50+
<ResponseField name="result" type="object">
51+
Assistant details from the provider.
52+
53+
<ApiCollapsible title="Show result properties">
54+
<ResponseField name="assistant_id" type="string">Assistant ID from the provider.</ResponseField>
55+
<ResponseField name="api_key" type="string">Provider API key used.</ResponseField>
56+
<ResponseField name="provider" type="string">Provider that was queried.</ResponseField>
57+
</ApiCollapsible>
58+
</ResponseField>
6959
</ApiSection>
7060

7161
<ApiSection title="Errors">
@@ -75,6 +65,9 @@ description: "Fetches assistant name and system prompt from an external voice pr
7565
<ParamField name="401" type="Unauthorized">
7666
Invalid or missing API credentials.
7767
</ParamField>
68+
<ParamField name="422" type="Unprocessable Entity">
69+
Missing or invalid request fields.
70+
</ParamField>
7871
<ParamField name="500" type="Internal Server Error">
7972
Unexpected server error.
8073
</ParamField>

0 commit comments

Comments
 (0)