Skip to main content
POST
/
api
/
v1
/
agents
/
{agentId}
Create agent version
curl --request POST \
  --url https://prod.featherhq.com/api/v1/agents/{agentId} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "mode": "FLOW",
  "overrideSTTConfig": {
    "keywords": [
      {
        "keyword": "<string>",
        "intensifier": "INTENSIFY"
      }
    ]
  },
  "overrideTTSConfig": {
    "pronunciations": []
  },
  "overrideLLMConfig": {},
  "firstMessage": "<string>",
  "prompt": {
    "system": "<string>",
    "systemUIFormatting": null,
    "variables": [
      {
        "name": "<string>",
        "required": true,
        "defaultValue": "<string>"
      }
    ],
    "tools": [
      "<string>"
    ],
    "preBuiltTools": [
      "<string>"
    ]
  },
  "promptPersonalityId": "<string>",
  "llmConfigId": "<string>",
  "languageId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "useKnowledgeBase": true,
  "knowledgeBaseCollectionIds": [
    "<string>"
  ],
  "sttConfigId": "<string>",
  "ttsConfigId": "<string>",
  "voiceId": "<string>",
  "voicemailMessage": "<string>",
  "voicemailDetectionMode": "ASYNC",
  "speakFirst": false,
  "enableBackgroundAudio": true,
  "backgroundAudio": 50,
  "voiceVolume": 100,
  "voiceSpeed": 1,
  "postCallPrompt": "<string>",
  "postCallVariables": [
    {
      "variableName": "<string>",
      "type": "STRING",
      "description": "<string>",
      "required": false
    }
  ],
  "agentDelayBeforeFirstMessage": 1250,
  "initialSilenceTimeout": 30000,
  "finalSilenceTimeout": 10000,
  "transferImmediatelyOnInbound": false,
  "maxCallDuration": 900,
  "minInterruptionWords": 1,
  "minInterruptionDuration": 1,
  "minEndpointingDelay": 0.5,
  "maxEndpointingDelay": 3,
  "sms": {
    "inactivityTimeoutHours": 2,
    "smsMaxTokens": 500,
    "smsTemperature": 0.7
  },
  "emailDomainId": "<string>",
  "emailFromLocalPart": "<string>",
  "emailFromName": "<string>",
  "emailMaxTokens": 5050,
  "emailTemperature": 1,
  "emailInactivityTimeoutHours": 2
}
'
{
  "version": {
    "id": "<string>",
    "version": 123,
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "mode": "FLOW",
    "promptPersonalityId": "<string>",
    "sttConfigId": "<string>",
    "ttsConfigId": "<string>",
    "llmConfigId": "<string>",
    "overrideSTTConfig": {
      "keywords": [
        {
          "keyword": "<string>",
          "intensifier": "INTENSIFY"
        }
      ]
    },
    "overrideTTSConfig": {
      "pronunciations": []
    },
    "overrideLLMConfig": {},
    "voiceId": "<string>",
    "postCallPrompt": "<string>",
    "postCallVariables": [
      {
        "variableName": "<string>",
        "type": "STRING",
        "description": "<string>",
        "required": false
      }
    ],
    "knowledgeBaseCollectionIds": [
      "<string>"
    ],
    "voicemailMessage": "<string>",
    "firstMessage": "<string>",
    "forwardingPhoneNumber": "<string>",
    "inactivityTimeoutHours": 2,
    "smsMaxTokens": 1050,
    "smsTemperature": 1,
    "prompt": {
      "system": "<string>",
      "systemUIFormatting": null,
      "variables": [
        {
          "name": "<string>",
          "required": true,
          "defaultValue": "<string>"
        }
      ],
      "tools": [
        "<string>"
      ],
      "preBuiltTools": [
        "<string>"
      ]
    },
    "voicemailDetectionMode": "ASYNC",
    "speakFirst": false,
    "useKnowledgeBase": true,
    "enableBackgroundAudio": false,
    "backgroundAudio": 50,
    "voiceVolume": 100,
    "voiceSpeed": 1,
    "agentDelayBeforeFirstMessage": 500,
    "initialSilenceTimeout": 30000,
    "finalSilenceTimeout": 10000,
    "maxCallDuration": 900,
    "minInterruptionWords": 1,
    "minInterruptionDuration": 1,
    "minEndpointingDelay": 0.5,
    "maxEndpointingDelay": 3,
    "language": {
      "languageId": "<string>",
      "languageCode": "EN",
      "languageDisplayName": "<string>"
    },
    "transferImmediatelyOnInbound": false,
    "emailDomainId": "<string>",
    "emailFromLocalPart": "<string>",
    "emailFromName": "<string>",
    "emailMaxTokens": 5050,
    "emailTemperature": 1,
    "emailInactivityTimeoutHours": 2
  }
}

Authorizations

X-API-Key
string
header
required

Path Parameters

agentId
string
required

Body

application/json
mode
enum<string>
required
Available options:
FLOW,
PROMPT
overrideSTTConfig
object
required
overrideTTSConfig
object
required
overrideLLMConfig
object
required
firstMessage
string | null
required
prompt
object
promptPersonalityId
string | null
llmConfigId
string | null
languageId
string<uuid> | null
useKnowledgeBase
boolean
knowledgeBaseCollectionIds
string[]
sttConfigId
string | null
ttsConfigId
string | null
voiceId
string | null
voicemailMessage
string | null
voicemailDetectionMode
enum<string>
default:ASYNC
Available options:
ASYNC,
SYNC
speakFirst
boolean
default:false
enableBackgroundAudio
boolean
backgroundAudio
number
Required range: 0 <= x <= 100
voiceVolume
integer
default:100
Required range: 10 <= x <= 120
voiceSpeed
number
Required range: 0.8 <= x <= 1.2
postCallPrompt
string | null
postCallVariables
object[] | null
agentDelayBeforeFirstMessage
integer
Required range: 0 <= x <= 2500
initialSilenceTimeout
integer
default:30000
Required range: 0 <= x <= 60000
finalSilenceTimeout
integer
default:10000
Required range: 0 <= x <= 60000
transferImmediatelyOnInbound
boolean
default:false
maxCallDuration
integer
default:900
Required range: 300 <= x <= 1200
minInterruptionWords
integer
default:1
Required range: x >= 0
minInterruptionDuration
number
default:1
Required range: x >= 0
minEndpointingDelay
number
default:0.5
Required range: x >= 0
maxEndpointingDelay
number
default:3
Required range: x >= 0
sms
object
emailDomainId
string | null
emailFromLocalPart
string | null
emailFromName
string | null
emailMaxTokens
integer | null
Required range: 100 <= x <= 10000
emailTemperature
number | null
Required range: 0 <= x <= 2
emailInactivityTimeoutHours
integer | null
Required range: x >= 1

Response

New agent version created successfully

version
object
required