Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 63 additions & 3 deletions src/lib/api-navigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,40 @@ export const apiNavigation: ApiNavGroup[] = [
{
"title": "Scenarios",
"items": [
{
"title": "List scenarios",
"href": "/docs/api/scenarios/listscenarios",
"method": "GET"
},
{
"title": "Get scenario details",
"href": "/docs/api/scenarios/getscenario",
"method": "GET"
},
{
"title": "Generate or create a scenario",
"href": "/docs/api/scenarios/createscenario",
"method": "POST"
},
{
"title": "Edit a scenario",
"href": "/docs/api/scenarios/editscenario",
"method": "PUT"
},
{
"title": "Delete a scenario",
"href": "/docs/api/scenarios/deletescenario",
"method": "DELETE"
},
{
"title": "Add rows to a scenario using AI",
"href": "/docs/api/scenarios/addscenariorowswithai",
"method": "POST"
},
{
"title": "Edit a scenario",
"href": "/docs/api/scenarios/editscenario",
"method": "PUT"
"title": "Add columns to a scenario",
"href": "/docs/api/scenarios/addcolumns",
"method": "POST"
},
{
"title": "Add empty rows to a scenario",
Expand All @@ -52,20 +72,60 @@ export const apiNavigation: ApiNavGroup[] = [
{
"title": "Agent Definitions",
"items": [
{
"title": "List agent definitions",
"href": "/docs/api/agent-definitions/listagentdefinitions",
"method": "GET"
},
{
"title": "Create agent definition",
"href": "/docs/api/agent-definitions/createagentdefinition",
"method": "POST"
},
{
"title": "Get agent definition details",
"href": "/docs/api/agent-definitions/getagentdefinition",
"method": "GET"
},
{
"title": "Delete agent definitions",
"href": "/docs/api/agent-definitions/deleteagentdefinitions",
"method": "DELETE"
},
{
"title": "Fetch assistant from provider",
"href": "/docs/api/agent-definitions/fetchassistantfromprovider",
"method": "POST"
}
]
},
{
"title": "Agent Versions",
"items": [
{
"title": "List agent versions",
"href": "/docs/api/agent-versions/listagentversions",
"method": "GET"
},
{
"title": "Create new version of agent",
"href": "/docs/api/agent-versions/createagentversion",
"method": "POST"
},
{
"title": "Get agent version details",
"href": "/docs/api/agent-versions/getagentversion",
"method": "GET"
},
{
"title": "Get call executions for version",
"href": "/docs/api/agent-versions/getversioncallexecutions",
"method": "GET"
},
{
"title": "Get eval summary for version",
"href": "/docs/api/agent-versions/getversionevalsummary",
"method": "GET"
}
]
},
Expand Down
14 changes: 13 additions & 1 deletion src/lib/navigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -905,22 +905,34 @@ export const tabNavigation: NavTab[] = [
{
title: 'Scenarios',
items: [
{ title: 'List Scenarios', href: '/docs/api/scenarios/listscenarios' },
{ title: 'Get Scenario Details', href: '/docs/api/scenarios/getscenario' },
{ title: 'Create Scenario', href: '/docs/api/scenarios/createscenario' },
{ title: 'Edit Scenario', href: '/docs/api/scenarios/editscenario' },
{ title: 'Add Empty Rows', href: '/docs/api/scenarios/addemptyrowstodataset' },
{ title: 'Delete Scenario', href: '/docs/api/scenarios/deletescenario' },
{ title: 'Add Rows with AI', href: '/docs/api/scenarios/addscenariorowswithai' },
{ title: 'Add Columns', href: '/docs/api/scenarios/addcolumns' },
{ title: 'Add Empty Rows', href: '/docs/api/scenarios/addemptyrowstodataset' },
]
},
{
title: 'Agent Definitions',
items: [
{ title: 'List Agent Definitions', href: '/docs/api/agent-definitions/listagentdefinitions' },
{ title: 'Create Agent Definition', href: '/docs/api/agent-definitions/createagentdefinition' },
{ title: 'Get Agent Definition', href: '/docs/api/agent-definitions/getagentdefinition' },
{ title: 'Delete Agent Definitions', href: '/docs/api/agent-definitions/deleteagentdefinitions' },
{ title: 'Fetch from Provider', href: '/docs/api/agent-definitions/fetchassistantfromprovider' },
]
},
{
title: 'Agent Versions',
items: [
{ title: 'List Agent Versions', href: '/docs/api/agent-versions/listagentversions' },
{ title: 'Create Agent Version', href: '/docs/api/agent-versions/createagentversion' },
{ title: 'Get Agent Version', href: '/docs/api/agent-versions/getagentversion' },
{ title: 'Get Version Call Executions', href: '/docs/api/agent-versions/getversioncallexecutions' },
{ title: 'Get Version Eval Summary', href: '/docs/api/agent-versions/getversionevalsummary' },
]
},
{
Expand Down
93 changes: 65 additions & 28 deletions src/pages/docs/api/agent-definitions/createagentdefinition.mdx
Original file line number Diff line number Diff line change
@@ -1,72 +1,109 @@
---
title: "Create agent definition"
description: "Create a new agent definition and its first version."
title: "Create Agent Definition"
description: "Creates a new agent definition with its first version."
---

<ApiPlayground
method="POST"
endpoint="/simulate/agent-definitions/create/"
baseUrl="https://api.futureagi.com"
parameters={[]}
requestBody={{"agentType": "voice", "agentName": "your-agentName", "provider": "vapi", "apiKey": "your-apiKey", "assistantId": "your-assistantId", "description": "your-description", "language": "your-language", "knowledgeBase": "your-knowledgeBase", "countryCode": "your-countryCode", "contactNumber": "your-contactNumber", "inbound": true, "commitMessage": "your-commitMessage", "observabilityEnabled": true}}
responseExample={{"message": "Agent definition created successfully", "agent": {"id": "550e8400-e29b-41d4-a716-446655440000", "agentName": "your-agentName", "agentType": "voice", "provider": "vapi", "language": "en", "created_at": "2026-03-15T10:30:00Z"}}}
requestBody={{
agentType: "voice",
agentName: "support-bot-v1",
provider: "vapi",
apiKey: "your-provider-api-key",
assistantId: "your-assistant-id",
description: "Customer support voice agent",
language: "en",
contactNumber: "+1xxxxxxxxxx",
inbound: true,
commitMessage: "Initial version",
observabilityEnabled: true
}}
responseExample={{
message: "Agent definition created successfully",
agent: { id: "550e8400-e29b-41d4-a716-446655440000", agentName: "support-bot-v1", agentType: "voice", provider: "vapi", language: "en", created_at: "2026-03-15T10:30:00Z" }
}}
responseStatus={201}
responseStatusText="Created"
/>

<ApiSection title="Authentication">
<ParamField name="Authorization" type="Bearer" required>
Include your API key in the `Authorization` header as `Bearer <token>`. Retrieve your API Key from the [Dashboard](https://app.futureagi.com).
<ParamField name="X-Api-Key" type="API Key" required>
Your Future AGI API key used to authenticate requests. You can find and manage your API keys in the [Dashboard](https://app.futureagi.com) under Settings.
</ParamField>
<ParamField name="X-Secret-Key" type="Secret Key" required>
Your Future AGI secret key, used alongside the API key for request authentication. This is generated when you create an API key in the [Dashboard](https://app.futureagi.com).
</ParamField>
</ApiSection>

<ApiSection title="Request body">
<ParamField body="agentType" type="string" optional enum={["voice", "text"]}>
Type of the agent.
<ParamField body="agentType" type="string" required>
The communication channel for the agent. Values: `"voice"`, `"text"`.
</ParamField>

<ParamField body="agentName" type="string" required>
Name of the agent.
Display name for the agent.
</ParamField>
<ParamField body="provider" type="string" required enum={["vapi", "retell"]}>
Provider for the agent (e.g., vapi, retell).

<ParamField body="provider" type="string" required>
The external voice provider. Values: `"vapi"`, `"retell"`, `"eleven_labs"`, `"others"`. Required for voice agents.
</ParamField>

<ParamField body="apiKey" type="string" optional>
API key for the agent provider.
API key for the external voice provider. Required for outbound agents or when `observabilityEnabled` is `true`.
</ParamField>

<ParamField body="assistantId" type="string" optional>
External identifier for the assistant.
Assistant ID from the external provider. Required for outbound agents or when `observabilityEnabled` is `true`.
</ParamField>

<ParamField body="description" type="string" optional>
Description for the first version of the agent.
Description for the initial agent version.
</ParamField>

<ParamField body="language" type="string" required>
Language of the agent ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code, for example, `en` for English).
Primary language as an ISO 639-1 two-letter code (e.g., `"en"`, `"es"`).
</ParamField>

<ParamField body="knowledgeBase" type="string" optional>
ID of the knowledge base to associate with the agent.
UUID of a knowledge base to link to the agent.
</ParamField>

<ParamField body="countryCode" type="string" optional>
Country code for the contact number. For example, 1 for USA, 91 for India, etc.
Phone country code without the `+` prefix (e.g., `"1"`, `"91"`).
</ParamField>

<ParamField body="contactNumber" type="string" required>
Contact number for the agent including country code. For example, +1xxxxxxxxxx for USA, +91xxxxxxxxxx for India, etc.
Full phone number with country code prefix (e.g., `"+14155551234"`). Number portion must be 10-12 digits.
</ParamField>

<ParamField body="inbound" type="boolean" optional>
Specifies if the agent handles inbound communication.
Whether the agent handles inbound calls. Defaults to `false` (outbound-only).
</ParamField>

<ParamField body="commitMessage" type="string" optional>
Commit message for the initial version of the agent.
Commit message for the initial version. A default is generated if omitted.
</ParamField>

<ParamField body="observabilityEnabled" type="boolean" optional>
Enable observability for the agent.
Enables ingestion of call logs and transcripts from the provider. Requires `apiKey` and `assistantId`.
</ParamField>
</ApiSection>

<ApiSection title="Response" status={201} statusText="Created">
<ResponseField name="message" type="string">
The message field.
</ResponseField>
<ResponseField name="agent" type="any">
The agent field.
</ResponseField>
<ResponseField name="message" type="string">Confirmation message.</ResponseField>
<ResponseField name="agent" type="object">The created agent definition object.</ResponseField>
</ApiSection>

<ApiSection title="Errors">
<ParamField name="400" type="Bad Request">
Missing required fields or invalid values.
</ParamField>
<ParamField name="401" type="Unauthorized">
Invalid or missing API credentials.
</ParamField>
<ParamField name="500" type="Internal Server Error">
Unexpected server error.
</ParamField>
</ApiSection>
53 changes: 53 additions & 0 deletions src/pages/docs/api/agent-definitions/deleteagentdefinitions.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: "Delete Agent Definitions"
description: "Soft-deletes one or more agent definitions and their associated versions."
---

<ApiPlayground
method="DELETE"
endpoint="/simulate/agent-definitions/"
baseUrl="https://api.futureagi.com"
requestBody={{
agentIds: ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
}}
responseExample={{
message: "Agents deleted successfully",
agentsUpdated: 1,
versionsUpdated: 3
}}
responseStatus={200}
responseStatusText="OK"
/>

<ApiSection title="Authentication">
<ParamField name="X-Api-Key" type="API Key" required>
Your Future AGI API key used to authenticate requests. You can find and manage your API keys in the [Dashboard](https://app.futureagi.com) under Settings.
</ParamField>
<ParamField name="X-Secret-Key" type="Secret Key" required>
Your Future AGI secret key, used alongside the API key for request authentication. This is generated when you create an API key in the [Dashboard](https://app.futureagi.com).
</ParamField>
</ApiSection>

<ApiSection title="Request body">
<ParamField body="agentIds" type="array of string" required>
List of agent definition UUIDs to delete. Must contain at least one ID.
</ParamField>
</ApiSection>

<ApiSection title="Response" status={200} statusText="OK">
<ResponseField name="message" type="string">Confirmation message.</ResponseField>
<ResponseField name="agentsUpdated" type="integer">Number of agent definitions deleted.</ResponseField>
<ResponseField name="versionsUpdated" type="integer">Number of agent versions deleted.</ResponseField>
</ApiSection>

<ApiSection title="Errors">
<ParamField name="400" type="Bad Request">
`agentIds` is missing, not an array, or empty.
</ParamField>
<ParamField name="401" type="Unauthorized">
Invalid or missing API credentials.
</ParamField>
<ParamField name="500" type="Internal Server Error">
Unexpected server error.
</ParamField>
</ApiSection>
Loading