Create Llm Config
curl --request POST \
--url https://api-prod.interactly.ai/workflows/v1/llm-configs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"config": {
"logical_id": "<string>",
"named_llm_config_id": "<string>",
"named_llm_config_name": "<string>",
"provider": "azure_openai",
"streaming": false,
"max_retries": 3,
"max_parse_retries": 3,
"max_tokens": 123,
"temperature": 0.5,
"request_timeout_ms": 123,
"seed": 123,
"model_kwargs": {},
"api_key": "<string>",
"do_not_split_sentences": false,
"truncated_max_recent_messages": 123,
"model": "gpt-5-mini",
"type": "azure_openai_llm",
"endpoint": "<string>",
"api_version": "<string>",
"reasoning_effort": "low"
},
"description": "<string>",
"is_default": false,
"override_default": false
}
'import requests
url = "https://api-prod.interactly.ai/workflows/v1/llm-configs"
payload = {
"name": "<string>",
"config": {
"logical_id": "<string>",
"named_llm_config_id": "<string>",
"named_llm_config_name": "<string>",
"provider": "azure_openai",
"streaming": False,
"max_retries": 3,
"max_parse_retries": 3,
"max_tokens": 123,
"temperature": 0.5,
"request_timeout_ms": 123,
"seed": 123,
"model_kwargs": {},
"api_key": "<string>",
"do_not_split_sentences": False,
"truncated_max_recent_messages": 123,
"model": "gpt-5-mini",
"type": "azure_openai_llm",
"endpoint": "<string>",
"api_version": "<string>",
"reasoning_effort": "low"
},
"description": "<string>",
"is_default": False,
"override_default": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
config: {
logical_id: '<string>',
named_llm_config_id: '<string>',
named_llm_config_name: '<string>',
provider: 'azure_openai',
streaming: false,
max_retries: 3,
max_parse_retries: 3,
max_tokens: 123,
temperature: 0.5,
request_timeout_ms: 123,
seed: 123,
model_kwargs: {},
api_key: '<string>',
do_not_split_sentences: false,
truncated_max_recent_messages: 123,
model: 'gpt-5-mini',
type: 'azure_openai_llm',
endpoint: '<string>',
api_version: '<string>',
reasoning_effort: 'low'
},
description: '<string>',
is_default: false,
override_default: false
})
};
fetch('https://api-prod.interactly.ai/workflows/v1/llm-configs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.interactly.ai/workflows/v1/llm-configs",
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' => '<string>',
'config' => [
'logical_id' => '<string>',
'named_llm_config_id' => '<string>',
'named_llm_config_name' => '<string>',
'provider' => 'azure_openai',
'streaming' => false,
'max_retries' => 3,
'max_parse_retries' => 3,
'max_tokens' => 123,
'temperature' => 0.5,
'request_timeout_ms' => 123,
'seed' => 123,
'model_kwargs' => [
],
'api_key' => '<string>',
'do_not_split_sentences' => false,
'truncated_max_recent_messages' => 123,
'model' => 'gpt-5-mini',
'type' => 'azure_openai_llm',
'endpoint' => '<string>',
'api_version' => '<string>',
'reasoning_effort' => 'low'
],
'description' => '<string>',
'is_default' => false,
'override_default' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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-prod.interactly.ai/workflows/v1/llm-configs"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"config\": {\n \"logical_id\": \"<string>\",\n \"named_llm_config_id\": \"<string>\",\n \"named_llm_config_name\": \"<string>\",\n \"provider\": \"azure_openai\",\n \"streaming\": false,\n \"max_retries\": 3,\n \"max_parse_retries\": 3,\n \"max_tokens\": 123,\n \"temperature\": 0.5,\n \"request_timeout_ms\": 123,\n \"seed\": 123,\n \"model_kwargs\": {},\n \"api_key\": \"<string>\",\n \"do_not_split_sentences\": false,\n \"truncated_max_recent_messages\": 123,\n \"model\": \"gpt-5-mini\",\n \"type\": \"azure_openai_llm\",\n \"endpoint\": \"<string>\",\n \"api_version\": \"<string>\",\n \"reasoning_effort\": \"low\"\n },\n \"description\": \"<string>\",\n \"is_default\": false,\n \"override_default\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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-prod.interactly.ai/workflows/v1/llm-configs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"config\": {\n \"logical_id\": \"<string>\",\n \"named_llm_config_id\": \"<string>\",\n \"named_llm_config_name\": \"<string>\",\n \"provider\": \"azure_openai\",\n \"streaming\": false,\n \"max_retries\": 3,\n \"max_parse_retries\": 3,\n \"max_tokens\": 123,\n \"temperature\": 0.5,\n \"request_timeout_ms\": 123,\n \"seed\": 123,\n \"model_kwargs\": {},\n \"api_key\": \"<string>\",\n \"do_not_split_sentences\": false,\n \"truncated_max_recent_messages\": 123,\n \"model\": \"gpt-5-mini\",\n \"type\": \"azure_openai_llm\",\n \"endpoint\": \"<string>\",\n \"api_version\": \"<string>\",\n \"reasoning_effort\": \"low\"\n },\n \"description\": \"<string>\",\n \"is_default\": false,\n \"override_default\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.interactly.ai/workflows/v1/llm-configs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"config\": {\n \"logical_id\": \"<string>\",\n \"named_llm_config_id\": \"<string>\",\n \"named_llm_config_name\": \"<string>\",\n \"provider\": \"azure_openai\",\n \"streaming\": false,\n \"max_retries\": 3,\n \"max_parse_retries\": 3,\n \"max_tokens\": 123,\n \"temperature\": 0.5,\n \"request_timeout_ms\": 123,\n \"seed\": 123,\n \"model_kwargs\": {},\n \"api_key\": \"<string>\",\n \"do_not_split_sentences\": false,\n \"truncated_max_recent_messages\": 123,\n \"model\": \"gpt-5-mini\",\n \"type\": \"azure_openai_llm\",\n \"endpoint\": \"<string>\",\n \"api_version\": \"<string>\",\n \"reasoning_effort\": \"low\"\n },\n \"description\": \"<string>\",\n \"is_default\": false,\n \"override_default\": false\n}"
response = http.request(request)
puts response.read_body{
"llm_config": {
"name": "<string>",
"config": {
"logical_id": "<string>",
"named_llm_config_id": "<string>",
"named_llm_config_name": "<string>",
"provider": "azure_openai",
"streaming": false,
"max_retries": 3,
"max_parse_retries": 3,
"max_tokens": 123,
"temperature": 0.5,
"request_timeout_ms": 123,
"seed": 123,
"model_kwargs": {},
"api_key": "<string>",
"do_not_split_sentences": false,
"truncated_max_recent_messages": 123,
"model": "gpt-5-mini",
"type": "azure_openai_llm",
"endpoint": "<string>",
"api_version": "<string>",
"reasoning_effort": "low"
},
"team_id": "<string>",
"created_by": "<string>",
"updated_by": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"_id": "5eb7cf5a86d9755df3a6c593",
"llm_config_id": "<string>",
"description": "<string>",
"is_default": false
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}LLM Configs
Create Llm Config
Endpoint to create a new LLM configuration.
POST
/
workflows
/
v1
/
llm-configs
Create Llm Config
curl --request POST \
--url https://api-prod.interactly.ai/workflows/v1/llm-configs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"config": {
"logical_id": "<string>",
"named_llm_config_id": "<string>",
"named_llm_config_name": "<string>",
"provider": "azure_openai",
"streaming": false,
"max_retries": 3,
"max_parse_retries": 3,
"max_tokens": 123,
"temperature": 0.5,
"request_timeout_ms": 123,
"seed": 123,
"model_kwargs": {},
"api_key": "<string>",
"do_not_split_sentences": false,
"truncated_max_recent_messages": 123,
"model": "gpt-5-mini",
"type": "azure_openai_llm",
"endpoint": "<string>",
"api_version": "<string>",
"reasoning_effort": "low"
},
"description": "<string>",
"is_default": false,
"override_default": false
}
'import requests
url = "https://api-prod.interactly.ai/workflows/v1/llm-configs"
payload = {
"name": "<string>",
"config": {
"logical_id": "<string>",
"named_llm_config_id": "<string>",
"named_llm_config_name": "<string>",
"provider": "azure_openai",
"streaming": False,
"max_retries": 3,
"max_parse_retries": 3,
"max_tokens": 123,
"temperature": 0.5,
"request_timeout_ms": 123,
"seed": 123,
"model_kwargs": {},
"api_key": "<string>",
"do_not_split_sentences": False,
"truncated_max_recent_messages": 123,
"model": "gpt-5-mini",
"type": "azure_openai_llm",
"endpoint": "<string>",
"api_version": "<string>",
"reasoning_effort": "low"
},
"description": "<string>",
"is_default": False,
"override_default": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
config: {
logical_id: '<string>',
named_llm_config_id: '<string>',
named_llm_config_name: '<string>',
provider: 'azure_openai',
streaming: false,
max_retries: 3,
max_parse_retries: 3,
max_tokens: 123,
temperature: 0.5,
request_timeout_ms: 123,
seed: 123,
model_kwargs: {},
api_key: '<string>',
do_not_split_sentences: false,
truncated_max_recent_messages: 123,
model: 'gpt-5-mini',
type: 'azure_openai_llm',
endpoint: '<string>',
api_version: '<string>',
reasoning_effort: 'low'
},
description: '<string>',
is_default: false,
override_default: false
})
};
fetch('https://api-prod.interactly.ai/workflows/v1/llm-configs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.interactly.ai/workflows/v1/llm-configs",
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' => '<string>',
'config' => [
'logical_id' => '<string>',
'named_llm_config_id' => '<string>',
'named_llm_config_name' => '<string>',
'provider' => 'azure_openai',
'streaming' => false,
'max_retries' => 3,
'max_parse_retries' => 3,
'max_tokens' => 123,
'temperature' => 0.5,
'request_timeout_ms' => 123,
'seed' => 123,
'model_kwargs' => [
],
'api_key' => '<string>',
'do_not_split_sentences' => false,
'truncated_max_recent_messages' => 123,
'model' => 'gpt-5-mini',
'type' => 'azure_openai_llm',
'endpoint' => '<string>',
'api_version' => '<string>',
'reasoning_effort' => 'low'
],
'description' => '<string>',
'is_default' => false,
'override_default' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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-prod.interactly.ai/workflows/v1/llm-configs"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"config\": {\n \"logical_id\": \"<string>\",\n \"named_llm_config_id\": \"<string>\",\n \"named_llm_config_name\": \"<string>\",\n \"provider\": \"azure_openai\",\n \"streaming\": false,\n \"max_retries\": 3,\n \"max_parse_retries\": 3,\n \"max_tokens\": 123,\n \"temperature\": 0.5,\n \"request_timeout_ms\": 123,\n \"seed\": 123,\n \"model_kwargs\": {},\n \"api_key\": \"<string>\",\n \"do_not_split_sentences\": false,\n \"truncated_max_recent_messages\": 123,\n \"model\": \"gpt-5-mini\",\n \"type\": \"azure_openai_llm\",\n \"endpoint\": \"<string>\",\n \"api_version\": \"<string>\",\n \"reasoning_effort\": \"low\"\n },\n \"description\": \"<string>\",\n \"is_default\": false,\n \"override_default\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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-prod.interactly.ai/workflows/v1/llm-configs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"config\": {\n \"logical_id\": \"<string>\",\n \"named_llm_config_id\": \"<string>\",\n \"named_llm_config_name\": \"<string>\",\n \"provider\": \"azure_openai\",\n \"streaming\": false,\n \"max_retries\": 3,\n \"max_parse_retries\": 3,\n \"max_tokens\": 123,\n \"temperature\": 0.5,\n \"request_timeout_ms\": 123,\n \"seed\": 123,\n \"model_kwargs\": {},\n \"api_key\": \"<string>\",\n \"do_not_split_sentences\": false,\n \"truncated_max_recent_messages\": 123,\n \"model\": \"gpt-5-mini\",\n \"type\": \"azure_openai_llm\",\n \"endpoint\": \"<string>\",\n \"api_version\": \"<string>\",\n \"reasoning_effort\": \"low\"\n },\n \"description\": \"<string>\",\n \"is_default\": false,\n \"override_default\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.interactly.ai/workflows/v1/llm-configs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"config\": {\n \"logical_id\": \"<string>\",\n \"named_llm_config_id\": \"<string>\",\n \"named_llm_config_name\": \"<string>\",\n \"provider\": \"azure_openai\",\n \"streaming\": false,\n \"max_retries\": 3,\n \"max_parse_retries\": 3,\n \"max_tokens\": 123,\n \"temperature\": 0.5,\n \"request_timeout_ms\": 123,\n \"seed\": 123,\n \"model_kwargs\": {},\n \"api_key\": \"<string>\",\n \"do_not_split_sentences\": false,\n \"truncated_max_recent_messages\": 123,\n \"model\": \"gpt-5-mini\",\n \"type\": \"azure_openai_llm\",\n \"endpoint\": \"<string>\",\n \"api_version\": \"<string>\",\n \"reasoning_effort\": \"low\"\n },\n \"description\": \"<string>\",\n \"is_default\": false,\n \"override_default\": false\n}"
response = http.request(request)
puts response.read_body{
"llm_config": {
"name": "<string>",
"config": {
"logical_id": "<string>",
"named_llm_config_id": "<string>",
"named_llm_config_name": "<string>",
"provider": "azure_openai",
"streaming": false,
"max_retries": 3,
"max_parse_retries": 3,
"max_tokens": 123,
"temperature": 0.5,
"request_timeout_ms": 123,
"seed": 123,
"model_kwargs": {},
"api_key": "<string>",
"do_not_split_sentences": false,
"truncated_max_recent_messages": 123,
"model": "gpt-5-mini",
"type": "azure_openai_llm",
"endpoint": "<string>",
"api_version": "<string>",
"reasoning_effort": "low"
},
"team_id": "<string>",
"created_by": "<string>",
"updated_by": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"_id": "5eb7cf5a86d9755df3a6c593",
"llm_config_id": "<string>",
"description": "<string>",
"is_default": false
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Retrieve your API Key from Dashboard API Keys Section.
Body
application/json
Response
Successful Response
Stores a named, reusable LLM configuration that lives independently of workflows and nodes.
A workflow or node attaches it via attachable_llm_config_id (which holds this model's
llm_config_id) and the concrete config is resolved into the workflow at hydration time.
Show child attributes
Show child attributes
⌘I