curl --request POST \
--url https://api.{env}.corti.app/v2/agentic/agents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Tenant-Name: <api-key>' \
--data '
{
"name": "coder",
"description": "Returns ICD-10 codes for a clinical encounter.",
"systemPrompt": "Respond with only the ICD-10 code.",
"model": "corti-default",
"visibility": "private",
"lifecycle": "persistent",
"connectors": [
{
"type": "registry",
"name": "@dedalus/coding-expert"
},
{
"type": "mcp",
"name": "policybot",
"url": "https://mcp.example.com",
"auth": {
"type": "oauth2",
"scope": "read:policies",
"redirectUrl": "https://app.corti.ai/oauth/callback"
}
},
{
"type": "schema",
"name": "submit_code",
"description": "Submit the final ICD-10 code for the encounter along with a confidence score.",
"transition": "complete",
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The selected ICD-10 code."
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"code"
]
}
}
],
"labels": {
"team": "coding",
"env": "prod"
}
}
'const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Tenant-Name': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'coder',
description: 'Returns ICD-10 codes for a clinical encounter.',
systemPrompt: 'Respond with only the ICD-10 code.',
model: 'corti-default',
visibility: 'private',
lifecycle: 'persistent',
connectors: [
{type: 'registry', name: '@dedalus/coding-expert'},
{
type: 'mcp',
name: 'policybot',
url: 'https://mcp.example.com',
auth: {
type: 'oauth2',
scope: 'read:policies',
redirectUrl: 'https://app.corti.ai/oauth/callback'
}
},
{
type: 'schema',
name: 'submit_code',
description: 'Submit the final ICD-10 code for the encounter along with a confidence score.',
transition: 'complete',
schema: {
type: 'object',
properties: {
code: {type: 'string', description: 'The selected ICD-10 code.'},
confidence: {type: 'number', minimum: 0, maximum: 1}
},
required: ['code']
}
}
],
labels: {team: 'coding', env: 'prod'}
})
};
fetch('https://api.{env}.corti.app/v2/agentic/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));using RestSharp;
var options = new RestClientOptions("https://api.{env}.corti.app/v2/agentic/agents");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Tenant-Name", "<api-key>");
request.AddJsonBody("{\n \"name\": \"coder\",\n \"description\": \"Returns ICD-10 codes for a clinical encounter.\",\n \"systemPrompt\": \"Respond with only the ICD-10 code.\",\n \"model\": \"corti-default\",\n \"visibility\": \"private\",\n \"lifecycle\": \"persistent\",\n \"connectors\": [\n {\n \"type\": \"registry\",\n \"name\": \"@dedalus/coding-expert\"\n },\n {\n \"type\": \"mcp\",\n \"name\": \"policybot\",\n \"url\": \"https://mcp.example.com\",\n \"auth\": {\n \"type\": \"oauth2\",\n \"scope\": \"read:policies\",\n \"redirectUrl\": \"https://app.corti.ai/oauth/callback\"\n }\n },\n {\n \"type\": \"schema\",\n \"name\": \"submit_code\",\n \"description\": \"Submit the final ICD-10 code for the encounter along with a confidence score.\",\n \"transition\": \"complete\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"string\",\n \"description\": \"The selected ICD-10 code.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n }\n },\n \"required\": [\n \"code\"\n ]\n }\n }\n ],\n \"labels\": {\n \"team\": \"coding\",\n \"env\": \"prod\"\n }\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);import requests
url = "https://api.{env}.corti.app/v2/agentic/agents"
payload = {
"name": "coder",
"description": "Returns ICD-10 codes for a clinical encounter.",
"systemPrompt": "Respond with only the ICD-10 code.",
"model": "corti-default",
"visibility": "private",
"lifecycle": "persistent",
"connectors": [
{
"type": "registry",
"name": "@dedalus/coding-expert"
},
{
"type": "mcp",
"name": "policybot",
"url": "https://mcp.example.com",
"auth": {
"type": "oauth2",
"scope": "read:policies",
"redirectUrl": "https://app.corti.ai/oauth/callback"
}
},
{
"type": "schema",
"name": "submit_code",
"description": "Submit the final ICD-10 code for the encounter along with a confidence score.",
"transition": "complete",
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The selected ICD-10 code."
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": ["code"]
}
}
],
"labels": {
"team": "coding",
"env": "prod"
}
}
headers = {
"Authorization": "Bearer <token>",
"Tenant-Name": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.{env}.corti.app/v2/agentic/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'coder',
'description' => 'Returns ICD-10 codes for a clinical encounter.',
'systemPrompt' => 'Respond with only the ICD-10 code.',
'model' => 'corti-default',
'visibility' => 'private',
'lifecycle' => 'persistent',
'connectors' => [
[
'type' => 'registry',
'name' => '@dedalus/coding-expert'
],
[
'type' => 'mcp',
'name' => 'policybot',
'url' => 'https://mcp.example.com',
'auth' => [
'type' => 'oauth2',
'scope' => 'read:policies',
'redirectUrl' => 'https://app.corti.ai/oauth/callback'
]
],
[
'type' => 'schema',
'name' => 'submit_code',
'description' => 'Submit the final ICD-10 code for the encounter along with a confidence score.',
'transition' => 'complete',
'schema' => [
'type' => 'object',
'properties' => [
'code' => [
'type' => 'string',
'description' => 'The selected ICD-10 code.'
],
'confidence' => [
'type' => 'number',
'minimum' => 0,
'maximum' => 1
]
],
'required' => [
'code'
]
]
]
],
'labels' => [
'team' => 'coding',
'env' => 'prod'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Tenant-Name: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.{env}.corti.app/v2/agentic/agents"
payload := strings.NewReader("{\n \"name\": \"coder\",\n \"description\": \"Returns ICD-10 codes for a clinical encounter.\",\n \"systemPrompt\": \"Respond with only the ICD-10 code.\",\n \"model\": \"corti-default\",\n \"visibility\": \"private\",\n \"lifecycle\": \"persistent\",\n \"connectors\": [\n {\n \"type\": \"registry\",\n \"name\": \"@dedalus/coding-expert\"\n },\n {\n \"type\": \"mcp\",\n \"name\": \"policybot\",\n \"url\": \"https://mcp.example.com\",\n \"auth\": {\n \"type\": \"oauth2\",\n \"scope\": \"read:policies\",\n \"redirectUrl\": \"https://app.corti.ai/oauth/callback\"\n }\n },\n {\n \"type\": \"schema\",\n \"name\": \"submit_code\",\n \"description\": \"Submit the final ICD-10 code for the encounter along with a confidence score.\",\n \"transition\": \"complete\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"string\",\n \"description\": \"The selected ICD-10 code.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n }\n },\n \"required\": [\n \"code\"\n ]\n }\n }\n ],\n \"labels\": {\n \"team\": \"coding\",\n \"env\": \"prod\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Tenant-Name", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.{env}.corti.app/v2/agentic/agents")
.header("Authorization", "Bearer <token>")
.header("Tenant-Name", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"coder\",\n \"description\": \"Returns ICD-10 codes for a clinical encounter.\",\n \"systemPrompt\": \"Respond with only the ICD-10 code.\",\n \"model\": \"corti-default\",\n \"visibility\": \"private\",\n \"lifecycle\": \"persistent\",\n \"connectors\": [\n {\n \"type\": \"registry\",\n \"name\": \"@dedalus/coding-expert\"\n },\n {\n \"type\": \"mcp\",\n \"name\": \"policybot\",\n \"url\": \"https://mcp.example.com\",\n \"auth\": {\n \"type\": \"oauth2\",\n \"scope\": \"read:policies\",\n \"redirectUrl\": \"https://app.corti.ai/oauth/callback\"\n }\n },\n {\n \"type\": \"schema\",\n \"name\": \"submit_code\",\n \"description\": \"Submit the final ICD-10 code for the encounter along with a confidence score.\",\n \"transition\": \"complete\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"string\",\n \"description\": \"The selected ICD-10 code.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n }\n },\n \"required\": [\n \"code\"\n ]\n }\n }\n ],\n \"labels\": {\n \"team\": \"coding\",\n \"env\": \"prod\"\n }\n}")
.asString();{
"id": "<string>",
"name": "<string>",
"visibility": "private",
"lifecycle": "ephemeral",
"connectors": [
{
"id": "<string>",
"name": "<string>",
"enabled": true,
"config": {}
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"description": "<string>",
"systemPrompt": "<string>",
"model": "<string>",
"labels": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}Create an agent
Creates a new agent. The server assigns the UUIDv7 id.
curl --request POST \
--url https://api.{env}.corti.app/v2/agentic/agents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Tenant-Name: <api-key>' \
--data '
{
"name": "coder",
"description": "Returns ICD-10 codes for a clinical encounter.",
"systemPrompt": "Respond with only the ICD-10 code.",
"model": "corti-default",
"visibility": "private",
"lifecycle": "persistent",
"connectors": [
{
"type": "registry",
"name": "@dedalus/coding-expert"
},
{
"type": "mcp",
"name": "policybot",
"url": "https://mcp.example.com",
"auth": {
"type": "oauth2",
"scope": "read:policies",
"redirectUrl": "https://app.corti.ai/oauth/callback"
}
},
{
"type": "schema",
"name": "submit_code",
"description": "Submit the final ICD-10 code for the encounter along with a confidence score.",
"transition": "complete",
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The selected ICD-10 code."
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"code"
]
}
}
],
"labels": {
"team": "coding",
"env": "prod"
}
}
'const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Tenant-Name': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'coder',
description: 'Returns ICD-10 codes for a clinical encounter.',
systemPrompt: 'Respond with only the ICD-10 code.',
model: 'corti-default',
visibility: 'private',
lifecycle: 'persistent',
connectors: [
{type: 'registry', name: '@dedalus/coding-expert'},
{
type: 'mcp',
name: 'policybot',
url: 'https://mcp.example.com',
auth: {
type: 'oauth2',
scope: 'read:policies',
redirectUrl: 'https://app.corti.ai/oauth/callback'
}
},
{
type: 'schema',
name: 'submit_code',
description: 'Submit the final ICD-10 code for the encounter along with a confidence score.',
transition: 'complete',
schema: {
type: 'object',
properties: {
code: {type: 'string', description: 'The selected ICD-10 code.'},
confidence: {type: 'number', minimum: 0, maximum: 1}
},
required: ['code']
}
}
],
labels: {team: 'coding', env: 'prod'}
})
};
fetch('https://api.{env}.corti.app/v2/agentic/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));using RestSharp;
var options = new RestClientOptions("https://api.{env}.corti.app/v2/agentic/agents");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Tenant-Name", "<api-key>");
request.AddJsonBody("{\n \"name\": \"coder\",\n \"description\": \"Returns ICD-10 codes for a clinical encounter.\",\n \"systemPrompt\": \"Respond with only the ICD-10 code.\",\n \"model\": \"corti-default\",\n \"visibility\": \"private\",\n \"lifecycle\": \"persistent\",\n \"connectors\": [\n {\n \"type\": \"registry\",\n \"name\": \"@dedalus/coding-expert\"\n },\n {\n \"type\": \"mcp\",\n \"name\": \"policybot\",\n \"url\": \"https://mcp.example.com\",\n \"auth\": {\n \"type\": \"oauth2\",\n \"scope\": \"read:policies\",\n \"redirectUrl\": \"https://app.corti.ai/oauth/callback\"\n }\n },\n {\n \"type\": \"schema\",\n \"name\": \"submit_code\",\n \"description\": \"Submit the final ICD-10 code for the encounter along with a confidence score.\",\n \"transition\": \"complete\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"string\",\n \"description\": \"The selected ICD-10 code.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n }\n },\n \"required\": [\n \"code\"\n ]\n }\n }\n ],\n \"labels\": {\n \"team\": \"coding\",\n \"env\": \"prod\"\n }\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);import requests
url = "https://api.{env}.corti.app/v2/agentic/agents"
payload = {
"name": "coder",
"description": "Returns ICD-10 codes for a clinical encounter.",
"systemPrompt": "Respond with only the ICD-10 code.",
"model": "corti-default",
"visibility": "private",
"lifecycle": "persistent",
"connectors": [
{
"type": "registry",
"name": "@dedalus/coding-expert"
},
{
"type": "mcp",
"name": "policybot",
"url": "https://mcp.example.com",
"auth": {
"type": "oauth2",
"scope": "read:policies",
"redirectUrl": "https://app.corti.ai/oauth/callback"
}
},
{
"type": "schema",
"name": "submit_code",
"description": "Submit the final ICD-10 code for the encounter along with a confidence score.",
"transition": "complete",
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The selected ICD-10 code."
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": ["code"]
}
}
],
"labels": {
"team": "coding",
"env": "prod"
}
}
headers = {
"Authorization": "Bearer <token>",
"Tenant-Name": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.{env}.corti.app/v2/agentic/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'coder',
'description' => 'Returns ICD-10 codes for a clinical encounter.',
'systemPrompt' => 'Respond with only the ICD-10 code.',
'model' => 'corti-default',
'visibility' => 'private',
'lifecycle' => 'persistent',
'connectors' => [
[
'type' => 'registry',
'name' => '@dedalus/coding-expert'
],
[
'type' => 'mcp',
'name' => 'policybot',
'url' => 'https://mcp.example.com',
'auth' => [
'type' => 'oauth2',
'scope' => 'read:policies',
'redirectUrl' => 'https://app.corti.ai/oauth/callback'
]
],
[
'type' => 'schema',
'name' => 'submit_code',
'description' => 'Submit the final ICD-10 code for the encounter along with a confidence score.',
'transition' => 'complete',
'schema' => [
'type' => 'object',
'properties' => [
'code' => [
'type' => 'string',
'description' => 'The selected ICD-10 code.'
],
'confidence' => [
'type' => 'number',
'minimum' => 0,
'maximum' => 1
]
],
'required' => [
'code'
]
]
]
],
'labels' => [
'team' => 'coding',
'env' => 'prod'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Tenant-Name: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.{env}.corti.app/v2/agentic/agents"
payload := strings.NewReader("{\n \"name\": \"coder\",\n \"description\": \"Returns ICD-10 codes for a clinical encounter.\",\n \"systemPrompt\": \"Respond with only the ICD-10 code.\",\n \"model\": \"corti-default\",\n \"visibility\": \"private\",\n \"lifecycle\": \"persistent\",\n \"connectors\": [\n {\n \"type\": \"registry\",\n \"name\": \"@dedalus/coding-expert\"\n },\n {\n \"type\": \"mcp\",\n \"name\": \"policybot\",\n \"url\": \"https://mcp.example.com\",\n \"auth\": {\n \"type\": \"oauth2\",\n \"scope\": \"read:policies\",\n \"redirectUrl\": \"https://app.corti.ai/oauth/callback\"\n }\n },\n {\n \"type\": \"schema\",\n \"name\": \"submit_code\",\n \"description\": \"Submit the final ICD-10 code for the encounter along with a confidence score.\",\n \"transition\": \"complete\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"string\",\n \"description\": \"The selected ICD-10 code.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n }\n },\n \"required\": [\n \"code\"\n ]\n }\n }\n ],\n \"labels\": {\n \"team\": \"coding\",\n \"env\": \"prod\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Tenant-Name", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.{env}.corti.app/v2/agentic/agents")
.header("Authorization", "Bearer <token>")
.header("Tenant-Name", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"coder\",\n \"description\": \"Returns ICD-10 codes for a clinical encounter.\",\n \"systemPrompt\": \"Respond with only the ICD-10 code.\",\n \"model\": \"corti-default\",\n \"visibility\": \"private\",\n \"lifecycle\": \"persistent\",\n \"connectors\": [\n {\n \"type\": \"registry\",\n \"name\": \"@dedalus/coding-expert\"\n },\n {\n \"type\": \"mcp\",\n \"name\": \"policybot\",\n \"url\": \"https://mcp.example.com\",\n \"auth\": {\n \"type\": \"oauth2\",\n \"scope\": \"read:policies\",\n \"redirectUrl\": \"https://app.corti.ai/oauth/callback\"\n }\n },\n {\n \"type\": \"schema\",\n \"name\": \"submit_code\",\n \"description\": \"Submit the final ICD-10 code for the encounter along with a confidence score.\",\n \"transition\": \"complete\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"string\",\n \"description\": \"The selected ICD-10 code.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n }\n },\n \"required\": [\n \"code\"\n ]\n }\n }\n ],\n \"labels\": {\n \"team\": \"coding\",\n \"env\": \"prod\"\n }\n}")
.asString();{
"id": "<string>",
"name": "<string>",
"visibility": "private",
"lifecycle": "ephemeral",
"connectors": [
{
"id": "<string>",
"name": "<string>",
"enabled": true,
"config": {}
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"description": "<string>",
"systemPrompt": "<string>",
"model": "<string>",
"labels": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"howToFix": "<string>",
"details": {
"validationErrors": [
{
"field": "<string>",
"reason": "<string>"
}
]
},
"requestId": "<string>"
}
}Authorizations
OAuth 2.0 / OIDC bearer token.
The tenant the request operates within.
Body
The agent to create.
Request body for creating an agent. The server currently ignores visibility and labels; they are accepted but not persisted.
Human-readable, unique-per-tenant agent name.
1 - 128"coder"
Free-form agent description.
4096"Returns ICD-10 codes for a clinical encounter."
System prompt prepended to every invocation.
"Respond with only the ICD-10 code."
Tenant default if omitted.
"corti-default"
private— creator / service principal only.unlisted— usable by ID, hidden from list results.public— listed tenant-wide.
private, unlisted, public "private"
ephemeral— short-lived; expired automatically.persistent— retained until explicitly deleted.
ephemeral, persistent Connectors to attach at creation. Defaults to an empty array.
Same envelope as Connector but without the server-generated id.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Show child attributes
Show child attributes
Free-form string → string metadata for filtering and organisation. Not used for routing or auth.
Show child attributes
Show child attributes
{ "team": "coding", "env": "prod" }
Response
Agent created.
A configured agent — its metadata, model, and attached connectors.
Agent identifier. Accepts agt.<uuidv7> or a bare UUIDv7 on input; always returned prefixed.
^(agt\.)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"agt.0192f4c8-2c5a-7b3e-9f1a-3c8d6e2b7a40"
Human-readable, unique-per-tenant agent name.
1 - 128private— creator / service principal only.unlisted— usable by ID, hidden from list results.public— listed tenant-wide.
private, unlisted, public "private"
ephemeral— short-lived; expired automatically.persistent— retained until explicitly deleted.
ephemeral, persistent Connectors attached to the agent, discriminated by type.
A connector attached to an agent, discriminated by type.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Show child attributes
Show child attributes
When the agent was created.
When the agent was last updated.
Principal (user or service principal) that created the agent.
^(usr\.)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"usr.0192f4c8-8bc0-7194-8570-92e3ce81d0a6"
Free-form agent description shown to users and in tooling.
4096System prompt prepended to every invocation.
Model identifier. Tenant default if omitted or null.
Open question — in the current implementation a model is configured per expert, not per agent (Expert.modelName), and an Agent has no model field at all. The desired end state is that there is no distinction between an expert and an agent, so model lives uniformly on this resource. Until that convergence lands, the precedence of an agent-level model over a connector/expert-level override is undecided and MUST be resolved before this field ships.
"corti-default"
Free-form string → string metadata for filtering and organisation. Not used for routing or auth.
Show child attributes
Show child attributes
{ "team": "coding", "env": "prod" }
Was this page helpful?