> For the complete documentation index, see [llms.txt](https://raia2.gitbook.io/raia/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://raia2.gitbook.io/raia/api-reference/models.md).

# Models

## The ForbiddenErrorDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ForbiddenErrorDTO":{"type":"object","properties":{"status":{"type":"number","default":403},"name":{"type":"object","default":"FORBIDDEN_ERROR"},"message":{"type":"string","default":"INVALID_CREDENTIALS"},"details":{"type":"array","items":{"type":"object"}}},"required":["status","name","message","details"]}}}}
```

## The InternalServerErrorDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"InternalServerErrorDTO":{"type":"object","properties":{"status":{"type":"number","default":500},"message":{"type":"string","default":"Internal Server Error"}},"required":["status","message"]}}}}
```

## The CreateUserWithPhoneNumberBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateUserWithPhoneNumberBodyDTO":{"type":"object","properties":{"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkUserId":{"type":"string","description":"User fkUserId"},"customData":{"type":"object","description":"Conversation user custom data"},"skipPhoneNumberValidation":{"type":"boolean","description":"Skip phone number validation"},"skipEmailValidation":{"type":"boolean","description":"Skip email validation"},"phoneNumber":{"type":"string","description":"User phone number"},"email":{"type":"string","description":"User email"},"fkId":{"type":"string","description":"User fkId"}},"required":["firstName","lastName","phoneNumber"]}}}}
```

## The CreateUserWithEmailBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateUserWithEmailBodyDTO":{"type":"object","properties":{"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkUserId":{"type":"string","description":"User fkUserId"},"customData":{"type":"object","description":"Conversation user custom data"},"skipPhoneNumberValidation":{"type":"boolean","description":"Skip phone number validation"},"skipEmailValidation":{"type":"boolean","description":"Skip email validation"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"fkId":{"type":"string","description":"User fkId"}},"required":["firstName","lastName","email"]}}}}
```

## The CreateUserWithFkIdBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateUserWithFkIdBodyDTO":{"type":"object","properties":{"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkUserId":{"type":"string","description":"User fkUserId"},"customData":{"type":"object","description":"Conversation user custom data"},"skipPhoneNumberValidation":{"type":"boolean","description":"Skip phone number validation"},"skipEmailValidation":{"type":"boolean","description":"Skip email validation"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"fkId":{"type":"string","description":"User fkId"}},"required":["firstName","lastName","fkId"]}}}}
```

## The ExternalApiUserResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]}}}}
```

## The BadRequestErrorDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"BadRequestErrorDTO":{"type":"object","properties":{"status":{"type":"number","default":500},"name":{"type":"object","default":"BAD_REQUEST"},"message":{"type":"string","default":"INVALID_REQUEST"},"details":{"type":"array","items":{"type":"object"}}},"required":["status","name","message","details"]}}}}
```

## The SearchConversationUserByContactsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SearchConversationUserByContactsResponseDTO":{"type":"object","properties":{"user":{"description":"User info","allOf":[{"$ref":"#/components/schemas/ExternalApiUserResponseDTO"}]},"conversationIds":{"description":"Conversation ids","type":"array","items":{"type":"string"}}},"required":["user","conversationIds"]},"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]}}}}
```

## The EntityNotFoundErrorDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"EntityNotFoundErrorDTO":{"type":"object","properties":{"status":{"type":"number","default":404},"name":{"type":"object","default":"ENTITY_NOT_FOUND_ERROR"},"message":{"type":"string","default":"ENTITY_NOT_FOUND"},"details":{"type":"array","items":{"type":"object"}}},"required":["status","name","message","details"]}}}}
```

## The ConversationUserLimitsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ConversationUserLimitsResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation user limits ID"},"conversationUserId":{"type":"string","description":"Conversation user ID"},"isOrganizationDefault":{"type":"boolean","description":"Is organization default"},"tokensAmountPerMonth":{"type":"number","description":"Tokens amount per month"},"smsAmountPerMonth":{"type":"number","description":"SMS amount per month"},"emailsAmountPerMonth":{"type":"number","description":"Emails amount per month"},"secondsAmountPerMonth":{"type":"number","description":"Seconds amount per month"}},"required":["id","conversationUserId","isOrganizationDefault","tokensAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","secondsAmountPerMonth"]}}}}
```

## The CreateConversationUserLimitsBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateConversationUserLimitsBodyDTO":{"type":"object","properties":{"tokensAmountPerMonth":{"type":"number","description":"Tokens amount per month"},"smsAmountPerMonth":{"type":"number","description":"SMS amount per month"},"emailsAmountPerMonth":{"type":"number","description":"Emails amount per month"},"secondsAmountPerMonth":{"type":"number","description":"Seconds amount per month"}},"required":["tokensAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","secondsAmountPerMonth"]}}}}
```

## The UpdateConversationUserLimitsBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateConversationUserLimitsBodyDTO":{"type":"object","properties":{"tokensAmountPerMonth":{"type":"number","description":"Tokens amount per month"},"smsAmountPerMonth":{"type":"number","description":"SMS amount per month"},"emailsAmountPerMonth":{"type":"number","description":"Emails amount per month"},"secondsAmountPerMonth":{"type":"number","description":"Seconds amount per month"}},"required":["tokensAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","secondsAmountPerMonth"]}}}}
```

## The StartEmailConversationBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"StartEmailConversationBodyDTO":{"type":"object","properties":{"firstName":{"type":"string","description":"Conversation user first name"},"lastName":{"type":"string","description":"Conversation user last name"},"context":{"type":"string","description":"Conversation user context"},"conversationContext":{"type":"string","description":"Conversation context"},"source":{"type":"string","description":"Conversation user source"},"fkId":{"type":"string","description":"Conversation user fkId"},"fkUserId":{"type":"string","description":"Conversation user fkUserId"},"customData":{"type":"object","description":"Conversation custom data"},"conversationStateId":{"type":"string","description":"Conversation state ID"},"authorId":{"type":"string","description":"Author platform ID"},"skipPhoneNumberValidation":{"type":"boolean","description":"Skip phone number validation"},"skipEmailValidation":{"type":"boolean","description":"Skip email validation"},"channel":{"type":"string","description":"Conversation user preferred channel","enum":["email"]},"email":{"type":"string","description":"Conversation user email"},"emailSubject":{"type":"string","description":"Conversation user email subject"},"emailIntroduction":{"type":"string","description":"Conversation user email introduction"},"includeSignatureInEmail":{"type":"boolean","description":"Include email signature in the email"},"phoneNumber":{"type":"string","description":"User phone number"},"resetConversation":{"type":"boolean","description":"Archive current conversation and launch a new one","default":false}},"required":["firstName","lastName","channel","email","emailSubject","emailIntroduction"]}}}}
```

## The StartSmsConversationBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"StartSmsConversationBodyDTO":{"type":"object","properties":{"firstName":{"type":"string","description":"Conversation user first name"},"lastName":{"type":"string","description":"Conversation user last name"},"context":{"type":"string","description":"Conversation user context"},"conversationContext":{"type":"string","description":"Conversation context"},"source":{"type":"string","description":"Conversation user source"},"fkId":{"type":"string","description":"Conversation user fkId"},"fkUserId":{"type":"string","description":"Conversation user fkUserId"},"customData":{"type":"object","description":"Conversation custom data"},"conversationStateId":{"type":"string","description":"Conversation state ID"},"authorId":{"type":"string","description":"Author platform ID"},"skipPhoneNumberValidation":{"type":"boolean","description":"Skip phone number validation"},"skipEmailValidation":{"type":"boolean","description":"Skip email validation"},"channel":{"type":"string","description":"Conversation user preferred channel","enum":["sms"]},"phoneNumber":{"type":"string","description":"Conversation user phone number"},"smsIntroduction":{"type":"string","description":"Conversation user sms introduction"},"email":{"type":"string","description":"User email"},"resetConversation":{"type":"boolean","description":"Archive current conversation and launch a new one","default":false},"includeSignatureInSms":{"type":"boolean","description":"Include signature in SMS","default":false}},"required":["firstName","lastName","channel","phoneNumber","smsIntroduction"]}}}}
```

## The StartVoiceConversationBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"StartVoiceConversationBodyDTO":{"type":"object","properties":{"firstName":{"type":"string","description":"Conversation user first name"},"lastName":{"type":"string","description":"Conversation user last name"},"context":{"type":"string","description":"Conversation user context"},"conversationContext":{"type":"string","description":"Conversation context"},"source":{"type":"string","description":"Conversation user source"},"fkId":{"type":"string","description":"Conversation user fkId"},"fkUserId":{"type":"string","description":"Conversation user fkUserId"},"customData":{"type":"object","description":"Conversation custom data"},"conversationStateId":{"type":"string","description":"Conversation state ID"},"authorId":{"type":"string","description":"Author platform ID"},"skipPhoneNumberValidation":{"type":"boolean","description":"Skip phone number validation"},"skipEmailValidation":{"type":"boolean","description":"Skip email validation"},"channel":{"type":"string","description":"Conversation user preferred channel","enum":["voice"]},"phoneNumber":{"type":"string","description":"Conversation user phone number"},"firstMessage":{"type":"string","description":"Assistant first message"},"email":{"type":"string","description":"User email"}},"required":["firstName","lastName","channel","phoneNumber","firstMessage"]}}}}
```

## The AssignedUserResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AssignedUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Assigned user ID"},"firstName":{"type":"string","description":"Assigned user first name"},"lastName":{"type":"string","description":"Assigned user last name"},"avatarUrl":{"type":"string","description":"Assigned user avatar URL","nullable":true},"email":{"type":"string","description":"Assigned user email"},"phoneNumber":{"type":"string","description":"Assigned user phone number","nullable":true}},"required":["id","firstName","lastName","email"]}}}}
```

## The FeedbackResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"FeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true},"createdAt":{"type":"string","description":"Feedback created at"},"updatedAt":{"type":"string","description":"Feedback updated at"}},"required":["id","voteType","question","answer","comment","createdAt","updatedAt"]}}}}
```

## The ConversationWithFeedbacksResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ConversationWithFeedbacksResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"New conversation ID"},"conversationUserId":{"type":"string","description":"Conversation user ID"},"title":{"type":"string","description":"Conversation title"},"score":{"type":"number","description":"Conversation score"},"summary":{"type":"string","description":"Conversation summary"},"analysisStatus":{"type":"string","enum":["not_started","processing","skipped_skill_disabled","completed","failed"],"description":"Conversation analysis status"},"analyzedAt":{"type":"string","description":"Date the conversation analysis completed","format":"date-time","nullable":true},"aiConversationId":{"type":"string","description":"AI conversation ID","nullable":true},"metadata":{"type":"object","description":"Conversation metadata"},"aiCallId":{"type":"string","description":"AI call ID"},"mode":{"type":"string","description":"Conversation mode","enum":["manual","ai"]},"conversationStateId":{"type":"string","description":"Conversation state ID"},"user":{"description":"Conversation user","allOf":[{"$ref":"#/components/schemas/ExternalApiUserResponseDTO"}]},"createdAt":{"type":"string","description":"Date the conversation was created","format":"date-time"},"updatedAt":{"type":"string","description":"Date the conversation was updated","format":"date-time"},"assignedUser":{"description":"User the conversation is assigned to","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AssignedUserResponseDTO"}]},"isAnonymized":{"type":"boolean","description":"Is anonymized"},"feedbacks":{"description":"Conversation feedbacks","type":"array","items":{"$ref":"#/components/schemas/FeedbackResponseDTO"}}},"required":["id","conversationUserId","analysisStatus","analyzedAt","aiConversationId","user","createdAt","updatedAt","isAnonymized"]},"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]},"AssignedUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Assigned user ID"},"firstName":{"type":"string","description":"Assigned user first name"},"lastName":{"type":"string","description":"Assigned user last name"},"avatarUrl":{"type":"string","description":"Assigned user avatar URL","nullable":true},"email":{"type":"string","description":"Assigned user email"},"phoneNumber":{"type":"string","description":"Assigned user phone number","nullable":true}},"required":["id","firstName","lastName","email"]},"FeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true},"createdAt":{"type":"string","description":"Feedback created at"},"updatedAt":{"type":"string","description":"Feedback updated at"}},"required":["id","voteType","question","answer","comment","createdAt","updatedAt"]}}}}
```

## The GetConversationWithFeedbacksResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetConversationWithFeedbacksResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"List of conversations","type":"array","items":{"$ref":"#/components/schemas/ConversationWithFeedbacksResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ConversationWithFeedbacksResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"New conversation ID"},"conversationUserId":{"type":"string","description":"Conversation user ID"},"title":{"type":"string","description":"Conversation title"},"score":{"type":"number","description":"Conversation score"},"summary":{"type":"string","description":"Conversation summary"},"analysisStatus":{"type":"string","enum":["not_started","processing","skipped_skill_disabled","completed","failed"],"description":"Conversation analysis status"},"analyzedAt":{"type":"string","description":"Date the conversation analysis completed","format":"date-time","nullable":true},"aiConversationId":{"type":"string","description":"AI conversation ID","nullable":true},"metadata":{"type":"object","description":"Conversation metadata"},"aiCallId":{"type":"string","description":"AI call ID"},"mode":{"type":"string","description":"Conversation mode","enum":["manual","ai"]},"conversationStateId":{"type":"string","description":"Conversation state ID"},"user":{"description":"Conversation user","allOf":[{"$ref":"#/components/schemas/ExternalApiUserResponseDTO"}]},"createdAt":{"type":"string","description":"Date the conversation was created","format":"date-time"},"updatedAt":{"type":"string","description":"Date the conversation was updated","format":"date-time"},"assignedUser":{"description":"User the conversation is assigned to","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AssignedUserResponseDTO"}]},"isAnonymized":{"type":"boolean","description":"Is anonymized"},"feedbacks":{"description":"Conversation feedbacks","type":"array","items":{"$ref":"#/components/schemas/FeedbackResponseDTO"}}},"required":["id","conversationUserId","analysisStatus","analyzedAt","aiConversationId","user","createdAt","updatedAt","isAnonymized"]},"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]},"AssignedUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Assigned user ID"},"firstName":{"type":"string","description":"Assigned user first name"},"lastName":{"type":"string","description":"Assigned user last name"},"avatarUrl":{"type":"string","description":"Assigned user avatar URL","nullable":true},"email":{"type":"string","description":"Assigned user email"},"phoneNumber":{"type":"string","description":"Assigned user phone number","nullable":true}},"required":["id","firstName","lastName","email"]},"FeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true},"createdAt":{"type":"string","description":"Feedback created at"},"updatedAt":{"type":"string","description":"Feedback updated at"}},"required":["id","voteType","question","answer","comment","createdAt","updatedAt"]}}}}
```

## The ExternalApiGetConversationStateResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiGetConversationStateResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation state ID","format":"uuid"},"name":{"type":"string","description":"Conversation state name"},"description":{"type":"string","description":"Conversation state description","nullable":true},"color":{"type":"string","description":"Conversation state color hex","nullable":true},"isPersistent":{"type":"boolean","description":"True if conversation state is persistent"},"createdAt":{"type":"string","description":"Conversation state created at"},"updatedAt":{"type":"string","description":"Conversation state created at"}},"required":["id","name","description","color","isPersistent","createdAt","updatedAt"]}}}}
```

## The StartConversationResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"StartConversationResponseDTO":{"type":"object","properties":{"conversationId":{"type":"string","description":"New conversation ID"}},"required":["conversationId"]}}}}
```

## The BaseFeedbackResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"BaseFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true}},"required":["id","voteType","question","answer","comment"]}}}}
```

## The UrlCitationDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]}}}}
```

## The FileCitationDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]}}}}
```

## The FullAIResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"FullAIResponseDTO":{"type":"object","properties":{"reasoning":{"description":"Reasoning summaries","nullable":true,"type":"array","items":{"type":"string"}},"outputText":{"type":"string","description":"Output text","nullable":true},"urlCitations":{"description":"URL citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UrlCitationDTO"}},"fileCitations":{"description":"File citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FileCitationDTO"}}}},"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]},"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]}}}}
```

## The ConversationMessageFileResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ConversationMessageFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID"},"fileName":{"type":"string","description":"File name"},"openAIFileId":{"type":"string","description":"OpenAI file ID"},"size":{"type":"number","description":"File size","nullable":true},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"createdAt":{"format":"date-time","type":"string","description":"Created at"}},"required":["id","fileName","openAIFileId","updatedAt","createdAt"]}}}}
```

## The ConversationMessageResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ConversationMessageResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation message ID"},"message":{"type":"string","description":"Conversation message content"},"rawMessage":{"type":"string","description":"Raw message content"},"conversationId":{"type":"string","description":"Conversation ID"},"senderRole":{"type":"string","enum":["conversation_user","assistant","manual_assistant"],"description":"Sender role in the conversation"},"conversationMessageId":{"type":"string","description":"Question message ID"},"source":{"type":"string","enum":["email","sms","live_chat","copilot","api","voice","slack","ms_teams"],"description":"Conversation source"},"createdAt":{"format":"date-time","type":"string","description":"Message create date"},"conversationMessageFeedbacks":{"description":"List of conversation message feedbacks","type":"array","items":{"$ref":"#/components/schemas/BaseFeedbackResponseDTO"}},"fullAIResponse":{"description":"Full AI response","allOf":[{"$ref":"#/components/schemas/FullAIResponseDTO"}]},"subagentId":{"type":"string","nullable":true,"description":"Subagent selected by automatic orchestration for this assistant message."},"expandedMessage":{"type":"string","nullable":true,"description":"Expanded version of the message produced by Enhanced Prompting, if the skill is attached to the agent. Null when the skill is not attached or expansion was skipped."},"files":{"description":"Conversation message files","type":"array","items":{"$ref":"#/components/schemas/ConversationMessageFileResponseDTO"}},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","message","conversationId","senderRole","conversationMessageId","source","createdAt","isAnonymized"]},"BaseFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true}},"required":["id","voteType","question","answer","comment"]},"FullAIResponseDTO":{"type":"object","properties":{"reasoning":{"description":"Reasoning summaries","nullable":true,"type":"array","items":{"type":"string"}},"outputText":{"type":"string","description":"Output text","nullable":true},"urlCitations":{"description":"URL citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UrlCitationDTO"}},"fileCitations":{"description":"File citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FileCitationDTO"}}}},"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]},"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]},"ConversationMessageFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID"},"fileName":{"type":"string","description":"File name"},"openAIFileId":{"type":"string","description":"OpenAI file ID"},"size":{"type":"number","description":"File size","nullable":true},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"createdAt":{"format":"date-time","type":"string","description":"Created at"}},"required":["id","fileName","openAIFileId","updatedAt","createdAt"]}}}}
```

## The GetConversationMessagesResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetConversationMessagesResponseDTO":{"type":"object","properties":{"messages":{"description":"List of conversation messages","type":"array","items":{"$ref":"#/components/schemas/ConversationMessageResponseDTO"}}},"required":["messages"]},"ConversationMessageResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation message ID"},"message":{"type":"string","description":"Conversation message content"},"rawMessage":{"type":"string","description":"Raw message content"},"conversationId":{"type":"string","description":"Conversation ID"},"senderRole":{"type":"string","enum":["conversation_user","assistant","manual_assistant"],"description":"Sender role in the conversation"},"conversationMessageId":{"type":"string","description":"Question message ID"},"source":{"type":"string","enum":["email","sms","live_chat","copilot","api","voice","slack","ms_teams"],"description":"Conversation source"},"createdAt":{"format":"date-time","type":"string","description":"Message create date"},"conversationMessageFeedbacks":{"description":"List of conversation message feedbacks","type":"array","items":{"$ref":"#/components/schemas/BaseFeedbackResponseDTO"}},"fullAIResponse":{"description":"Full AI response","allOf":[{"$ref":"#/components/schemas/FullAIResponseDTO"}]},"subagentId":{"type":"string","nullable":true,"description":"Subagent selected by automatic orchestration for this assistant message."},"expandedMessage":{"type":"string","nullable":true,"description":"Expanded version of the message produced by Enhanced Prompting, if the skill is attached to the agent. Null when the skill is not attached or expansion was skipped."},"files":{"description":"Conversation message files","type":"array","items":{"$ref":"#/components/schemas/ConversationMessageFileResponseDTO"}},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","message","conversationId","senderRole","conversationMessageId","source","createdAt","isAnonymized"]},"BaseFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true}},"required":["id","voteType","question","answer","comment"]},"FullAIResponseDTO":{"type":"object","properties":{"reasoning":{"description":"Reasoning summaries","nullable":true,"type":"array","items":{"type":"string"}},"outputText":{"type":"string","description":"Output text","nullable":true},"urlCitations":{"description":"URL citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UrlCitationDTO"}},"fileCitations":{"description":"File citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FileCitationDTO"}}}},"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]},"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]},"ConversationMessageFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID"},"fileName":{"type":"string","description":"File name"},"openAIFileId":{"type":"string","description":"OpenAI file ID"},"size":{"type":"number","description":"File size","nullable":true},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"createdAt":{"format":"date-time","type":"string","description":"Created at"}},"required":["id","fileName","openAIFileId","updatedAt","createdAt"]}}}}
```

## The MessageFileBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MessageFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The SendMessageBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SendMessageBodyDTO":{"type":"object","properties":{"message":{"type":"string","description":"The message that the user sends to the AI agent"},"context":{"type":"string","description":"Context of the message"},"files":{"description":"Files attached to the message","type":"array","items":{"$ref":"#/components/schemas/MessageFileBodyDTO"}}},"required":["message"]},"MessageFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The SendMessageResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SendMessageResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation message ID"},"message":{"type":"string","description":"Conversation message content"},"rawMessage":{"type":"string","description":"Raw message content"},"conversationId":{"type":"string","description":"Conversation ID"},"senderRole":{"type":"string","enum":["conversation_user","assistant","manual_assistant"],"description":"Sender role in the conversation"},"conversationMessageId":{"type":"string","description":"Question message ID"},"source":{"type":"string","enum":["email","sms","live_chat","copilot","api","voice","slack","ms_teams"],"description":"Conversation source"},"createdAt":{"format":"date-time","type":"string","description":"Message create date"},"conversationMessageFeedbacks":{"description":"List of conversation message feedbacks","type":"array","items":{"$ref":"#/components/schemas/BaseFeedbackResponseDTO"}},"fullAIResponse":{"description":"Full AI response","allOf":[{"$ref":"#/components/schemas/FullAIResponseDTO"}]},"subagentId":{"type":"string","nullable":true,"description":"Subagent selected by automatic orchestration for this assistant message."},"expandedMessage":{"type":"string","nullable":true,"description":"Expanded version of the message produced by Enhanced Prompting, if the skill is attached to the agent. Null when the skill is not attached or expansion was skipped."},"files":{"description":"Conversation message files","type":"array","items":{"$ref":"#/components/schemas/ConversationMessageFileResponseDTO"}},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","message","conversationId","senderRole","conversationMessageId","source","createdAt","isAnonymized"]},"BaseFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true}},"required":["id","voteType","question","answer","comment"]},"FullAIResponseDTO":{"type":"object","properties":{"reasoning":{"description":"Reasoning summaries","nullable":true,"type":"array","items":{"type":"string"}},"outputText":{"type":"string","description":"Output text","nullable":true},"urlCitations":{"description":"URL citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UrlCitationDTO"}},"fileCitations":{"description":"File citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FileCitationDTO"}}}},"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]},"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]},"ConversationMessageFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID"},"fileName":{"type":"string","description":"File name"},"openAIFileId":{"type":"string","description":"OpenAI file ID"},"size":{"type":"number","description":"File size","nullable":true},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"createdAt":{"format":"date-time","type":"string","description":"Created at"}},"required":["id","fileName","openAIFileId","updatedAt","createdAt"]}}}}
```

## The GetResponseOnResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetResponseOnResponseDTO":{"type":"object","properties":{"status":{"type":"string","enum":["pending","completed","failed"],"description":"Response status"},"message":{"description":"Response message","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ConversationMessageResponseDTO"}]},"error":{"type":"string","description":"Response error","nullable":true}},"required":["status","message","error"]},"ConversationMessageResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation message ID"},"message":{"type":"string","description":"Conversation message content"},"rawMessage":{"type":"string","description":"Raw message content"},"conversationId":{"type":"string","description":"Conversation ID"},"senderRole":{"type":"string","enum":["conversation_user","assistant","manual_assistant"],"description":"Sender role in the conversation"},"conversationMessageId":{"type":"string","description":"Question message ID"},"source":{"type":"string","enum":["email","sms","live_chat","copilot","api","voice","slack","ms_teams"],"description":"Conversation source"},"createdAt":{"format":"date-time","type":"string","description":"Message create date"},"conversationMessageFeedbacks":{"description":"List of conversation message feedbacks","type":"array","items":{"$ref":"#/components/schemas/BaseFeedbackResponseDTO"}},"fullAIResponse":{"description":"Full AI response","allOf":[{"$ref":"#/components/schemas/FullAIResponseDTO"}]},"subagentId":{"type":"string","nullable":true,"description":"Subagent selected by automatic orchestration for this assistant message."},"expandedMessage":{"type":"string","nullable":true,"description":"Expanded version of the message produced by Enhanced Prompting, if the skill is attached to the agent. Null when the skill is not attached or expansion was skipped."},"files":{"description":"Conversation message files","type":"array","items":{"$ref":"#/components/schemas/ConversationMessageFileResponseDTO"}},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","message","conversationId","senderRole","conversationMessageId","source","createdAt","isAnonymized"]},"BaseFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true}},"required":["id","voteType","question","answer","comment"]},"FullAIResponseDTO":{"type":"object","properties":{"reasoning":{"description":"Reasoning summaries","nullable":true,"type":"array","items":{"type":"string"}},"outputText":{"type":"string","description":"Output text","nullable":true},"urlCitations":{"description":"URL citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UrlCitationDTO"}},"fileCitations":{"description":"File citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FileCitationDTO"}}}},"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]},"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]},"ConversationMessageFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID"},"fileName":{"type":"string","description":"File name"},"openAIFileId":{"type":"string","description":"OpenAI file ID"},"size":{"type":"number","description":"File size","nullable":true},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"createdAt":{"format":"date-time","type":"string","description":"Created at"}},"required":["id","fileName","openAIFileId","updatedAt","createdAt"]}}}}
```

## The CreateConversationBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateConversationBodyDTO":{"type":"object","properties":{"conversationUserId":{"type":"string","description":"Conversation user ID"},"title":{"type":"string","description":"Conversation title","maxLength":255},"context":{"type":"string","description":"Conversation context","maxLength":256000},"customData":{"type":"object","description":"Conversation custom data"},"conversationStateId":{"type":"string","description":"Conversation state ID"}},"required":["conversationUserId"]}}}}
```

## The ConversationResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ConversationResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"New conversation ID"},"conversationUserId":{"type":"string","description":"Conversation user ID"},"title":{"type":"string","description":"Conversation title"},"score":{"type":"number","description":"Conversation score"},"summary":{"type":"string","description":"Conversation summary"},"analysisStatus":{"type":"string","enum":["not_started","processing","skipped_skill_disabled","completed","failed"],"description":"Conversation analysis status"},"analyzedAt":{"type":"string","description":"Date the conversation analysis completed","format":"date-time","nullable":true},"aiConversationId":{"type":"string","description":"AI conversation ID","nullable":true},"metadata":{"type":"object","description":"Conversation metadata"},"aiCallId":{"type":"string","description":"AI call ID"},"mode":{"type":"string","description":"Conversation mode","enum":["manual","ai"]},"conversationStateId":{"type":"string","description":"Conversation state ID"},"user":{"description":"Conversation user","allOf":[{"$ref":"#/components/schemas/ExternalApiUserResponseDTO"}]},"createdAt":{"type":"string","description":"Date the conversation was created","format":"date-time"},"updatedAt":{"type":"string","description":"Date the conversation was updated","format":"date-time"},"assignedUser":{"description":"User the conversation is assigned to","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AssignedUserResponseDTO"}]},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","conversationUserId","analysisStatus","analyzedAt","aiConversationId","user","createdAt","updatedAt","isAnonymized"]},"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]},"AssignedUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Assigned user ID"},"firstName":{"type":"string","description":"Assigned user first name"},"lastName":{"type":"string","description":"Assigned user last name"},"avatarUrl":{"type":"string","description":"Assigned user avatar URL","nullable":true},"email":{"type":"string","description":"Assigned user email"},"phoneNumber":{"type":"string","description":"Assigned user phone number","nullable":true}},"required":["id","firstName","lastName","email"]}}}}
```

## The ProcessMessageBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ProcessMessageBodyDTO":{"type":"object","properties":{"message":{"type":"string","description":"The message that the user sends to the AI agent"},"context":{"type":"string","description":"Context of the message"},"files":{"description":"Files attached to the message","type":"array","items":{"$ref":"#/components/schemas/MessageFileBodyDTO"}}},"required":["message"]},"MessageFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The ProcessMessageResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ProcessMessageResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Conversation message ID"},"message":{"type":"string","description":"Conversation message content"},"rawMessage":{"type":"string","description":"Raw message content"},"conversationId":{"type":"string","description":"Conversation ID"},"senderRole":{"type":"string","enum":["conversation_user","assistant","manual_assistant"],"description":"Sender role in the conversation"},"conversationMessageId":{"type":"string","description":"Question message ID"},"source":{"type":"string","enum":["email","sms","live_chat","copilot","api","voice","slack","ms_teams"],"description":"Conversation source"},"createdAt":{"format":"date-time","type":"string","description":"Message create date"},"conversationMessageFeedbacks":{"description":"List of conversation message feedbacks","type":"array","items":{"$ref":"#/components/schemas/BaseFeedbackResponseDTO"}},"fullAIResponse":{"description":"Full AI response","allOf":[{"$ref":"#/components/schemas/FullAIResponseDTO"}]},"subagentId":{"type":"string","nullable":true,"description":"Subagent selected by automatic orchestration for this assistant message."},"expandedMessage":{"type":"string","nullable":true,"description":"Expanded version of the message produced by Enhanced Prompting, if the skill is attached to the agent. Null when the skill is not attached or expansion was skipped."},"files":{"description":"Conversation message files","type":"array","items":{"$ref":"#/components/schemas/ConversationMessageFileResponseDTO"}},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","message","conversationId","senderRole","conversationMessageId","source","createdAt","isAnonymized"]},"BaseFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Feedback ID"},"voteType":{"type":"string","description":"Feedback vote type","enum":["up","down"]},"question":{"type":"string","description":"Feedback question","nullable":true},"answer":{"type":"string","description":"Feedback answer","nullable":true},"comment":{"type":"string","description":"Feedback comment","nullable":true},"userEmail":{"type":"string","description":"Email of the user who provided the feedback","nullable":true}},"required":["id","voteType","question","answer","comment"]},"FullAIResponseDTO":{"type":"object","properties":{"reasoning":{"description":"Reasoning summaries","nullable":true,"type":"array","items":{"type":"string"}},"outputText":{"type":"string","description":"Output text","nullable":true},"urlCitations":{"description":"URL citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/UrlCitationDTO"}},"fileCitations":{"description":"File citations","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FileCitationDTO"}}}},"UrlCitationDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Title"}},"required":["url","title"]},"FileCitationDTO":{"type":"object","properties":{"fileId":{"type":"string","description":"File ID"},"filename":{"type":"string","description":"Filename"}},"required":["fileId","filename"]},"ConversationMessageFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID"},"fileName":{"type":"string","description":"File name"},"openAIFileId":{"type":"string","description":"OpenAI file ID"},"size":{"type":"number","description":"File size","nullable":true},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"createdAt":{"format":"date-time","type":"string","description":"Created at"}},"required":["id","fileName","openAIFileId","updatedAt","createdAt"]}}}}
```

## The DeleteUserConversationsBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"DeleteUserConversationsBodyDTO":{"type":"object","properties":{"conversationUserId":{"type":"string","description":"Conversation user ID"}},"required":["conversationUserId"]}}}}
```

## The UpdateConversationBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateConversationBodyDTO":{"type":"object","properties":{"title":{"type":"string","description":"Conversation title","maxLength":255},"context":{"type":"string","description":"Conversation context","maxLength":256000},"status":{"type":"string","description":"Conversation status","enum":["active","inactive","archived"]},"conversationStateId":{"type":"string","description":"Conversation state ID"}}}}}}
```

## The UpdateConversationModeBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateConversationModeBodyDTO":{"type":"object","properties":{"mode":{"type":"string","description":"Conversation mode","enum":["manual","ai"]}}}}}}
```

## The SendMessageToUserBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SendMessageToUserBodyDTO":{"type":"object","properties":{"message":{"type":"string","description":"The message that will be sent to the user"},"conversationMessageId":{"type":"string","description":"The ID of the conversation message that the user sent to the AI agent"},"authorId":{"type":"string","description":"Author platform ID"},"files":{"description":"Files attached to the message","type":"array","items":{"$ref":"#/components/schemas/MessageFileBodyDTO"}}},"required":["message"]},"MessageFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The CreateConversationMessageFileSignedUploadUrlBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateConversationMessageFileSignedUploadUrlBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"contentType":{"type":"string","description":"File content type"}},"required":["fileName","contentType"]}}}}
```

## The CreateConversationMessageFileSignedUploadUrlResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateConversationMessageFileSignedUploadUrlResponseDTO":{"type":"object","properties":{"signedUrl":{"type":"string","description":"Signed upload URL"},"storagePath":{"type":"string","description":"Storage path that should be sent later in send message API"}},"required":["signedUrl","storagePath"]}}}}
```

## The GetConversationMessageFileSignedUrlResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetConversationMessageFileSignedUrlResponseDTO":{"type":"object","properties":{"signedUrl":{"type":"string","description":"Signed download URL"},"fileId":{"type":"string","description":"Conversation message file ID"}},"required":["signedUrl","fileId"]}}}}
```

## The PromptFileBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PromptFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The ProcessPromptBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ProcessPromptBodyDTO":{"type":"object","properties":{"prompt":{"type":"string","description":"The question that the user sends to the AI agent"},"tokenTrackingId":{"type":"string","description":"The ID of the token tracking"},"files":{"description":"Files attached to the message","type":"array","items":{"$ref":"#/components/schemas/PromptFileBodyDTO"}}},"required":["prompt"]},"PromptFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The PromptTokenUsageDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PromptTokenUsageDTO":{"type":"object","properties":{"model":{"type":"string","description":"Model reported for the prompt run. For multi-model runs, this is the last model used.","nullable":true},"modelProvider":{"type":"string","description":"Provider of the reported model","nullable":true},"reasoningEffort":{"type":"string","description":"Reasoning effort used by the reported model","nullable":true},"reasoningMode":{"type":"string","description":"Reasoning mode used by the reported model","nullable":true},"inputTokens":{"type":"number","description":"Aggregate number of input tokens used for the prompt run"},"outputTokens":{"type":"number","description":"Aggregate number of output tokens used for the prompt run"},"reasoningTokens":{"type":"number","description":"Aggregate number of reasoning tokens used for the prompt run. Returns 0 for non-reasoning models."},"totalTokens":{"type":"number","description":"Aggregate total number of tokens used for the prompt run"}},"required":["model","modelProvider","reasoningEffort","reasoningMode","inputTokens","outputTokens","reasoningTokens","totalTokens"]}}}}
```

## The ProcessPromptResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ProcessPromptResponseDTO":{"type":"object","properties":{"status":{"type":"string","enum":["pending","completed","failed"],"description":"Response status"},"totalTokens":{"type":"number","description":"Total number of tokens used for the request","nullable":true},"usage":{"description":"Token usage for a completed prompt run. Token counts are aggregated across model calls; model metadata describes the last model used.","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PromptTokenUsageDTO"}]},"response":{"type":"string","description":"The AI-generated response to the user prompt","nullable":true},"error":{"type":"string","description":"Response error","nullable":true}},"required":["status","totalTokens","usage","response","error"]},"PromptTokenUsageDTO":{"type":"object","properties":{"model":{"type":"string","description":"Model reported for the prompt run. For multi-model runs, this is the last model used.","nullable":true},"modelProvider":{"type":"string","description":"Provider of the reported model","nullable":true},"reasoningEffort":{"type":"string","description":"Reasoning effort used by the reported model","nullable":true},"reasoningMode":{"type":"string","description":"Reasoning mode used by the reported model","nullable":true},"inputTokens":{"type":"number","description":"Aggregate number of input tokens used for the prompt run"},"outputTokens":{"type":"number","description":"Aggregate number of output tokens used for the prompt run"},"reasoningTokens":{"type":"number","description":"Aggregate number of reasoning tokens used for the prompt run. Returns 0 for non-reasoning models."},"totalTokens":{"type":"number","description":"Aggregate total number of tokens used for the prompt run"}},"required":["model","modelProvider","reasoningEffort","reasoningMode","inputTokens","outputTokens","reasoningTokens","totalTokens"]}}}}
```

## The CreatePromptBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePromptBodyDTO":{"type":"object","properties":{"prompt":{"type":"string","description":"The question that the user sends to the AI agent"},"tokenTrackingId":{"type":"string","description":"The ID of the token tracking"},"files":{"description":"Files attached to the message","type":"array","items":{"$ref":"#/components/schemas/PromptFileBodyDTO"}}},"required":["prompt"]},"PromptFileBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"storagePath":{"type":"string","description":"Storage path"}},"required":["fileName","storagePath"]}}}}
```

## The CreatePromptResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePromptResponseDTO":{"type":"object","properties":{"promptId":{"type":"string","description":"The ID of the prompt"}},"required":["promptId"]}}}}
```

## The GetResponseOnPromptResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetResponseOnPromptResponseDTO":{"type":"object","properties":{"status":{"type":"string","enum":["pending","completed","failed"],"description":"Response status"},"totalTokens":{"type":"number","description":"Total number of tokens used for the request","nullable":true},"usage":{"description":"Token usage for a completed prompt run. Token counts are aggregated across model calls; model metadata describes the last model used.","nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PromptTokenUsageDTO"}]},"response":{"type":"string","description":"The AI-generated response to the user prompt","nullable":true},"error":{"type":"string","description":"Response error","nullable":true}},"required":["status","totalTokens","usage","response","error"]},"PromptTokenUsageDTO":{"type":"object","properties":{"model":{"type":"string","description":"Model reported for the prompt run. For multi-model runs, this is the last model used.","nullable":true},"modelProvider":{"type":"string","description":"Provider of the reported model","nullable":true},"reasoningEffort":{"type":"string","description":"Reasoning effort used by the reported model","nullable":true},"reasoningMode":{"type":"string","description":"Reasoning mode used by the reported model","nullable":true},"inputTokens":{"type":"number","description":"Aggregate number of input tokens used for the prompt run"},"outputTokens":{"type":"number","description":"Aggregate number of output tokens used for the prompt run"},"reasoningTokens":{"type":"number","description":"Aggregate number of reasoning tokens used for the prompt run. Returns 0 for non-reasoning models."},"totalTokens":{"type":"number","description":"Aggregate total number of tokens used for the prompt run"}},"required":["model","modelProvider","reasoningEffort","reasoningMode","inputTokens","outputTokens","reasoningTokens","totalTokens"]}}}}
```

## The CreatePromptFileSignedUploadUrlBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePromptFileSignedUploadUrlBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"File name"},"contentType":{"type":"string","description":"File content type"}},"required":["fileName","contentType"]}}}}
```

## The CreatePromptFileSignedUploadUrlResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePromptFileSignedUploadUrlResponseDTO":{"type":"object","properties":{"signedUrl":{"type":"string","description":"Signed upload URL"},"storagePath":{"type":"string","description":"Storage path that should be sent later in send message API"}},"required":["signedUrl","storagePath"]}}}}
```

## The ExternalApiAgentAdminUserResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiAgentAdminUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"avatarUrl":{"type":"string","nullable":true,"description":"User avatar URL"},"agentRole":{"type":"string","enum":["owner","admin","editor","user","copilot_user","copilot_admin"],"nullable":true,"description":"Role assigned to the user directly on the agent. Null when the user has no direct agent assignment and access is granted by an organization-level role."},"agentAccessStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the direct user-to-agent assignment. Null when the user has no direct agent assignment."},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"nullable":true,"description":"Role of the user in the agent's organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the user's membership in the agent's organization."},"accessSource":{"type":"string","enum":["agent","organization"],"description":"Whether admin access comes from a direct owner or admin role on the agent, or from an owner or admin role in the organization that owns the agent."},"createdAt":{"format":"date-time","type":"string","description":"User creation date"}},"required":["id","email","firstName","lastName","accessSource","createdAt"]}}}}
```

## The BaseSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"BaseSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]}}}}
```

## The DataRetentionSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"DataRetentionSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"retentionDays":{"type":"number","description":"Retention days."},"anonymizeConversations":{"type":"boolean","description":"Anonymize conversations."},"anonymizeConversationUsers":{"type":"boolean","description":"Anonymize conversation users."}},"required":["systemName","status","retentionDays","anonymizeConversations","anonymizeConversationUsers"]}}}}
```

## The LiveChatWidgetButtonThemeExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LiveChatWidgetButtonThemeExternalDTO":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Launcher button background color (hex)."},"textColor":{"type":"string","description":"Launcher button text and icon color (hex)."}},"required":["backgroundColor","textColor"]}}}}
```

## The LiveChatWidgetProactiveBubbleExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LiveChatWidgetProactiveBubbleExternalDTO":{"type":"object","properties":{"message":{"type":"string","description":"Proactive teaser copy (when launcherTeaser is proactive)."},"delaySeconds":{"type":"number","description":"Delay in seconds before the proactive teaser (0–3600)."}},"required":["message","delaySeconds"]}}}}
```

## The LiveChatWidgetButtonExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LiveChatWidgetButtonExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["automatic","on_hover"]},"type":{"type":"string","enum":["icon_only","text_only","icon_and_text"]},"borderRadius":{"type":"string","enum":["0px","8px","100%"]},"size":{"type":"string","description":"Launcher size in pixels "},"selectedTheme":{"type":"string","enum":["light","dark","system"],"description":"Light, dark, or system color resolution for the launcher. Required when launcherTheme is custom."},"lightThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"darkThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"launcherAttentionEffect":{"type":"string","enum":["none","pulse"]},"launcherTheme":{"type":"string","enum":["default","solid","gradient","glassmorphism","custom"]},"logoFit":{"type":"string","enum":["cover","contain"]},"launcherTeaser":{"type":"string","enum":["suggestions","proactive","none"]},"proactiveBubble":{"description":"Proactive teaser (when launcherTeaser is proactive).","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetProactiveBubbleExternalDTO"}]}},"required":["mode","type","borderRadius","size","lightThemeConfig","darkThemeConfig","launcherAttentionEffect","launcherTheme","logoFit","launcherTeaser"]},"LiveChatWidgetButtonThemeExternalDTO":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Launcher button background color (hex)."},"textColor":{"type":"string","description":"Launcher button text and icon color (hex)."}},"required":["backgroundColor","textColor"]},"LiveChatWidgetProactiveBubbleExternalDTO":{"type":"object","properties":{"message":{"type":"string","description":"Proactive teaser copy (when launcherTeaser is proactive)."},"delaySeconds":{"type":"number","description":"Delay in seconds before the proactive teaser (0–3600)."}},"required":["message","delaySeconds"]}}}}
```

## The LiveChatLinkExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LiveChatLinkExternalDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]}}}}
```

## The LiveChatSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LiveChatSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"color":{"type":"string","description":"Color of the chat widget."},"widgetButtonConfig":{"description":"Embedded chat launcher (widget button) settings with legacy fields normalized.","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetButtonExternalDTO"}]},"titleLine1":{"type":"string","description":"First line of the chat widget title."},"titleLine2":{"type":"string","description":"Second line of the chat widget title."},"intro":{"type":"string","description":"Default introduction message (same as titleLine2; kept for backwards compatibility)."},"links":{"description":"List of links to be displayed in the chat widget.","type":"array","items":{"$ref":"#/components/schemas/LiveChatLinkExternalDTO"}},"disclaimer":{"type":"string","description":"Disclaimer message."},"chatFooterContent":{"type":"string","description":"Chat footer content below the input (e.g. privacy policy)"},"suggestions":{"description":"List of suggestions for the chat widget.","type":"array","items":{"type":"string"}},"whitelistedIps":{"description":"List of IP addresses that are whitelisted.","type":"array","items":{"type":"string"}},"restrictedCountries":{"description":"List of countries that are restricted.","type":"array","items":{"type":"string"}},"limitUnavailableDates":{"type":"boolean","description":"Whether live chat should be unavailable on the configured unavailableDates (YYYY-MM-DD)."},"unavailableDates":{"description":"Dates (YYYY-MM-DD) when live chat is unavailable (e.g. holidays, maintenance).","type":"array","items":{"type":"string"}},"unavailableDatesMessage":{"type":"string","description":"Custom message to show when live chat is unavailable on unavailableDates."}},"required":["systemName","status","limitUnavailableDates","unavailableDates","unavailableDatesMessage"]},"LiveChatWidgetButtonExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["automatic","on_hover"]},"type":{"type":"string","enum":["icon_only","text_only","icon_and_text"]},"borderRadius":{"type":"string","enum":["0px","8px","100%"]},"size":{"type":"string","description":"Launcher size in pixels "},"selectedTheme":{"type":"string","enum":["light","dark","system"],"description":"Light, dark, or system color resolution for the launcher. Required when launcherTheme is custom."},"lightThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"darkThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"launcherAttentionEffect":{"type":"string","enum":["none","pulse"]},"launcherTheme":{"type":"string","enum":["default","solid","gradient","glassmorphism","custom"]},"logoFit":{"type":"string","enum":["cover","contain"]},"launcherTeaser":{"type":"string","enum":["suggestions","proactive","none"]},"proactiveBubble":{"description":"Proactive teaser (when launcherTeaser is proactive).","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetProactiveBubbleExternalDTO"}]}},"required":["mode","type","borderRadius","size","lightThemeConfig","darkThemeConfig","launcherAttentionEffect","launcherTheme","logoFit","launcherTeaser"]},"LiveChatWidgetButtonThemeExternalDTO":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Launcher button background color (hex)."},"textColor":{"type":"string","description":"Launcher button text and icon color (hex)."}},"required":["backgroundColor","textColor"]},"LiveChatWidgetProactiveBubbleExternalDTO":{"type":"object","properties":{"message":{"type":"string","description":"Proactive teaser copy (when launcherTeaser is proactive)."},"delaySeconds":{"type":"number","description":"Delay in seconds before the proactive teaser (0–3600)."}},"required":["message","delaySeconds"]},"LiveChatLinkExternalDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]}}}}
```

## The SmsSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SmsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"phoneNumber":{"type":"string","description":"Phone number associated with the sms skill."},"defaultSmsIntroduction":{"type":"object","description":"Default SMS introduction."},"smsSignature":{"type":"object","description":"SMS signature."},"responseDelaySeconds":{"type":"object","description":"Delay in seconds before sending an SMS response (0–3600).","nullable":true}},"required":["systemName","status","phoneNumber"]}}}}
```

## The MsTeamsChannelScopeExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]}}}}
```

## The MsTeamsTeamConfigExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MsTeamsTeamConfigExternalDTO":{"type":"object","properties":{"teamId":{"type":"string","description":"Microsoft Teams team ID."},"channels":{"$ref":"#/components/schemas/MsTeamsChannelScopeExternalDTO"}},"required":["teamId","channels"]},"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]}}}}
```

## The MsTeamsUserScopeExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MsTeamsUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users; CUSTOM = only listed userIds."},"userIds":{"description":"User IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","userIds"]}}}}
```

## The MsTeamsTenantConfigExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MsTeamsTenantConfigExternalDTO":{"type":"object","properties":{"tenantId":{"type":"string","description":"Microsoft Entra tenant GUID."},"enabled":{"type":"boolean","description":"Whether this tenant is enabled for the MS Teams skill. When false, inbound Teams messages for this tenant are blocked."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTeamConfigExternalDTO"}},"users":{"$ref":"#/components/schemas/MsTeamsUserScopeExternalDTO"}},"required":["tenantId","enabled","teams","users"]},"MsTeamsTeamConfigExternalDTO":{"type":"object","properties":{"teamId":{"type":"string","description":"Microsoft Teams team ID."},"channels":{"$ref":"#/components/schemas/MsTeamsChannelScopeExternalDTO"}},"required":["teamId","channels"]},"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]},"MsTeamsUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users; CUSTOM = only listed userIds."},"userIds":{"description":"User IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","userIds"]}}}}
```

## The MsTeamsSkillConfigExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MsTeamsSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Microsoft Teams."},"tenants":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTenantConfigExternalDTO"}}},"required":["isFileUploadEnabled","tenants"]},"MsTeamsTenantConfigExternalDTO":{"type":"object","properties":{"tenantId":{"type":"string","description":"Microsoft Entra tenant GUID."},"enabled":{"type":"boolean","description":"Whether this tenant is enabled for the MS Teams skill. When false, inbound Teams messages for this tenant are blocked."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTeamConfigExternalDTO"}},"users":{"$ref":"#/components/schemas/MsTeamsUserScopeExternalDTO"}},"required":["tenantId","enabled","teams","users"]},"MsTeamsTeamConfigExternalDTO":{"type":"object","properties":{"teamId":{"type":"string","description":"Microsoft Teams team ID."},"channels":{"$ref":"#/components/schemas/MsTeamsChannelScopeExternalDTO"}},"required":["teamId","channels"]},"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]},"MsTeamsUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users; CUSTOM = only listed userIds."},"userIds":{"description":"User IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","userIds"]}}}}
```

## The MsTeamsSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MsTeamsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"description":"Microsoft Teams skill configuration.","allOf":[{"$ref":"#/components/schemas/MsTeamsSkillConfigExternalDTO"}]}},"required":["systemName","status","config"]},"MsTeamsSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Microsoft Teams."},"tenants":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTenantConfigExternalDTO"}}},"required":["isFileUploadEnabled","tenants"]},"MsTeamsTenantConfigExternalDTO":{"type":"object","properties":{"tenantId":{"type":"string","description":"Microsoft Entra tenant GUID."},"enabled":{"type":"boolean","description":"Whether this tenant is enabled for the MS Teams skill. When false, inbound Teams messages for this tenant are blocked."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTeamConfigExternalDTO"}},"users":{"$ref":"#/components/schemas/MsTeamsUserScopeExternalDTO"}},"required":["tenantId","enabled","teams","users"]},"MsTeamsTeamConfigExternalDTO":{"type":"object","properties":{"teamId":{"type":"string","description":"Microsoft Teams team ID."},"channels":{"$ref":"#/components/schemas/MsTeamsChannelScopeExternalDTO"}},"required":["teamId","channels"]},"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]},"MsTeamsUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users; CUSTOM = only listed userIds."},"userIds":{"description":"User IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","userIds"]}}}}
```

## The EmailSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"EmailSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"email":{"type":"string","description":"Email address associated with the email skill."},"senderName":{"type":"string","description":"Name of the email sender."},"defaultSubject":{"type":"string","description":"Email subject."},"defaultEmailIntroduction":{"type":"string","description":"Default email introduction."},"emailSignature":{"type":"string","description":"Default email closing."},"responseDelaySeconds":{"type":"object","description":"Delay in seconds before sending an email response (0–3600).","nullable":true}},"required":["systemName","status","email"]}}}}
```

## The WebhookResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"WebhookResponseDTO":{"type":"object","properties":{"status":{"type":"string","description":"Status of the webhook.","enum":["active","inactive"]},"title":{"type":"string","description":"Webhook title."},"description":{"type":"string","description":"Webhook description."},"url":{"type":"string","description":"Webhook URL."},"triggerCondition":{"type":"string","description":"Webhook trigger condition.","enum":["each_message","end_dialog","start_dialog","chat_currently_unavailable","auto_archive_conversation","manual"]},"headers":{"type":"object","description":"Webhook headers."}},"required":["status","title","description","url","triggerCondition"]}}}}
```

## The WebhookSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"WebhookSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"name":{"type":"string","description":"Webhook skill name."},"description":{"type":"string","description":"Webhook skill description."},"webhooks":{"description":"Webhook configs.","type":"array","items":{"$ref":"#/components/schemas/WebhookResponseDTO"}}},"required":["systemName","status","name","description","webhooks"]},"WebhookResponseDTO":{"type":"object","properties":{"status":{"type":"string","description":"Status of the webhook.","enum":["active","inactive"]},"title":{"type":"string","description":"Webhook title."},"description":{"type":"string","description":"Webhook description."},"url":{"type":"string","description":"Webhook URL."},"triggerCondition":{"type":"string","description":"Webhook trigger condition.","enum":["each_message","end_dialog","start_dialog","chat_currently_unavailable","auto_archive_conversation","manual"]},"headers":{"type":"object","description":"Webhook headers."}},"required":["status","title","description","url","triggerCondition"]}}}}
```

## The FunctionsSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"FunctionsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]}}}}
```

## The ScoringSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ScoringSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"scoringPrompt":{"type":"string","description":"Scoring prompt."}},"required":["systemName","status"]}}}}
```

## The APISkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"APISkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"apiKey":{"type":"string","description":"API key for the skill.","format":"uuid"}},"required":["systemName","status","apiKey"]}}}}
```

## The VoiceSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"VoiceSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"vApiAssistantId":{"type":"string","description":"Vapi assistant id."},"vApiPhoneNumberId":{"type":"string","description":"Vapi phone number id."}},"required":["systemName","status","vApiAssistantId","vApiPhoneNumberId"]}}}}
```

## The MemorySkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"MemorySkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"type":{"type":"string","enum":["BY_USER","BY_AGENT"],"description":"Memory skill type."},"retentionDuration":{"type":"number","description":"Retention duration."}},"required":["systemName","status","type","retentionDuration"]}}}}
```

## The ReportSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ReportSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"frequency":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY"],"description":"Agent report frequency."},"emails":{"description":"Agent report emails.","type":"array","items":{"type":"string"}}},"required":["systemName","status","frequency","emails"]}}}}
```

## The ScrapingConfigResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ScrapingConfigResponseDTO":{"type":"object","properties":{"url":{"type":"string","description":"Scraping url."},"startCrawledAt":{"format":"date-time","type":"string","description":"Start crawled at.","nullable":true},"endCrawledAt":{"format":"date-time","type":"string","description":"End crawled at.","nullable":true},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"],"description":"Crawler type."},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"],"description":"Crawl format."},"excludeUrls":{"description":"Excluded urls.","nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number","description":"Page limit."},"maxDepth":{"type":"number","description":"Max depth."},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"],"description":"Scraping frequency."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"crawlingStatus":{"type":"string","enum":["not_started","in_progress","completed","failed","canceled"],"description":"Crawling status."}},"required":["url","startCrawledAt","endCrawledAt","crawlerType","crawlFormat","excludeUrls","pageLimit","maxDepth","frequency","autoUpload","crawlingStatus"]}}}}
```

## The ScrapingSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ScrapingSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"scrapingConfigs":{"description":"Agent scraping configs.","type":"array","items":{"$ref":"#/components/schemas/ScrapingConfigResponseDTO"}}},"required":["systemName","status","scrapingConfigs"]},"ScrapingConfigResponseDTO":{"type":"object","properties":{"url":{"type":"string","description":"Scraping url."},"startCrawledAt":{"format":"date-time","type":"string","description":"Start crawled at.","nullable":true},"endCrawledAt":{"format":"date-time","type":"string","description":"End crawled at.","nullable":true},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"],"description":"Crawler type."},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"],"description":"Crawl format."},"excludeUrls":{"description":"Excluded urls.","nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number","description":"Page limit."},"maxDepth":{"type":"number","description":"Max depth."},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"],"description":"Scraping frequency."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"crawlingStatus":{"type":"string","enum":["not_started","in_progress","completed","failed","canceled"],"description":"Crawling status."}},"required":["url","startCrawledAt","endCrawledAt","crawlerType","crawlFormat","excludeUrls","pageLimit","maxDepth","frequency","autoUpload","crawlingStatus"]}}}}
```

## The NotificationSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"NotificationSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]}}}}
```

## The ExternalRetrieverConfig object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalRetrieverConfig":{"type":"object","properties":{"apiKey":{"type":"string","description":"External retriever API key."},"indexName":{"type":"string","description":"External retriever index name."},"host":{"type":"string","description":"External retriever host."},"fieldName":{"type":"string","description":"External retriever field name."},"namespace":{"type":"string","description":"External retriever namespace."},"topK":{"type":"number","description":"External retriever topK."},"isEmbedded":{"type":"boolean","description":"External retriever is embedded."},"dimensions":{"type":"number","description":"External retriever dimensions."},"model":{"type":"string","enum":["text-embedding-ada-002","text-embedding-3-large","text-embedding-3-small"],"description":"External retriever model."}},"required":["apiKey","indexName","host","fieldName","namespace","topK","isEmbedded"]}}}}
```

## The ExternalRetrieverResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalRetrieverResponseDTO":{"type":"object","properties":{"name":{"type":"string","description":"Retriever name."},"type":{"type":"string","enum":["pinecone"],"description":"Retriever type."},"status":{"type":"string","enum":["active","inactive"],"description":"Retriever status."},"config":{"description":"Retriever config.","allOf":[{"$ref":"#/components/schemas/ExternalRetrieverConfig"}]}},"required":["name","type","status","config"]},"ExternalRetrieverConfig":{"type":"object","properties":{"apiKey":{"type":"string","description":"External retriever API key."},"indexName":{"type":"string","description":"External retriever index name."},"host":{"type":"string","description":"External retriever host."},"fieldName":{"type":"string","description":"External retriever field name."},"namespace":{"type":"string","description":"External retriever namespace."},"topK":{"type":"number","description":"External retriever topK."},"isEmbedded":{"type":"boolean","description":"External retriever is embedded."},"dimensions":{"type":"number","description":"External retriever dimensions."},"model":{"type":"string","enum":["text-embedding-ada-002","text-embedding-3-large","text-embedding-3-small"],"description":"External retriever model."}},"required":["apiKey","indexName","host","fieldName","namespace","topK","isEmbedded"]}}}}
```

## The ExternalRetrieversSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalRetrieversSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"externalRetrievers":{"description":"External retrievers.","type":"array","items":{"$ref":"#/components/schemas/ExternalRetrieverResponseDTO"}}},"required":["systemName","status","externalRetrievers"]},"ExternalRetrieverResponseDTO":{"type":"object","properties":{"name":{"type":"string","description":"Retriever name."},"type":{"type":"string","enum":["pinecone"],"description":"Retriever type."},"status":{"type":"string","enum":["active","inactive"],"description":"Retriever status."},"config":{"description":"Retriever config.","allOf":[{"$ref":"#/components/schemas/ExternalRetrieverConfig"}]}},"required":["name","type","status","config"]},"ExternalRetrieverConfig":{"type":"object","properties":{"apiKey":{"type":"string","description":"External retriever API key."},"indexName":{"type":"string","description":"External retriever index name."},"host":{"type":"string","description":"External retriever host."},"fieldName":{"type":"string","description":"External retriever field name."},"namespace":{"type":"string","description":"External retriever namespace."},"topK":{"type":"number","description":"External retriever topK."},"isEmbedded":{"type":"boolean","description":"External retriever is embedded."},"dimensions":{"type":"number","description":"External retriever dimensions."},"model":{"type":"string","enum":["text-embedding-ada-002","text-embedding-3-large","text-embedding-3-small"],"description":"External retriever model."}},"required":["apiKey","indexName","host","fieldName","namespace","topK","isEmbedded"]}}}}
```

## The WebSearchSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"WebSearchSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"webSearchServiceType":{"type":"string","enum":["openai"],"description":"Web search service."},"prompt":{"type":"string","description":"Web search prompt."}},"required":["systemName","status","webSearchServiceType","prompt"]}}}}
```

## The FeedbackSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"FeedbackSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"period":{"type":"string","enum":["last_30_days","last_60_days","last_90_days","all_time"],"description":"Feedback period."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"generationMode":{"type":"string","enum":["manual","auto"],"description":"Feedback generation mode."}},"required":["systemName","status","period","autoUpload","generationMode"]}}}}
```

## The EscalationRecipientsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"EscalationRecipientsResponseDTO":{"type":"object","properties":{"channel":{"type":"string","enum":["sms","email","webhook"],"description":"Notification channel."},"value":{"type":"string","description":"Notification recipient."},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"}},"required":["channel","value"]}}}}
```

## The EscalationResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"EscalationResponseDTO":{"type":"object","properties":{"topic":{"type":"string","description":"Escalation topic."},"escalationPrompt":{"type":"string","description":"Escalation prompt."},"autoChangeConversationMode":{"type":"boolean","description":"Is auto change conversation mode to manual enabled?"},"response":{"type":"string","description":"Message to the user in case of escalation."},"recipients":{"description":"Send notification to the recipients in case of escalation.","type":"array","items":{"$ref":"#/components/schemas/EscalationRecipientsResponseDTO"}}},"required":["topic","escalationPrompt","autoChangeConversationMode","response","recipients"]},"EscalationRecipientsResponseDTO":{"type":"object","properties":{"channel":{"type":"string","enum":["sms","email","webhook"],"description":"Notification channel."},"value":{"type":"string","description":"Notification recipient."},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"}},"required":["channel","value"]}}}}
```

## The EscalationSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"EscalationSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"escalations":{"description":"Escalations.","type":"array","items":{"$ref":"#/components/schemas/EscalationResponseDTO"}}},"required":["systemName","status","escalations"]},"EscalationResponseDTO":{"type":"object","properties":{"topic":{"type":"string","description":"Escalation topic."},"escalationPrompt":{"type":"string","description":"Escalation prompt."},"autoChangeConversationMode":{"type":"boolean","description":"Is auto change conversation mode to manual enabled?"},"response":{"type":"string","description":"Message to the user in case of escalation."},"recipients":{"description":"Send notification to the recipients in case of escalation.","type":"array","items":{"$ref":"#/components/schemas/EscalationRecipientsResponseDTO"}}},"required":["topic","escalationPrompt","autoChangeConversationMode","response","recipients"]},"EscalationRecipientsResponseDTO":{"type":"object","properties":{"channel":{"type":"string","enum":["sms","email","webhook"],"description":"Notification channel."},"value":{"type":"string","description":"Notification recipient."},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"}},"required":["channel","value"]}}}}
```

## The CalCalendarConfig object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CalCalendarConfig":{"type":"object","properties":{"type":{"type":"string","enum":["cal"],"description":"Calendar type."},"apiKey":{"type":"string","description":"Cal calendar API key."},"prompt":{"type":"string","description":"Cal calendar prompt."}},"required":["type","apiKey","prompt"]}}}}
```

## The CalendarSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CalendarSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"oneOf":[{"$ref":"#/components/schemas/CalCalendarConfig"}],"discriminator":{"propertyName":"type","mapping":{"cal":"#/components/schemas/CalCalendarConfig"}},"allOf":[{"$ref":"#/components/schemas/CalCalendarConfig"}]}},"required":["systemName","status","config"]},"CalCalendarConfig":{"type":"object","properties":{"type":{"type":"string","enum":["cal"],"description":"Calendar type."},"apiKey":{"type":"string","description":"Cal calendar API key."},"prompt":{"type":"string","description":"Cal calendar prompt."}},"required":["type","apiKey","prompt"]}}}}
```

## The SlackChannelScopeExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SlackChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Slack channel IDs (C…) the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","channelIds","requireKnownRaiaUser"]}}}}
```

## The SlackUserScopeExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SlackUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users in DMs/group DMs; CUSTOM = only listed userIds."},"userIds":{"description":"Slack user IDs (U…) the agent is enabled for (only used when mode is CUSTOM). Applies to DMs and group DMs.","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","userIds","requireKnownRaiaUser"]}}}}
```

## The SlackWorkspaceConfigExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SlackWorkspaceConfigExternalDTO":{"type":"object","properties":{"slackTeamId":{"type":"string","description":"Slack workspace id (`T…`). Matches inbound `team_id`."},"enabled":{"type":"boolean","description":"Whether this workspace is enabled for the Slack skill. When false, inbound Slack messages for this workspace are blocked."},"channels":{"$ref":"#/components/schemas/SlackChannelScopeExternalDTO"},"users":{"$ref":"#/components/schemas/SlackUserScopeExternalDTO"}},"required":["slackTeamId","enabled","channels","users"]},"SlackChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Slack channel IDs (C…) the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","channelIds","requireKnownRaiaUser"]},"SlackUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users in DMs/group DMs; CUSTOM = only listed userIds."},"userIds":{"description":"Slack user IDs (U…) the agent is enabled for (only used when mode is CUSTOM). Applies to DMs and group DMs.","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","userIds","requireKnownRaiaUser"]}}}}
```

## The SlackSkillConfigExternalDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SlackSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Slack."},"workspaces":{"description":"Per-workspace Slack routing scope for this agent.","type":"array","items":{"$ref":"#/components/schemas/SlackWorkspaceConfigExternalDTO"}}},"required":["isFileUploadEnabled","workspaces"]},"SlackWorkspaceConfigExternalDTO":{"type":"object","properties":{"slackTeamId":{"type":"string","description":"Slack workspace id (`T…`). Matches inbound `team_id`."},"enabled":{"type":"boolean","description":"Whether this workspace is enabled for the Slack skill. When false, inbound Slack messages for this workspace are blocked."},"channels":{"$ref":"#/components/schemas/SlackChannelScopeExternalDTO"},"users":{"$ref":"#/components/schemas/SlackUserScopeExternalDTO"}},"required":["slackTeamId","enabled","channels","users"]},"SlackChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Slack channel IDs (C…) the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","channelIds","requireKnownRaiaUser"]},"SlackUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users in DMs/group DMs; CUSTOM = only listed userIds."},"userIds":{"description":"Slack user IDs (U…) the agent is enabled for (only used when mode is CUSTOM). Applies to DMs and group DMs.","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","userIds","requireKnownRaiaUser"]}}}}
```

## The SlackSkillResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"SlackSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"description":"Slack skill configuration.","allOf":[{"$ref":"#/components/schemas/SlackSkillConfigExternalDTO"}]}},"required":["systemName","status","config"]},"SlackSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Slack."},"workspaces":{"description":"Per-workspace Slack routing scope for this agent.","type":"array","items":{"$ref":"#/components/schemas/SlackWorkspaceConfigExternalDTO"}}},"required":["isFileUploadEnabled","workspaces"]},"SlackWorkspaceConfigExternalDTO":{"type":"object","properties":{"slackTeamId":{"type":"string","description":"Slack workspace id (`T…`). Matches inbound `team_id`."},"enabled":{"type":"boolean","description":"Whether this workspace is enabled for the Slack skill. When false, inbound Slack messages for this workspace are blocked."},"channels":{"$ref":"#/components/schemas/SlackChannelScopeExternalDTO"},"users":{"$ref":"#/components/schemas/SlackUserScopeExternalDTO"}},"required":["slackTeamId","enabled","channels","users"]},"SlackChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Slack channel IDs (C…) the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","channelIds","requireKnownRaiaUser"]},"SlackUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users in DMs/group DMs; CUSTOM = only listed userIds."},"userIds":{"description":"Slack user IDs (U…) the agent is enabled for (only used when mode is CUSTOM). Applies to DMs and group DMs.","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","userIds","requireKnownRaiaUser"]}}}}
```

## The ExternalApiAgentOrganizationResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiAgentOrganizationResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID.","format":"uuid"},"name":{"type":"string","description":"Organization name."},"status":{"type":"string","enum":["active","pending","archived","blocked"],"description":"Organization status."}},"required":["id","name","status"]}}}}
```

## The ExternalApiSuperAdminAgentResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiSuperAdminAgentResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent ID.","format":"uuid"},"name":{"type":"string","description":"Agent name."},"publicName":{"type":"string","description":"Agent public name."},"description":{"type":"string","nullable":true,"description":"Agent description."},"status":{"type":"string","enum":["active","inactive","draft"],"description":"Agent status."},"organizationId":{"type":"string","description":"ID of the organization that owns the agent.","format":"uuid"},"organization":{"description":"Organization that owns the agent.","allOf":[{"$ref":"#/components/schemas/ExternalApiAgentOrganizationResponseDTO"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"}},"required":["id","name","publicName","description","status","organizationId","organization","createdAt","updatedAt"]},"ExternalApiAgentOrganizationResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID.","format":"uuid"},"name":{"type":"string","description":"Organization name."},"status":{"type":"string","enum":["active","pending","archived","blocked"],"description":"Organization status."}},"required":["id","name","status"]}}}}
```

## The ExternalApiGetAllAgentsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiGetAllAgentsResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"Agents for the requested page.","type":"array","items":{"$ref":"#/components/schemas/ExternalApiSuperAdminAgentResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ExternalApiSuperAdminAgentResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent ID.","format":"uuid"},"name":{"type":"string","description":"Agent name."},"publicName":{"type":"string","description":"Agent public name."},"description":{"type":"string","nullable":true,"description":"Agent description."},"status":{"type":"string","enum":["active","inactive","draft"],"description":"Agent status."},"organizationId":{"type":"string","description":"ID of the organization that owns the agent.","format":"uuid"},"organization":{"description":"Organization that owns the agent.","allOf":[{"$ref":"#/components/schemas/ExternalApiAgentOrganizationResponseDTO"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"}},"required":["id","name","publicName","description","status","organizationId","organization","createdAt","updatedAt"]},"ExternalApiAgentOrganizationResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID.","format":"uuid"},"name":{"type":"string","description":"Organization name."},"status":{"type":"string","enum":["active","pending","archived","blocked"],"description":"Organization status."}},"required":["id","name","status"]}}}}
```

## The CreateAgentByApiKeyBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentByApiKeyBodyDTO":{"type":"object","properties":{"roleId":{"type":"string","description":"Agent role ID.","format":"uuid"},"name":{"type":"string","description":"Name of the agent."},"publicName":{"type":"string","description":"Public name of the agent."},"description":{"type":"string","description":"Description of the agent."},"instructions":{"type":"string","description":"Instructions of the agent."},"model":{"type":"string","enum":["gpt-4.1","gpt-4.1-nano","gpt-4.1-mini","gpt-3.5-turbo","o3-mini","gpt-5-nano","gpt-5","gpt-5-mini","gpt-5.1","gpt-5.2","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6","gpt-5.6-terra","gpt-5.6-luna"],"description":"Model of the agent."},"topP":{"type":"number","description":"TopP of the agent."},"temperature":{"type":"number","description":"Temperature of the agent."},"isFileSearchEnabled":{"type":"boolean","description":"Is file search enabled by default."},"isCodeInterpreterEnabled":{"type":"boolean","description":"Is code interpreter enabled by default."},"fileSearchMaxNumResults":{"type":"number","description":"File search max number of results. Required when isFileSearchEnabled is true.","default":10},"reasoningEffort":{"type":"string","enum":["low","medium","high","xhigh","minimal","none","max"],"description":"Reasoning effort of the agent. Required only when mode is reasoning."},"reasoningMode":{"type":"string","enum":["standard","pro"],"description":"Reasoning mode of the agent."},"isApiSkillEnabled":{"type":"boolean","description":"Is agent API skill enabled by default."},"isOutputJsonSchemaEnabled":{"type":"boolean","description":"Is output JSON schema enabled by default."},"outputJsonSchema":{"type":"string","description":"Output JSON schema of the agent."},"tags":{"description":"Tags of the agent.","type":"array","items":{"type":"string"}},"restrictDocumentsToOwnerOnly":{"type":"boolean","description":"Restrict documents to owner only."}},"required":["roleId","name","publicName","outputJsonSchema","tags"]}}}}
```

## The AIConfigResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AIConfigResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent AI config ID."},"model":{"type":"string","enum":["gpt-4.1","gpt-4.1-nano","gpt-4.1-mini","gpt-3.5-turbo","o3-mini","gpt-5-nano","gpt-5","gpt-5-mini","gpt-5.1","gpt-5.2","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6","gpt-5.6-terra","gpt-5.6-luna"],"description":"Open AI model."},"temperature":{"type":"number","description":"OpenAI temperature."},"topP":{"type":"number","description":"OpenAI top_p."},"instructions":{"type":"string","description":"OpenAI instructions."},"isCodeInterpreterEnabled":{"type":"boolean","description":"Is code interpreter enabled."},"isFileSearchEnabled":{"type":"boolean","description":"Is file search enabled."},"fileSearchMaxNumResults":{"type":"number","description":"File search max number of results."},"reasoningEffort":{"type":"string","enum":["low","medium","high","xhigh","minimal","none","max"],"description":"Reasoning effort of the agent.","nullable":true},"reasoningMode":{"type":"string","enum":["standard","pro"],"description":"Reasoning mode of the agent.","nullable":true},"isOutputJsonSchemaEnabled":{"type":"boolean","description":"Is output JSON schema enabled."},"outputJsonSchema":{"type":"string","description":"Output JSON schema of the agent."}},"required":["id","model","temperature","topP","instructions","isCodeInterpreterEnabled","isFileSearchEnabled","fileSearchMaxNumResults","outputJsonSchema"]}}}}
```

## The CreateAgentResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentResponseDTO":{"type":"object","properties":{"organizationId":{"type":"string","description":"Unique identifier for the organization.","format":"uuid"},"organizationName":{"type":"string","description":"Name of the organization."},"id":{"type":"string","description":"Unique identifier for the agent.","format":"uuid"},"name":{"type":"string","description":"Name of the agent."},"publicName":{"type":"string","description":"Public name of the agent."},"role":{"type":"string","description":"Role of the agent."},"description":{"type":"string","description":"Description of the agent."},"vectorStoreId":{"type":"string","description":"OpenAI vector store ID."},"aiConfig":{"description":"Agent AI config.","allOf":[{"$ref":"#/components/schemas/AIConfigResponseDTO"}]},"avatarUrl":{"type":"string","description":"Avatar URL of the agent."},"status":{"type":"string","description":"Status of the agent.","enum":["active","inactive","draft"]},"tags":{"description":"Agent tags.","nullable":true,"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/BaseSkillResponseDTO"},{"$ref":"#/components/schemas/LiveChatSkillResponseDTO"},{"$ref":"#/components/schemas/SmsSkillResponseDTO"},{"$ref":"#/components/schemas/EmailSkillResponseDTO"},{"$ref":"#/components/schemas/WebhookSkillResponseDTO"},{"$ref":"#/components/schemas/FunctionsSkillResponseDTO"},{"$ref":"#/components/schemas/ScoringSkillResponseDTO"},{"$ref":"#/components/schemas/APISkillResponseDTO"},{"$ref":"#/components/schemas/VoiceSkillResponseDTO"},{"$ref":"#/components/schemas/MemorySkillResponseDTO"},{"$ref":"#/components/schemas/ReportSkillResponseDTO"},{"$ref":"#/components/schemas/ScrapingSkillResponseDTO"},{"$ref":"#/components/schemas/NotificationSkillResponseDTO"},{"$ref":"#/components/schemas/ExternalRetrieversSkillResponseDTO"},{"$ref":"#/components/schemas/WebSearchSkillResponseDTO"},{"$ref":"#/components/schemas/FeedbackSkillResponseDTO"},{"$ref":"#/components/schemas/EscalationSkillResponseDTO"},{"$ref":"#/components/schemas/CalendarSkillResponseDTO"},{"$ref":"#/components/schemas/DataRetentionSkillResponseDTO"},{"$ref":"#/components/schemas/MsTeamsSkillResponseDTO"},{"$ref":"#/components/schemas/SlackSkillResponseDTO"}]},"description":"List of skills associated with the agent."},"restrictDocumentsToOwnerOnly":{"type":"boolean","description":"Restrict documents to owner only."},"agentApiKey":{"type":"string","nullable":true,"description":"Deprecated: API keys are now managed separately via the agent API key endpoints"}},"required":["organizationId","organizationName","id","name","publicName","role","vectorStoreId","aiConfig","status","skills"]},"AIConfigResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent AI config ID."},"model":{"type":"string","enum":["gpt-4.1","gpt-4.1-nano","gpt-4.1-mini","gpt-3.5-turbo","o3-mini","gpt-5-nano","gpt-5","gpt-5-mini","gpt-5.1","gpt-5.2","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6","gpt-5.6-terra","gpt-5.6-luna"],"description":"Open AI model."},"temperature":{"type":"number","description":"OpenAI temperature."},"topP":{"type":"number","description":"OpenAI top_p."},"instructions":{"type":"string","description":"OpenAI instructions."},"isCodeInterpreterEnabled":{"type":"boolean","description":"Is code interpreter enabled."},"isFileSearchEnabled":{"type":"boolean","description":"Is file search enabled."},"fileSearchMaxNumResults":{"type":"number","description":"File search max number of results."},"reasoningEffort":{"type":"string","enum":["low","medium","high","xhigh","minimal","none","max"],"description":"Reasoning effort of the agent.","nullable":true},"reasoningMode":{"type":"string","enum":["standard","pro"],"description":"Reasoning mode of the agent.","nullable":true},"isOutputJsonSchemaEnabled":{"type":"boolean","description":"Is output JSON schema enabled."},"outputJsonSchema":{"type":"string","description":"Output JSON schema of the agent."}},"required":["id","model","temperature","topP","instructions","isCodeInterpreterEnabled","isFileSearchEnabled","fileSearchMaxNumResults","outputJsonSchema"]},"BaseSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]},"LiveChatSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"color":{"type":"string","description":"Color of the chat widget."},"widgetButtonConfig":{"description":"Embedded chat launcher (widget button) settings with legacy fields normalized.","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetButtonExternalDTO"}]},"titleLine1":{"type":"string","description":"First line of the chat widget title."},"titleLine2":{"type":"string","description":"Second line of the chat widget title."},"intro":{"type":"string","description":"Default introduction message (same as titleLine2; kept for backwards compatibility)."},"links":{"description":"List of links to be displayed in the chat widget.","type":"array","items":{"$ref":"#/components/schemas/LiveChatLinkExternalDTO"}},"disclaimer":{"type":"string","description":"Disclaimer message."},"chatFooterContent":{"type":"string","description":"Chat footer content below the input (e.g. privacy policy)"},"suggestions":{"description":"List of suggestions for the chat widget.","type":"array","items":{"type":"string"}},"whitelistedIps":{"description":"List of IP addresses that are whitelisted.","type":"array","items":{"type":"string"}},"restrictedCountries":{"description":"List of countries that are restricted.","type":"array","items":{"type":"string"}},"limitUnavailableDates":{"type":"boolean","description":"Whether live chat should be unavailable on the configured unavailableDates (YYYY-MM-DD)."},"unavailableDates":{"description":"Dates (YYYY-MM-DD) when live chat is unavailable (e.g. holidays, maintenance).","type":"array","items":{"type":"string"}},"unavailableDatesMessage":{"type":"string","description":"Custom message to show when live chat is unavailable on unavailableDates."}},"required":["systemName","status","limitUnavailableDates","unavailableDates","unavailableDatesMessage"]},"LiveChatWidgetButtonExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["automatic","on_hover"]},"type":{"type":"string","enum":["icon_only","text_only","icon_and_text"]},"borderRadius":{"type":"string","enum":["0px","8px","100%"]},"size":{"type":"string","description":"Launcher size in pixels "},"selectedTheme":{"type":"string","enum":["light","dark","system"],"description":"Light, dark, or system color resolution for the launcher. Required when launcherTheme is custom."},"lightThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"darkThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"launcherAttentionEffect":{"type":"string","enum":["none","pulse"]},"launcherTheme":{"type":"string","enum":["default","solid","gradient","glassmorphism","custom"]},"logoFit":{"type":"string","enum":["cover","contain"]},"launcherTeaser":{"type":"string","enum":["suggestions","proactive","none"]},"proactiveBubble":{"description":"Proactive teaser (when launcherTeaser is proactive).","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetProactiveBubbleExternalDTO"}]}},"required":["mode","type","borderRadius","size","lightThemeConfig","darkThemeConfig","launcherAttentionEffect","launcherTheme","logoFit","launcherTeaser"]},"LiveChatWidgetButtonThemeExternalDTO":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Launcher button background color (hex)."},"textColor":{"type":"string","description":"Launcher button text and icon color (hex)."}},"required":["backgroundColor","textColor"]},"LiveChatWidgetProactiveBubbleExternalDTO":{"type":"object","properties":{"message":{"type":"string","description":"Proactive teaser copy (when launcherTeaser is proactive)."},"delaySeconds":{"type":"number","description":"Delay in seconds before the proactive teaser (0–3600)."}},"required":["message","delaySeconds"]},"LiveChatLinkExternalDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]},"SmsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"phoneNumber":{"type":"string","description":"Phone number associated with the sms skill."},"defaultSmsIntroduction":{"type":"object","description":"Default SMS introduction."},"smsSignature":{"type":"object","description":"SMS signature."},"responseDelaySeconds":{"type":"object","description":"Delay in seconds before sending an SMS response (0–3600).","nullable":true}},"required":["systemName","status","phoneNumber"]},"EmailSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"email":{"type":"string","description":"Email address associated with the email skill."},"senderName":{"type":"string","description":"Name of the email sender."},"defaultSubject":{"type":"string","description":"Email subject."},"defaultEmailIntroduction":{"type":"string","description":"Default email introduction."},"emailSignature":{"type":"string","description":"Default email closing."},"responseDelaySeconds":{"type":"object","description":"Delay in seconds before sending an email response (0–3600).","nullable":true}},"required":["systemName","status","email"]},"WebhookSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"name":{"type":"string","description":"Webhook skill name."},"description":{"type":"string","description":"Webhook skill description."},"webhooks":{"description":"Webhook configs.","type":"array","items":{"$ref":"#/components/schemas/WebhookResponseDTO"}}},"required":["systemName","status","name","description","webhooks"]},"WebhookResponseDTO":{"type":"object","properties":{"status":{"type":"string","description":"Status of the webhook.","enum":["active","inactive"]},"title":{"type":"string","description":"Webhook title."},"description":{"type":"string","description":"Webhook description."},"url":{"type":"string","description":"Webhook URL."},"triggerCondition":{"type":"string","description":"Webhook trigger condition.","enum":["each_message","end_dialog","start_dialog","chat_currently_unavailable","auto_archive_conversation","manual"]},"headers":{"type":"object","description":"Webhook headers."}},"required":["status","title","description","url","triggerCondition"]},"FunctionsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]},"ScoringSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"scoringPrompt":{"type":"string","description":"Scoring prompt."}},"required":["systemName","status"]},"APISkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"apiKey":{"type":"string","description":"API key for the skill.","format":"uuid"}},"required":["systemName","status","apiKey"]},"VoiceSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"vApiAssistantId":{"type":"string","description":"Vapi assistant id."},"vApiPhoneNumberId":{"type":"string","description":"Vapi phone number id."}},"required":["systemName","status","vApiAssistantId","vApiPhoneNumberId"]},"MemorySkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"type":{"type":"string","enum":["BY_USER","BY_AGENT"],"description":"Memory skill type."},"retentionDuration":{"type":"number","description":"Retention duration."}},"required":["systemName","status","type","retentionDuration"]},"ReportSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"frequency":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY"],"description":"Agent report frequency."},"emails":{"description":"Agent report emails.","type":"array","items":{"type":"string"}}},"required":["systemName","status","frequency","emails"]},"ScrapingSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"scrapingConfigs":{"description":"Agent scraping configs.","type":"array","items":{"$ref":"#/components/schemas/ScrapingConfigResponseDTO"}}},"required":["systemName","status","scrapingConfigs"]},"ScrapingConfigResponseDTO":{"type":"object","properties":{"url":{"type":"string","description":"Scraping url."},"startCrawledAt":{"format":"date-time","type":"string","description":"Start crawled at.","nullable":true},"endCrawledAt":{"format":"date-time","type":"string","description":"End crawled at.","nullable":true},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"],"description":"Crawler type."},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"],"description":"Crawl format."},"excludeUrls":{"description":"Excluded urls.","nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number","description":"Page limit."},"maxDepth":{"type":"number","description":"Max depth."},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"],"description":"Scraping frequency."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"crawlingStatus":{"type":"string","enum":["not_started","in_progress","completed","failed","canceled"],"description":"Crawling status."}},"required":["url","startCrawledAt","endCrawledAt","crawlerType","crawlFormat","excludeUrls","pageLimit","maxDepth","frequency","autoUpload","crawlingStatus"]},"NotificationSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]},"ExternalRetrieversSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"externalRetrievers":{"description":"External retrievers.","type":"array","items":{"$ref":"#/components/schemas/ExternalRetrieverResponseDTO"}}},"required":["systemName","status","externalRetrievers"]},"ExternalRetrieverResponseDTO":{"type":"object","properties":{"name":{"type":"string","description":"Retriever name."},"type":{"type":"string","enum":["pinecone"],"description":"Retriever type."},"status":{"type":"string","enum":["active","inactive"],"description":"Retriever status."},"config":{"description":"Retriever config.","allOf":[{"$ref":"#/components/schemas/ExternalRetrieverConfig"}]}},"required":["name","type","status","config"]},"ExternalRetrieverConfig":{"type":"object","properties":{"apiKey":{"type":"string","description":"External retriever API key."},"indexName":{"type":"string","description":"External retriever index name."},"host":{"type":"string","description":"External retriever host."},"fieldName":{"type":"string","description":"External retriever field name."},"namespace":{"type":"string","description":"External retriever namespace."},"topK":{"type":"number","description":"External retriever topK."},"isEmbedded":{"type":"boolean","description":"External retriever is embedded."},"dimensions":{"type":"number","description":"External retriever dimensions."},"model":{"type":"string","enum":["text-embedding-ada-002","text-embedding-3-large","text-embedding-3-small"],"description":"External retriever model."}},"required":["apiKey","indexName","host","fieldName","namespace","topK","isEmbedded"]},"WebSearchSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"webSearchServiceType":{"type":"string","enum":["openai"],"description":"Web search service."},"prompt":{"type":"string","description":"Web search prompt."}},"required":["systemName","status","webSearchServiceType","prompt"]},"FeedbackSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"period":{"type":"string","enum":["last_30_days","last_60_days","last_90_days","all_time"],"description":"Feedback period."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"generationMode":{"type":"string","enum":["manual","auto"],"description":"Feedback generation mode."}},"required":["systemName","status","period","autoUpload","generationMode"]},"EscalationSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"escalations":{"description":"Escalations.","type":"array","items":{"$ref":"#/components/schemas/EscalationResponseDTO"}}},"required":["systemName","status","escalations"]},"EscalationResponseDTO":{"type":"object","properties":{"topic":{"type":"string","description":"Escalation topic."},"escalationPrompt":{"type":"string","description":"Escalation prompt."},"autoChangeConversationMode":{"type":"boolean","description":"Is auto change conversation mode to manual enabled?"},"response":{"type":"string","description":"Message to the user in case of escalation."},"recipients":{"description":"Send notification to the recipients in case of escalation.","type":"array","items":{"$ref":"#/components/schemas/EscalationRecipientsResponseDTO"}}},"required":["topic","escalationPrompt","autoChangeConversationMode","response","recipients"]},"EscalationRecipientsResponseDTO":{"type":"object","properties":{"channel":{"type":"string","enum":["sms","email","webhook"],"description":"Notification channel."},"value":{"type":"string","description":"Notification recipient."},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"}},"required":["channel","value"]},"CalendarSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"oneOf":[{"$ref":"#/components/schemas/CalCalendarConfig"}],"discriminator":{"propertyName":"type","mapping":{"cal":"#/components/schemas/CalCalendarConfig"}},"allOf":[{"$ref":"#/components/schemas/CalCalendarConfig"}]}},"required":["systemName","status","config"]},"CalCalendarConfig":{"type":"object","properties":{"type":{"type":"string","enum":["cal"],"description":"Calendar type."},"apiKey":{"type":"string","description":"Cal calendar API key."},"prompt":{"type":"string","description":"Cal calendar prompt."}},"required":["type","apiKey","prompt"]},"DataRetentionSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"retentionDays":{"type":"number","description":"Retention days."},"anonymizeConversations":{"type":"boolean","description":"Anonymize conversations."},"anonymizeConversationUsers":{"type":"boolean","description":"Anonymize conversation users."}},"required":["systemName","status","retentionDays","anonymizeConversations","anonymizeConversationUsers"]},"MsTeamsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"description":"Microsoft Teams skill configuration.","allOf":[{"$ref":"#/components/schemas/MsTeamsSkillConfigExternalDTO"}]}},"required":["systemName","status","config"]},"MsTeamsSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Microsoft Teams."},"tenants":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTenantConfigExternalDTO"}}},"required":["isFileUploadEnabled","tenants"]},"MsTeamsTenantConfigExternalDTO":{"type":"object","properties":{"tenantId":{"type":"string","description":"Microsoft Entra tenant GUID."},"enabled":{"type":"boolean","description":"Whether this tenant is enabled for the MS Teams skill. When false, inbound Teams messages for this tenant are blocked."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTeamConfigExternalDTO"}},"users":{"$ref":"#/components/schemas/MsTeamsUserScopeExternalDTO"}},"required":["tenantId","enabled","teams","users"]},"MsTeamsTeamConfigExternalDTO":{"type":"object","properties":{"teamId":{"type":"string","description":"Microsoft Teams team ID."},"channels":{"$ref":"#/components/schemas/MsTeamsChannelScopeExternalDTO"}},"required":["teamId","channels"]},"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]},"MsTeamsUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users; CUSTOM = only listed userIds."},"userIds":{"description":"User IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","userIds"]},"SlackSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"description":"Slack skill configuration.","allOf":[{"$ref":"#/components/schemas/SlackSkillConfigExternalDTO"}]}},"required":["systemName","status","config"]},"SlackSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Slack."},"workspaces":{"description":"Per-workspace Slack routing scope for this agent.","type":"array","items":{"$ref":"#/components/schemas/SlackWorkspaceConfigExternalDTO"}}},"required":["isFileUploadEnabled","workspaces"]},"SlackWorkspaceConfigExternalDTO":{"type":"object","properties":{"slackTeamId":{"type":"string","description":"Slack workspace id (`T…`). Matches inbound `team_id`."},"enabled":{"type":"boolean","description":"Whether this workspace is enabled for the Slack skill. When false, inbound Slack messages for this workspace are blocked."},"channels":{"$ref":"#/components/schemas/SlackChannelScopeExternalDTO"},"users":{"$ref":"#/components/schemas/SlackUserScopeExternalDTO"}},"required":["slackTeamId","enabled","channels","users"]},"SlackChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Slack channel IDs (C…) the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","channelIds","requireKnownRaiaUser"]},"SlackUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users in DMs/group DMs; CUSTOM = only listed userIds."},"userIds":{"description":"Slack user IDs (U…) the agent is enabled for (only used when mode is CUSTOM). Applies to DMs and group DMs.","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","userIds","requireKnownRaiaUser"]}}}}
```

## The GetOrganizationAgentUsersResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetOrganizationAgentUsersResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"List of users","type":"array","items":{"$ref":"#/components/schemas/ExternalApiUserResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]}}}}
```

## The ExternalApiAgentPlatformUserResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiAgentPlatformUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"avatarUrl":{"type":"string","nullable":true,"description":"User avatar URL"},"agentRole":{"type":"string","enum":["owner","admin","editor","user","copilot_user","copilot_admin"],"nullable":true,"description":"Role assigned to the user directly on the agent. Null when the user has no direct agent assignment and access is granted by an organization-level role."},"agentAccessStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the direct user-to-agent assignment. Null when the user has no direct agent assignment."},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"nullable":true,"description":"Role of the user in the agent's organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the user's membership in the agent's organization."},"accessSource":{"type":"string","enum":["agent","organization"],"description":"Whether access comes from a direct role on the agent or from an owner or admin role in the organization that owns the agent."},"createdAt":{"format":"date-time","type":"string","description":"User creation date"}},"required":["id","email","firstName","lastName","accessSource","createdAt"]}}}}
```

## The GetAgentPlatformUsersResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentPlatformUsersResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"Platform users with access to the agent, with their agent and organization roles.","type":"array","items":{"$ref":"#/components/schemas/ExternalApiAgentPlatformUserResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ExternalApiAgentPlatformUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"avatarUrl":{"type":"string","nullable":true,"description":"User avatar URL"},"agentRole":{"type":"string","enum":["owner","admin","editor","user","copilot_user","copilot_admin"],"nullable":true,"description":"Role assigned to the user directly on the agent. Null when the user has no direct agent assignment and access is granted by an organization-level role."},"agentAccessStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the direct user-to-agent assignment. Null when the user has no direct agent assignment."},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"nullable":true,"description":"Role of the user in the agent's organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the user's membership in the agent's organization."},"accessSource":{"type":"string","enum":["agent","organization"],"description":"Whether access comes from a direct role on the agent or from an owner or admin role in the organization that owns the agent."},"createdAt":{"format":"date-time","type":"string","description":"User creation date"}},"required":["id","email","firstName","lastName","accessSource","createdAt"]}}}}
```

## The GetAgentUsersByApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentUsersByApiKeyResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"List of users","type":"array","items":{"$ref":"#/components/schemas/ExternalApiUserResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ExternalApiUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"context":{"type":"string","description":"User context"},"source":{"type":"string","description":"User source"},"fkId":{"type":"string","description":"User fkId"},"fkUserId":{"type":"string","description":"User fkUserId"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"metadata":{"type":"object","description":"Conversation user metadata"},"isAnonymized":{"type":"boolean","description":"Is anonymized"}},"required":["id","firstName","lastName","isAnonymized"]}}}}
```

## The GetAgentAdminUsersByApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentAdminUsersByApiKeyResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"List of agent admin users","type":"array","items":{"$ref":"#/components/schemas/ExternalApiAgentAdminUserResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ExternalApiAgentAdminUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"avatarUrl":{"type":"string","nullable":true,"description":"User avatar URL"},"agentRole":{"type":"string","enum":["owner","admin","editor","user","copilot_user","copilot_admin"],"nullable":true,"description":"Role assigned to the user directly on the agent. Null when the user has no direct agent assignment and access is granted by an organization-level role."},"agentAccessStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the direct user-to-agent assignment. Null when the user has no direct agent assignment."},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"nullable":true,"description":"Role of the user in the agent's organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the user's membership in the agent's organization."},"accessSource":{"type":"string","enum":["agent","organization"],"description":"Whether admin access comes from a direct owner or admin role on the agent, or from an owner or admin role in the organization that owns the agent."},"createdAt":{"format":"date-time","type":"string","description":"User creation date"}},"required":["id","email","firstName","lastName","accessSource","createdAt"]}}}}
```

## The GetAgentByApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentByApiKeyResponseDTO":{"type":"object","properties":{"organizationId":{"type":"string","description":"Unique identifier for the organization.","format":"uuid"},"organizationName":{"type":"string","description":"Name of the organization."},"id":{"type":"string","description":"Unique identifier for the agent.","format":"uuid"},"name":{"type":"string","description":"Name of the agent."},"publicName":{"type":"string","description":"Public name of the agent."},"role":{"type":"string","description":"Role of the agent."},"description":{"type":"string","description":"Description of the agent."},"vectorStoreId":{"type":"string","description":"OpenAI vector store ID."},"aiConfig":{"description":"Agent AI config.","allOf":[{"$ref":"#/components/schemas/AIConfigResponseDTO"}]},"avatarUrl":{"type":"string","description":"Avatar URL of the agent."},"status":{"type":"string","description":"Status of the agent.","enum":["active","inactive","draft"]},"tags":{"description":"Agent tags.","nullable":true,"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/BaseSkillResponseDTO"},{"$ref":"#/components/schemas/LiveChatSkillResponseDTO"},{"$ref":"#/components/schemas/SmsSkillResponseDTO"},{"$ref":"#/components/schemas/EmailSkillResponseDTO"},{"$ref":"#/components/schemas/WebhookSkillResponseDTO"},{"$ref":"#/components/schemas/FunctionsSkillResponseDTO"},{"$ref":"#/components/schemas/ScoringSkillResponseDTO"},{"$ref":"#/components/schemas/APISkillResponseDTO"},{"$ref":"#/components/schemas/VoiceSkillResponseDTO"},{"$ref":"#/components/schemas/MemorySkillResponseDTO"},{"$ref":"#/components/schemas/ReportSkillResponseDTO"},{"$ref":"#/components/schemas/ScrapingSkillResponseDTO"},{"$ref":"#/components/schemas/NotificationSkillResponseDTO"},{"$ref":"#/components/schemas/ExternalRetrieversSkillResponseDTO"},{"$ref":"#/components/schemas/WebSearchSkillResponseDTO"},{"$ref":"#/components/schemas/FeedbackSkillResponseDTO"},{"$ref":"#/components/schemas/EscalationSkillResponseDTO"},{"$ref":"#/components/schemas/CalendarSkillResponseDTO"},{"$ref":"#/components/schemas/DataRetentionSkillResponseDTO"},{"$ref":"#/components/schemas/MsTeamsSkillResponseDTO"},{"$ref":"#/components/schemas/SlackSkillResponseDTO"}]},"description":"List of skills associated with the agent."},"restrictDocumentsToOwnerOnly":{"type":"boolean","description":"Restrict documents to owner only."}},"required":["organizationId","organizationName","id","name","publicName","role","vectorStoreId","aiConfig","status","skills"]},"AIConfigResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent AI config ID."},"model":{"type":"string","enum":["gpt-4.1","gpt-4.1-nano","gpt-4.1-mini","gpt-3.5-turbo","o3-mini","gpt-5-nano","gpt-5","gpt-5-mini","gpt-5.1","gpt-5.2","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6","gpt-5.6-terra","gpt-5.6-luna"],"description":"Open AI model."},"temperature":{"type":"number","description":"OpenAI temperature."},"topP":{"type":"number","description":"OpenAI top_p."},"instructions":{"type":"string","description":"OpenAI instructions."},"isCodeInterpreterEnabled":{"type":"boolean","description":"Is code interpreter enabled."},"isFileSearchEnabled":{"type":"boolean","description":"Is file search enabled."},"fileSearchMaxNumResults":{"type":"number","description":"File search max number of results."},"reasoningEffort":{"type":"string","enum":["low","medium","high","xhigh","minimal","none","max"],"description":"Reasoning effort of the agent.","nullable":true},"reasoningMode":{"type":"string","enum":["standard","pro"],"description":"Reasoning mode of the agent.","nullable":true},"isOutputJsonSchemaEnabled":{"type":"boolean","description":"Is output JSON schema enabled."},"outputJsonSchema":{"type":"string","description":"Output JSON schema of the agent."}},"required":["id","model","temperature","topP","instructions","isCodeInterpreterEnabled","isFileSearchEnabled","fileSearchMaxNumResults","outputJsonSchema"]},"BaseSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]},"LiveChatSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"color":{"type":"string","description":"Color of the chat widget."},"widgetButtonConfig":{"description":"Embedded chat launcher (widget button) settings with legacy fields normalized.","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetButtonExternalDTO"}]},"titleLine1":{"type":"string","description":"First line of the chat widget title."},"titleLine2":{"type":"string","description":"Second line of the chat widget title."},"intro":{"type":"string","description":"Default introduction message (same as titleLine2; kept for backwards compatibility)."},"links":{"description":"List of links to be displayed in the chat widget.","type":"array","items":{"$ref":"#/components/schemas/LiveChatLinkExternalDTO"}},"disclaimer":{"type":"string","description":"Disclaimer message."},"chatFooterContent":{"type":"string","description":"Chat footer content below the input (e.g. privacy policy)"},"suggestions":{"description":"List of suggestions for the chat widget.","type":"array","items":{"type":"string"}},"whitelistedIps":{"description":"List of IP addresses that are whitelisted.","type":"array","items":{"type":"string"}},"restrictedCountries":{"description":"List of countries that are restricted.","type":"array","items":{"type":"string"}},"limitUnavailableDates":{"type":"boolean","description":"Whether live chat should be unavailable on the configured unavailableDates (YYYY-MM-DD)."},"unavailableDates":{"description":"Dates (YYYY-MM-DD) when live chat is unavailable (e.g. holidays, maintenance).","type":"array","items":{"type":"string"}},"unavailableDatesMessage":{"type":"string","description":"Custom message to show when live chat is unavailable on unavailableDates."}},"required":["systemName","status","limitUnavailableDates","unavailableDates","unavailableDatesMessage"]},"LiveChatWidgetButtonExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["automatic","on_hover"]},"type":{"type":"string","enum":["icon_only","text_only","icon_and_text"]},"borderRadius":{"type":"string","enum":["0px","8px","100%"]},"size":{"type":"string","description":"Launcher size in pixels "},"selectedTheme":{"type":"string","enum":["light","dark","system"],"description":"Light, dark, or system color resolution for the launcher. Required when launcherTheme is custom."},"lightThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"darkThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"launcherAttentionEffect":{"type":"string","enum":["none","pulse"]},"launcherTheme":{"type":"string","enum":["default","solid","gradient","glassmorphism","custom"]},"logoFit":{"type":"string","enum":["cover","contain"]},"launcherTeaser":{"type":"string","enum":["suggestions","proactive","none"]},"proactiveBubble":{"description":"Proactive teaser (when launcherTeaser is proactive).","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetProactiveBubbleExternalDTO"}]}},"required":["mode","type","borderRadius","size","lightThemeConfig","darkThemeConfig","launcherAttentionEffect","launcherTheme","logoFit","launcherTeaser"]},"LiveChatWidgetButtonThemeExternalDTO":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Launcher button background color (hex)."},"textColor":{"type":"string","description":"Launcher button text and icon color (hex)."}},"required":["backgroundColor","textColor"]},"LiveChatWidgetProactiveBubbleExternalDTO":{"type":"object","properties":{"message":{"type":"string","description":"Proactive teaser copy (when launcherTeaser is proactive)."},"delaySeconds":{"type":"number","description":"Delay in seconds before the proactive teaser (0–3600)."}},"required":["message","delaySeconds"]},"LiveChatLinkExternalDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]},"SmsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"phoneNumber":{"type":"string","description":"Phone number associated with the sms skill."},"defaultSmsIntroduction":{"type":"object","description":"Default SMS introduction."},"smsSignature":{"type":"object","description":"SMS signature."},"responseDelaySeconds":{"type":"object","description":"Delay in seconds before sending an SMS response (0–3600).","nullable":true}},"required":["systemName","status","phoneNumber"]},"EmailSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"email":{"type":"string","description":"Email address associated with the email skill."},"senderName":{"type":"string","description":"Name of the email sender."},"defaultSubject":{"type":"string","description":"Email subject."},"defaultEmailIntroduction":{"type":"string","description":"Default email introduction."},"emailSignature":{"type":"string","description":"Default email closing."},"responseDelaySeconds":{"type":"object","description":"Delay in seconds before sending an email response (0–3600).","nullable":true}},"required":["systemName","status","email"]},"WebhookSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"name":{"type":"string","description":"Webhook skill name."},"description":{"type":"string","description":"Webhook skill description."},"webhooks":{"description":"Webhook configs.","type":"array","items":{"$ref":"#/components/schemas/WebhookResponseDTO"}}},"required":["systemName","status","name","description","webhooks"]},"WebhookResponseDTO":{"type":"object","properties":{"status":{"type":"string","description":"Status of the webhook.","enum":["active","inactive"]},"title":{"type":"string","description":"Webhook title."},"description":{"type":"string","description":"Webhook description."},"url":{"type":"string","description":"Webhook URL."},"triggerCondition":{"type":"string","description":"Webhook trigger condition.","enum":["each_message","end_dialog","start_dialog","chat_currently_unavailable","auto_archive_conversation","manual"]},"headers":{"type":"object","description":"Webhook headers."}},"required":["status","title","description","url","triggerCondition"]},"FunctionsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]},"ScoringSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"scoringPrompt":{"type":"string","description":"Scoring prompt."}},"required":["systemName","status"]},"APISkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"apiKey":{"type":"string","description":"API key for the skill.","format":"uuid"}},"required":["systemName","status","apiKey"]},"VoiceSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"vApiAssistantId":{"type":"string","description":"Vapi assistant id."},"vApiPhoneNumberId":{"type":"string","description":"Vapi phone number id."}},"required":["systemName","status","vApiAssistantId","vApiPhoneNumberId"]},"MemorySkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"type":{"type":"string","enum":["BY_USER","BY_AGENT"],"description":"Memory skill type."},"retentionDuration":{"type":"number","description":"Retention duration."}},"required":["systemName","status","type","retentionDuration"]},"ReportSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"frequency":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY"],"description":"Agent report frequency."},"emails":{"description":"Agent report emails.","type":"array","items":{"type":"string"}}},"required":["systemName","status","frequency","emails"]},"ScrapingSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"scrapingConfigs":{"description":"Agent scraping configs.","type":"array","items":{"$ref":"#/components/schemas/ScrapingConfigResponseDTO"}}},"required":["systemName","status","scrapingConfigs"]},"ScrapingConfigResponseDTO":{"type":"object","properties":{"url":{"type":"string","description":"Scraping url."},"startCrawledAt":{"format":"date-time","type":"string","description":"Start crawled at.","nullable":true},"endCrawledAt":{"format":"date-time","type":"string","description":"End crawled at.","nullable":true},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"],"description":"Crawler type."},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"],"description":"Crawl format."},"excludeUrls":{"description":"Excluded urls.","nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number","description":"Page limit."},"maxDepth":{"type":"number","description":"Max depth."},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"],"description":"Scraping frequency."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"crawlingStatus":{"type":"string","enum":["not_started","in_progress","completed","failed","canceled"],"description":"Crawling status."}},"required":["url","startCrawledAt","endCrawledAt","crawlerType","crawlFormat","excludeUrls","pageLimit","maxDepth","frequency","autoUpload","crawlingStatus"]},"NotificationSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]}},"required":["systemName","status"]},"ExternalRetrieversSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"externalRetrievers":{"description":"External retrievers.","type":"array","items":{"$ref":"#/components/schemas/ExternalRetrieverResponseDTO"}}},"required":["systemName","status","externalRetrievers"]},"ExternalRetrieverResponseDTO":{"type":"object","properties":{"name":{"type":"string","description":"Retriever name."},"type":{"type":"string","enum":["pinecone"],"description":"Retriever type."},"status":{"type":"string","enum":["active","inactive"],"description":"Retriever status."},"config":{"description":"Retriever config.","allOf":[{"$ref":"#/components/schemas/ExternalRetrieverConfig"}]}},"required":["name","type","status","config"]},"ExternalRetrieverConfig":{"type":"object","properties":{"apiKey":{"type":"string","description":"External retriever API key."},"indexName":{"type":"string","description":"External retriever index name."},"host":{"type":"string","description":"External retriever host."},"fieldName":{"type":"string","description":"External retriever field name."},"namespace":{"type":"string","description":"External retriever namespace."},"topK":{"type":"number","description":"External retriever topK."},"isEmbedded":{"type":"boolean","description":"External retriever is embedded."},"dimensions":{"type":"number","description":"External retriever dimensions."},"model":{"type":"string","enum":["text-embedding-ada-002","text-embedding-3-large","text-embedding-3-small"],"description":"External retriever model."}},"required":["apiKey","indexName","host","fieldName","namespace","topK","isEmbedded"]},"WebSearchSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"webSearchServiceType":{"type":"string","enum":["openai"],"description":"Web search service."},"prompt":{"type":"string","description":"Web search prompt."}},"required":["systemName","status","webSearchServiceType","prompt"]},"FeedbackSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"period":{"type":"string","enum":["last_30_days","last_60_days","last_90_days","all_time"],"description":"Feedback period."},"autoUpload":{"type":"boolean","description":"Is auto upload enabled."},"generationMode":{"type":"string","enum":["manual","auto"],"description":"Feedback generation mode."}},"required":["systemName","status","period","autoUpload","generationMode"]},"EscalationSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"escalations":{"description":"Escalations.","type":"array","items":{"$ref":"#/components/schemas/EscalationResponseDTO"}}},"required":["systemName","status","escalations"]},"EscalationResponseDTO":{"type":"object","properties":{"topic":{"type":"string","description":"Escalation topic."},"escalationPrompt":{"type":"string","description":"Escalation prompt."},"autoChangeConversationMode":{"type":"boolean","description":"Is auto change conversation mode to manual enabled?"},"response":{"type":"string","description":"Message to the user in case of escalation."},"recipients":{"description":"Send notification to the recipients in case of escalation.","type":"array","items":{"$ref":"#/components/schemas/EscalationRecipientsResponseDTO"}}},"required":["topic","escalationPrompt","autoChangeConversationMode","response","recipients"]},"EscalationRecipientsResponseDTO":{"type":"object","properties":{"channel":{"type":"string","enum":["sms","email","webhook"],"description":"Notification channel."},"value":{"type":"string","description":"Notification recipient."},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"}},"required":["channel","value"]},"CalendarSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"oneOf":[{"$ref":"#/components/schemas/CalCalendarConfig"}],"discriminator":{"propertyName":"type","mapping":{"cal":"#/components/schemas/CalCalendarConfig"}},"allOf":[{"$ref":"#/components/schemas/CalCalendarConfig"}]}},"required":["systemName","status","config"]},"CalCalendarConfig":{"type":"object","properties":{"type":{"type":"string","enum":["cal"],"description":"Calendar type."},"apiKey":{"type":"string","description":"Cal calendar API key."},"prompt":{"type":"string","description":"Cal calendar prompt."}},"required":["type","apiKey","prompt"]},"DataRetentionSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"retentionDays":{"type":"number","description":"Retention days."},"anonymizeConversations":{"type":"boolean","description":"Anonymize conversations."},"anonymizeConversationUsers":{"type":"boolean","description":"Anonymize conversation users."}},"required":["systemName","status","retentionDays","anonymizeConversations","anonymizeConversationUsers"]},"MsTeamsSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"description":"Microsoft Teams skill configuration.","allOf":[{"$ref":"#/components/schemas/MsTeamsSkillConfigExternalDTO"}]}},"required":["systemName","status","config"]},"MsTeamsSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Microsoft Teams."},"tenants":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTenantConfigExternalDTO"}}},"required":["isFileUploadEnabled","tenants"]},"MsTeamsTenantConfigExternalDTO":{"type":"object","properties":{"tenantId":{"type":"string","description":"Microsoft Entra tenant GUID."},"enabled":{"type":"boolean","description":"Whether this tenant is enabled for the MS Teams skill. When false, inbound Teams messages for this tenant are blocked."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/MsTeamsTeamConfigExternalDTO"}},"users":{"$ref":"#/components/schemas/MsTeamsUserScopeExternalDTO"}},"required":["tenantId","enabled","teams","users"]},"MsTeamsTeamConfigExternalDTO":{"type":"object","properties":{"teamId":{"type":"string","description":"Microsoft Teams team ID."},"channels":{"$ref":"#/components/schemas/MsTeamsChannelScopeExternalDTO"}},"required":["teamId","channels"]},"MsTeamsChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Channel IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","channelIds"]},"MsTeamsUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users; CUSTOM = only listed userIds."},"userIds":{"description":"User IDs the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}}},"required":["mode","userIds"]},"SlackSkillResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"config":{"description":"Slack skill configuration.","allOf":[{"$ref":"#/components/schemas/SlackSkillConfigExternalDTO"}]}},"required":["systemName","status","config"]},"SlackSkillConfigExternalDTO":{"type":"object","properties":{"isFileUploadEnabled":{"type":"boolean","description":"Whether users can send file attachments to this agent through Slack."},"workspaces":{"description":"Per-workspace Slack routing scope for this agent.","type":"array","items":{"$ref":"#/components/schemas/SlackWorkspaceConfigExternalDTO"}}},"required":["isFileUploadEnabled","workspaces"]},"SlackWorkspaceConfigExternalDTO":{"type":"object","properties":{"slackTeamId":{"type":"string","description":"Slack workspace id (`T…`). Matches inbound `team_id`."},"enabled":{"type":"boolean","description":"Whether this workspace is enabled for the Slack skill. When false, inbound Slack messages for this workspace are blocked."},"channels":{"$ref":"#/components/schemas/SlackChannelScopeExternalDTO"},"users":{"$ref":"#/components/schemas/SlackUserScopeExternalDTO"}},"required":["slackTeamId","enabled","channels","users"]},"SlackChannelScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds in all channels; CUSTOM = only listed channelIds."},"channelIds":{"description":"Slack channel IDs (C…) the agent is enabled for (only used when mode is CUSTOM).","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","channelIds","requireKnownRaiaUser"]},"SlackUserScopeExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["ALL_ENABLED","CUSTOM"],"description":"ALL_ENABLED = agent responds to all users in DMs/group DMs; CUSTOM = only listed userIds."},"userIds":{"description":"Slack user IDs (U…) the agent is enabled for (only used when mode is CUSTOM). Applies to DMs and group DMs.","type":"array","items":{"type":"string"}},"requireKnownRaiaUser":{"type":"boolean","description":"When true, only respond to senders whose Slack email maps to a Raia user."}},"required":["mode","userIds","requireKnownRaiaUser"]}}}}
```

## The ExternalApiGetAgentStatisticResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiGetAgentStatisticResponseDTO":{"type":"object","properties":{"tokensUsed":{"type":"number","description":"Total number of tokens used by the agent in the given period."},"tokensPerConversation":{"type":"number","description":"Number of tokens per conversations by the agent in the given period."},"vapiSecondsUsed":{"type":"number","description":"Total number of vapi seconds used by the agent in the given period."},"averageCallDuration":{"type":"number","description":"Number of vapi seconds per conversations by the agent in the given period."},"smsUsed":{"type":"number","description":"Total number of sms used by the agent in the given period."},"smsPerConversation":{"type":"number","description":"Number of sms per conversations by the agent in the given period."},"emailsUsed":{"type":"number","description":"Total number of emails used by the agent in the given period."},"emailsPerConversation":{"type":"number","description":"Number of emails per conversations by the agent in the given period."}},"required":["tokensUsed","tokensPerConversation","vapiSecondsUsed","averageCallDuration","smsUsed","smsPerConversation","emailsUsed","emailsPerConversation"]}}}}
```

## The CreateAgentWebhookBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentWebhookBodyDTO":{"type":"object","properties":{"title":{"type":"string","description":"Title of the webhook"},"description":{"type":"string","description":"Description of the webhook"},"url":{"type":"string","description":"Public HTTPS URL where the webhook will be sent. Local, private, reserved, and metadata-service addresses are not allowed."},"triggerCondition":{"type":"string","description":"Condition that triggers the webhook","enum":["each_message","end_dialog","start_dialog","chat_currently_unavailable","auto_archive_conversation","manual"]},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"}},"required":["title","description","url","triggerCondition"]}}}}
```

## The CreateAgentWebhookResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentWebhookResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"ID of the created webhook"},"agentId":{"type":"string","description":"ID of the agent this webhook belongs to"},"title":{"type":"string","description":"Title of the webhook"},"description":{"type":"string","description":"Description of the webhook"},"url":{"type":"string","description":"URL where the webhook will be sent"},"triggerCondition":{"type":"string","description":"Condition that triggers the webhook","enum":["each_message","end_dialog","start_dialog","chat_currently_unavailable","auto_archive_conversation","manual"]},"headers":{"type":"object","description":"Optional headers to be sent with the webhook"},"status":{"type":"string","description":"Status of the webhook","enum":["active","inactive"]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"}},"required":["id","agentId","title","description","url","triggerCondition","status","createdAt","updatedAt"]}}}}
```

## The AgentLimitsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentLimitsResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the agent limits","format":"uuid"},"agentId":{"type":"string","description":"Unique identifier for the agent","format":"uuid"},"isOrganizationDefault":{"type":"boolean","description":"Whether the agent limits are organization defaults"},"tokensAmountPerMonth":{"type":"number","description":"Tokens amount per month"},"smsAmountPerMonth":{"type":"number","description":"SMS amount per month"},"emailsAmountPerMonth":{"type":"number","description":"Emails amount per month"},"secondsAmountPerMonth":{"type":"number","description":"Seconds amount per month"}},"required":["id","agentId","isOrganizationDefault","tokensAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","secondsAmountPerMonth"]}}}}
```

## The CreateAgentLimitsBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentLimitsBodyDTO":{"type":"object","properties":{"tokensAmountPerMonth":{"type":"number","description":"Tokens amount per month"},"smsAmountPerMonth":{"type":"number","description":"SMS amount per month"},"emailsAmountPerMonth":{"type":"number","description":"Emails amount per month"},"secondsAmountPerMonth":{"type":"number","description":"Seconds amount per month"}},"required":["tokensAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","secondsAmountPerMonth"]}}}}
```

## The UpdateAgentLimitsBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateAgentLimitsBodyDTO":{"type":"object","properties":{"tokensAmountPerMonth":{"type":"number","description":"Tokens amount per month"},"smsAmountPerMonth":{"type":"number","description":"SMS amount per month"},"emailsAmountPerMonth":{"type":"number","description":"Emails amount per month"},"secondsAmountPerMonth":{"type":"number","description":"Seconds amount per month"}}}}}}
```

## The AgentUsageResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentUsageResponseDTO":{"type":"object","properties":{"emailsAmount":{"type":"number","description":"Emails amount"},"smsAmount":{"type":"number","description":"SMS amount"},"tokensAmount":{"type":"number","description":"Tokens amount"},"secondsAmount":{"type":"number","description":"Seconds amount"}},"required":["emailsAmount","smsAmount","tokensAmount","secondsAmount"]}}}}
```

## The UpdateAgentByApiKeyBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateAgentByApiKeyBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Name of the agent."},"publicName":{"type":"string","description":"Public name of the agent."},"description":{"type":"string","description":"Description of the agent."},"tags":{"description":"Tags of the agent.","type":"array","items":{"type":"string"}},"avatarUrl":{"type":"string","description":"Avatar URL of the agent."},"backgroundUrl":{"type":"string","description":"Background URL of the agent."},"status":{"type":"string","enum":["active","inactive","draft"],"description":"Status of the agent."},"instructions":{"type":"string","description":"Instructions of the agent."},"model":{"type":"string","enum":["gpt-4.1","gpt-4.1-nano","gpt-4.1-mini","gpt-3.5-turbo","o3-mini","gpt-5-nano","gpt-5","gpt-5-mini","gpt-5.1","gpt-5.2","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.5","gpt-5.6","gpt-5.6-terra","gpt-5.6-luna"],"description":"Model of the agent."},"topP":{"type":"number","description":"TopP of the agent."},"temperature":{"type":"number","description":"Temperature of the agent."},"reasoningEffort":{"type":"string","enum":["low","medium","high","xhigh","minimal","none","max"],"description":"Reasoning effort of the agent."},"reasoningMode":{"type":"string","enum":["standard","pro"],"description":"Reasoning mode of the agent."},"defaultErrorMessage":{"type":"string","description":"Default error message of the agent."},"isFileSearchEnabled":{"type":"boolean","description":"Is file search enabled."},"isCodeInterpreterEnabled":{"type":"boolean","description":"Is code interpreter enabled."},"fileSearchMaxNumResults":{"type":"number","description":"File search max number of results. Required when isFileSearchEnabled is true."},"isOutputJsonSchemaEnabled":{"type":"boolean","description":"Is output JSON schema enabled."},"outputJsonSchema":{"type":"string","description":"Output JSON schema of the agent."},"restrictDocumentsToOwnerOnly":{"type":"boolean","description":"Restrict documents to owner only."}},"required":["outputJsonSchema"]}}}}
```

## The AgentScrapResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentScrapResponseDTO":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"]},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"]},"excludeUrls":{"nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number"},"maxDepth":{"type":"number"},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"]},"autoUpload":{"type":"boolean"},"crawlingStatus":{"type":"string","enum":["not_started","in_progress","completed","failed","canceled"]},"startCrawledAt":{"type":"object","nullable":true},"endCrawledAt":{"type":"object","nullable":true},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","url","crawlerType","crawlFormat","excludeUrls","pageLimit","maxDepth","frequency","autoUpload","crawlingStatus","startCrawledAt","endCrawledAt","createdAt","updatedAt"]}}}}
```

## The CreateAgentScrapBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentScrapBodyDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL to crawl. Must be a publicly reachable http(s) URL; private, loopback, link-local, and metadata hosts are rejected."},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"],"description":"Crawler engine to use.","default":"FIRECRAWL"},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"],"description":"Output format for crawled content.","default":"MARKDOWN"},"excludeUrls":{"description":"URL patterns to exclude from the crawl.","nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number","description":"Maximum number of pages to crawl.","minimum":1,"maximum":3000,"default":10},"maxDepth":{"type":"number","description":"Maximum link depth to follow from the root URL.","minimum":1,"maximum":5,"default":2},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"],"description":"How often to automatically re-crawl the URL.","default":"daily"},"autoUpload":{"type":"boolean","description":"When true, crawled content is automatically uploaded to the agent knowledge base after each crawl.","default":true}},"required":["url"]}}}}
```

## The UpdateAgentScrapBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateAgentScrapBodyDTO":{"type":"object","properties":{"url":{"type":"string","description":"URL to crawl. Changing this triggers a new crawl immediately. Must be a publicly reachable http(s) URL; private, loopback, link-local, and metadata hosts are rejected."},"crawlerType":{"type":"string","enum":["FIRECRAWL","APIFY"],"description":"Crawler engine to use."},"crawlFormat":{"type":"string","enum":["JSON","MARKDOWN","HTML","CONTENT"],"description":"Output format for crawled content."},"excludeUrls":{"description":"URL patterns to exclude from the crawl. Set to null to clear existing patterns.","nullable":true,"type":"array","items":{"type":"string"}},"pageLimit":{"type":"number","description":"Maximum number of pages to crawl.","minimum":1,"maximum":3000},"maxDepth":{"type":"number","description":"Maximum link depth to follow from the root URL.","minimum":1,"maximum":5},"frequency":{"type":"string","enum":["manual","daily","weekly","monthly"],"description":"How often to automatically re-crawl the URL."},"autoUpload":{"type":"boolean","description":"When true, crawled content is automatically uploaded to the agent knowledge base after each crawl."}}}}}}
```

## The CreateAgentApiKeyBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentApiKeyBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label for the API key."},"expiresAt":{"type":"string","description":"Expiry date in ISO 8601 format (YYYY-MM-DD)."}},"required":["name","expiresAt"]}}}}
```

## The CreateAgentApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentApiKeyResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the API key."},"name":{"type":"string","description":"Label for the API key."},"keyPreview":{"type":"string","description":"Masked preview of the API key. The full key is only returned when the key is created or rotated."},"status":{"type":"string","enum":["active","expired","revoked"],"description":"Current status of the API key."},"expiresAt":{"type":"string","nullable":true,"description":"Expiry date of the API key (YYYY-MM-DD). Null if the key does not expire."},"revokedAt":{"type":"string","nullable":true,"description":"Timestamp when the API key was revoked. Null if the key is still active."},"createdAt":{"type":"string","description":"Timestamp when the API key was created."},"agentApiKey":{"type":"string","description":"The full API key. This value is returned only once — at creation or rotation. Store it securely; it cannot be retrieved again."}},"required":["id","name","keyPreview","status","expiresAt","revokedAt","createdAt","agentApiKey"]}}}}
```

## The AgentApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentApiKeyResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the API key."},"name":{"type":"string","description":"Label for the API key."},"keyPreview":{"type":"string","description":"Masked preview of the API key. The full key is only returned when the key is created or rotated."},"status":{"type":"string","enum":["active","expired","revoked"],"description":"Current status of the API key."},"expiresAt":{"type":"string","nullable":true,"description":"Expiry date of the API key (YYYY-MM-DD). Null if the key does not expire."},"revokedAt":{"type":"string","nullable":true,"description":"Timestamp when the API key was revoked. Null if the key is still active."},"createdAt":{"type":"string","description":"Timestamp when the API key was created."}},"required":["id","name","keyPreview","status","expiresAt","revokedAt","createdAt"]}}}}
```

## The UploadAgentFileBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UploadAgentFileBodyDTO":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The file to upload"},"autoAddToVectorStore":{"type":"boolean","description":"Indicates whether to automatically add the file to the vector store."}},"required":["file"]}}}}
```

## The UploadAgentFileResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UploadAgentFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the agent file","format":"uuid"},"fileName":{"type":"string","description":"Name of the agent file"},"url":{"type":"string","description":"URL of the agent file"},"createdAt":{"type":"string","description":"Creation date of the agent file","format":"date-time"},"vectorStoreFileId":{"type":"string","description":"Unique identifier for the vector store file"},"isUploadedToVectorStore":{"type":"boolean","description":"Indicates the file’s upload status to the vector store. A null value suggests a possible vector store error.","nullable":true},"vectorStoreUploadStatus":{"type":"string","enum":["processing","done","failed"],"description":"Lifecycle status of the file upload to the OpenAI vector store. `null` means not uploaded, `processing` means an upload is in progress, `done` means the upload is complete.","nullable":true},"uploadedToVectorStoreAt":{"type":"string","description":"Date when the file was uploaded to the vector store","format":"date-time"}},"required":["id","fileName","url","createdAt"]}}}}
```

## The GetAgentFilesByApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentFilesByApiKeyResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the agent file","format":"uuid"},"fileName":{"type":"string","description":"Name of the agent file"},"url":{"type":"string","description":"URL of the agent file"},"createdAt":{"type":"string","description":"Creation date of the agent file","format":"date-time"},"vectorStoreFileId":{"type":"string","description":"Unique identifier for the vector store file"},"isUploadedToVectorStore":{"type":"boolean","description":"Indicates the file’s upload status to the vector store. A null value suggests a possible vector store error.","nullable":true},"vectorStoreUploadStatus":{"type":"string","enum":["processing","done","failed"],"description":"Lifecycle status of the file upload to the OpenAI vector store. `null` means not uploaded, `processing` means an upload is in progress, `done` means the upload is complete.","nullable":true},"uploadedToVectorStoreAt":{"type":"string","description":"Date when the file was uploaded to the vector store","format":"date-time"}},"required":["id","fileName","url","createdAt"]}}}}
```

## The DeleteAgentFilesBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"DeleteAgentFilesBodyDTO":{"type":"object","properties":{"fileIds":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["fileIds"]}}}}
```

## The AgentFunctionResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentFunctionResponseDTO":{"type":"object","properties":{"id":{"type":"string"},"agentId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"definition":{"type":"object","description":"JSON Schema for the function parameters."},"headersConfigured":{"type":"boolean","description":"Whether custom headers are configured on this function. Header values are never returned."},"status":{"type":"string","enum":["active","inactive"]},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","agentId","name","description","url","definition","headersConfigured","status","createdAt","updatedAt"]}}}}
```

## The CreateAgentFunctionBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentFunctionBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Display name for the function."},"internalName":{"type":"string","description":"Stable internal identifier the agent runtime uses to reference this function. Must be unique per agent and match /[a-zA-Z0-9_-]/, max 64 characters. Unlike the display name it is not derived and does not change when the name changes."},"description":{"type":"string","description":"Human-readable description of what the function does. The agent uses this to decide when to call it."},"url":{"type":"string","description":"HTTPS URL the agent will POST to when invoking this function."},"definition":{"type":"object","description":"JSON Schema object defining the parameters the agent sends when calling this function. Must be a valid JSON Schema (type: object with properties)."},"headers":{"type":"object","description":"HTTP headers sent with every function call. Values are write-only — they are never returned in GET responses. Use for auth tokens or shared secrets."},"status":{"type":"string","enum":["active","inactive"],"description":"Initial status of the function.","default":"active"}},"required":["name","internalName","description","url","definition"]}}}}
```

## The UpdateAgentFunctionBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateAgentFunctionBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Display name for the function."},"internalName":{"type":"string","description":"Stable internal identifier for the function. Must be unique per agent and match /[a-zA-Z0-9_-]/, max 64 characters."},"description":{"type":"string","description":"Description of what the function does."},"url":{"type":"string","description":"HTTPS URL the agent will POST to."},"definition":{"type":"object","description":"JSON Schema for function parameters."},"headers":{"type":"object","description":"Replaces all existing headers. Pass an empty object {} to clear headers. Values are write-only and never returned in GET responses."},"status":{"type":"string","enum":["active","inactive"]}}}}}}
```

## The AgentLiveChatResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentLiveChatResponseDTO":{"type":"object","properties":{"systemName":{"type":"string","description":"System name of the skill.","enum":["LIVE_CHAT","SMS","EMAIL","WEBHOOK","FUNCTION","SCORING","API","VOICE","MEMORY","AGENT_REPORT","SCRAPING","NOTIFICATIONS","EXTERNAL_RETRIEVERS","WEB_SEARCH","FEEDBACK","ESCALATION","CALENDAR","AUDITOR","COPILOT","MCP","ENHANCED_PROMPTING","SLACK","DATA_RETENTION","ORCHESTRATOR","MS_TEAMS","MESSAGE_QUOTA"]},"status":{"type":"string","description":"Status of the email skill.","enum":["active","inactive"]},"color":{"type":"string","description":"Color of the chat widget."},"widgetButtonConfig":{"description":"Embedded chat launcher (widget button) settings with legacy fields normalized.","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetButtonExternalDTO"}]},"titleLine1":{"type":"string","description":"First line of the chat widget title."},"titleLine2":{"type":"string","description":"Second line of the chat widget title."},"intro":{"type":"string","description":"Default introduction message (same as titleLine2; kept for backwards compatibility)."},"links":{"description":"List of links to be displayed in the chat widget.","type":"array","items":{"$ref":"#/components/schemas/LiveChatLinkExternalDTO"}},"disclaimer":{"type":"string","description":"Disclaimer message."},"chatFooterContent":{"type":"string","description":"Chat footer content below the input (e.g. privacy policy)"},"suggestions":{"description":"List of suggestions for the chat widget.","type":"array","items":{"type":"string"}},"whitelistedIps":{"description":"List of IP addresses that are whitelisted.","type":"array","items":{"type":"string"}},"restrictedCountries":{"description":"List of countries that are restricted.","type":"array","items":{"type":"string"}},"limitUnavailableDates":{"type":"boolean","description":"Whether live chat should be unavailable on the configured unavailableDates (YYYY-MM-DD)."},"unavailableDates":{"description":"Dates (YYYY-MM-DD) when live chat is unavailable (e.g. holidays, maintenance).","type":"array","items":{"type":"string"}},"unavailableDatesMessage":{"type":"string","description":"Custom message to show when live chat is unavailable on unavailableDates."},"agentId":{"type":"string","description":"Unique identifier of the agent."},"embedKey":{"type":"string","description":"Public, non-secret identifier used to embed the live chat widget on a website. Safe to include in client-side code. Generated the first time the skill is configured."},"welcomeMessage":{"type":"string","description":"Welcome message shown when the chat widget opens."},"avatarUrl":{"type":"string","description":"Avatar image URL for the chat widget.","nullable":true}},"required":["systemName","status","limitUnavailableDates","unavailableDates","unavailableDatesMessage","agentId","embedKey"]},"LiveChatWidgetButtonExternalDTO":{"type":"object","properties":{"mode":{"type":"string","enum":["automatic","on_hover"]},"type":{"type":"string","enum":["icon_only","text_only","icon_and_text"]},"borderRadius":{"type":"string","enum":["0px","8px","100%"]},"size":{"type":"string","description":"Launcher size in pixels "},"selectedTheme":{"type":"string","enum":["light","dark","system"],"description":"Light, dark, or system color resolution for the launcher. Required when launcherTheme is custom."},"lightThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"darkThemeConfig":{"$ref":"#/components/schemas/LiveChatWidgetButtonThemeExternalDTO"},"launcherAttentionEffect":{"type":"string","enum":["none","pulse"]},"launcherTheme":{"type":"string","enum":["default","solid","gradient","glassmorphism","custom"]},"logoFit":{"type":"string","enum":["cover","contain"]},"launcherTeaser":{"type":"string","enum":["suggestions","proactive","none"]},"proactiveBubble":{"description":"Proactive teaser (when launcherTeaser is proactive).","allOf":[{"$ref":"#/components/schemas/LiveChatWidgetProactiveBubbleExternalDTO"}]}},"required":["mode","type","borderRadius","size","lightThemeConfig","darkThemeConfig","launcherAttentionEffect","launcherTheme","logoFit","launcherTeaser"]},"LiveChatWidgetButtonThemeExternalDTO":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Launcher button background color (hex)."},"textColor":{"type":"string","description":"Launcher button text and icon color (hex)."}},"required":["backgroundColor","textColor"]},"LiveChatWidgetProactiveBubbleExternalDTO":{"type":"object","properties":{"message":{"type":"string","description":"Proactive teaser copy (when launcherTeaser is proactive)."},"delaySeconds":{"type":"number","description":"Delay in seconds before the proactive teaser (0–3600)."}},"required":["message","delaySeconds"]},"LiveChatLinkExternalDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]}}}}
```

## The LiveChatLinkBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LiveChatLinkBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]}}}}
```

## The UpdateAgentLiveChatBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateAgentLiveChatBodyDTO":{"type":"object","properties":{"titleLine1":{"type":"string","description":"First line of the chat widget title."},"titleLine2":{"type":"string","description":"Second line of the chat widget title."},"welcomeMessage":{"type":"string","description":"Welcome message shown when the chat widget opens."},"avatarStoragePath":{"type":"string","description":"Storage path returned by the image upload-url endpoint. The API converts it to a public URL before saving the live chat configuration. Pass null to remove the avatar.","nullable":true},"color":{"type":"string","description":"Primary color of the chat widget."},"disclaimer":{"type":"string","description":"Disclaimer message shown in the widget."},"chatFooterContent":{"type":"string","description":"Chat footer content below the input (e.g. privacy policy)."},"suggestions":{"description":"Suggested prompts shown in the widget.","type":"array","items":{"type":"string"}},"links":{"description":"Links displayed in the chat widget. Pass an empty array to remove all links.","type":"array","items":{"$ref":"#/components/schemas/LiveChatLinkBodyDTO"}},"whitelistedIps":{"description":"Whitelisted IP addresses.","type":"array","items":{"type":"string"}},"restrictedCountries":{"description":"Restricted country codes.","type":"array","items":{"type":"string"}},"limitUnavailableDates":{"type":"boolean","description":"Whether live chat should be unavailable on unavailableDates."},"unavailableDates":{"description":"Dates (YYYY-MM-DD) when live chat is unavailable.","type":"array","items":{"type":"string"}},"unavailableDatesMessage":{"type":"string","description":"Message shown when live chat is unavailable on unavailableDates."}}},"LiveChatLinkBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Label displayed for the link."},"url":{"type":"string","description":"Absolute URL opened when the link is selected."}},"required":["name","url"]}}}}
```

## The CreateAgentImageUploadUrlBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateAgentImageUploadUrlBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"Name of the file to upload."},"contentType":{"type":"string","enum":["image/png","image/jpeg","image/gif","image/webp"],"description":"MIME type of the file to upload."}},"required":["fileName","contentType"]}}}}
```

## The AgentImageUploadUrlResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"AgentImageUploadUrlResponseDTO":{"type":"object","properties":{"signedUrl":{"type":"string","description":"Signed URL to PUT the file contents to."},"storagePath":{"type":"string","description":"Storage path for the uploaded file. Supply this as avatarStoragePath to the live chat update endpoint once the upload completes."}},"required":["signedUrl","storagePath"]}}}}
```

## The CreateResourceUsageLogsBodyDto object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateResourceUsageLogsBodyDto":{"type":"object","properties":{"type":{"type":"string","enum":["LLM_TOKENS","VAPI_SECONDS"],"description":"The type of resource consumed"},"amount":{"type":"number","description":"The amount of resource consumed."},"inputTokens":{"type":"number","description":"Number of input tokens consumed."},"outputTokens":{"type":"number","description":"Number of output tokens consumed."},"reasoningTokens":{"type":"number","description":"Number of reasoning tokens included in the output."},"modelProvider":{"type":"string","description":"Provider of the model used for the request.","nullable":true},"model":{"type":"string","description":"Model used for the request.","nullable":true},"reasoningEffort":{"type":"string","description":"Reasoning effort used for the request.","nullable":true},"reasoningMode":{"type":"string","description":"Reasoning mode used for the request.","nullable":true}},"required":["type","amount"]}}}}
```

## The GetAgentRoleByApiKeyResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentRoleByApiKeyResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the agent role.","format":"uuid"},"name":{"type":"string","description":"Name of the agent role."},"description":{"type":"string","description":"Description of the agent role."}},"required":["id","name","description"]}}}}
```

## The ExternalApiCreatedByDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiCreatedByDTO":{"type":"object","properties":{"id":{"type":"string","description":"ID of the creator.","format":"uuid"},"email":{"type":"string","description":"Email of the creator."},"firstName":{"type":"string","description":"First name of the creator."},"lastName":{"type":"string","description":"Last name of the creator."}},"required":["id","email","firstName","lastName"]}}}}
```

## The ExternalApiSubscriptionResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiSubscriptionResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID.","format":"uuid"},"title":{"type":"string","description":"Subscription title."},"description":{"type":"string","description":"Subscription description."},"agentsAmount":{"type":"number","description":"Number of agents in the subscription."},"tokensAmountPerMonth":{"type":"number","description":"OpenAI tokens amount in the subscription."},"secondsAmountPerMonth":{"type":"number","description":"Vapi seconds amount in the subscription."},"smsAmountPerMonth":{"type":"number","description":"Number of SMS in the subscription."},"emailsAmountPerMonth":{"type":"number","description":"Number of Emails in the subscription."},"usersWithAccessAmount":{"type":"number","description":"Number of users in organizations."},"status":{"type":"string","enum":["active","inactive"],"description":"Subscription status."},"visibility":{"type":"string","enum":["public","private"],"description":"Subscription visibility."},"isTrial":{"type":"boolean","description":"True if subscription is trial."},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"organizationsCount":{"type":"number","description":"Number of organizations with current subscription."},"price":{"type":"number","description":"Subscription in cent."}},"required":["id","title","description","agentsAmount","tokensAmountPerMonth","secondsAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","usersWithAccessAmount","status","visibility","isTrial","createdBy","createdAt","updatedAt","organizationsCount","price"]},"ExternalApiCreatedByDTO":{"type":"object","properties":{"id":{"type":"string","description":"ID of the creator.","format":"uuid"},"email":{"type":"string","description":"Email of the creator."},"firstName":{"type":"string","description":"First name of the creator."},"lastName":{"type":"string","description":"Last name of the creator."}},"required":["id","email","firstName","lastName"]}}}}
```

## The ExternalApiOrganizationWithSubscriptionResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiOrganizationWithSubscriptionResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID.","format":"uuid"},"name":{"type":"string","description":"Organization name."},"status":{"type":"string","enum":["active","pending","archived","blocked"],"description":"Organization status."},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"subscription":{"nullable":true,"description":"Organization subscription, or null when the organization has no subscription.","type":"object","allOf":[{"$ref":"#/components/schemas/ExternalApiSubscriptionResponseDTO"}]},"agentsCount":{"type":"number","description":"Number of agents in the organization."}},"required":["id","name","status","createdAt","updatedAt","createdBy","subscription","agentsCount"]},"ExternalApiCreatedByDTO":{"type":"object","properties":{"id":{"type":"string","description":"ID of the creator.","format":"uuid"},"email":{"type":"string","description":"Email of the creator."},"firstName":{"type":"string","description":"First name of the creator."},"lastName":{"type":"string","description":"Last name of the creator."}},"required":["id","email","firstName","lastName"]},"ExternalApiSubscriptionResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID.","format":"uuid"},"title":{"type":"string","description":"Subscription title."},"description":{"type":"string","description":"Subscription description."},"agentsAmount":{"type":"number","description":"Number of agents in the subscription."},"tokensAmountPerMonth":{"type":"number","description":"OpenAI tokens amount in the subscription."},"secondsAmountPerMonth":{"type":"number","description":"Vapi seconds amount in the subscription."},"smsAmountPerMonth":{"type":"number","description":"Number of SMS in the subscription."},"emailsAmountPerMonth":{"type":"number","description":"Number of Emails in the subscription."},"usersWithAccessAmount":{"type":"number","description":"Number of users in organizations."},"status":{"type":"string","enum":["active","inactive"],"description":"Subscription status."},"visibility":{"type":"string","enum":["public","private"],"description":"Subscription visibility."},"isTrial":{"type":"boolean","description":"True if subscription is trial."},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"organizationsCount":{"type":"number","description":"Number of organizations with current subscription."},"price":{"type":"number","description":"Subscription in cent."}},"required":["id","title","description","agentsAmount","tokensAmountPerMonth","secondsAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","usersWithAccessAmount","status","visibility","isTrial","createdBy","createdAt","updatedAt","organizationsCount","price"]}}}}
```

## The ExternalApiGetAllOrganizationsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiGetAllOrganizationsResponseDTO":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page"},"pageSize":{"type":"number","description":"Page size"},"totalItems":{"type":"number","description":"Total items"},"totalPages":{"type":"number","description":"Total pages"},"hasNextPage":{"type":"boolean","description":"Has next page"},"hasPreviousPage":{"type":"boolean","description":"Has previous page"},"data":{"description":"Organizations for the requested page.","type":"array","items":{"$ref":"#/components/schemas/ExternalApiOrganizationWithSubscriptionResponseDTO"}}},"required":["currentPage","pageSize","totalItems","totalPages","hasNextPage","hasPreviousPage","data"]},"ExternalApiOrganizationWithSubscriptionResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID.","format":"uuid"},"name":{"type":"string","description":"Organization name."},"status":{"type":"string","enum":["active","pending","archived","blocked"],"description":"Organization status."},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"subscription":{"nullable":true,"description":"Organization subscription, or null when the organization has no subscription.","type":"object","allOf":[{"$ref":"#/components/schemas/ExternalApiSubscriptionResponseDTO"}]},"agentsCount":{"type":"number","description":"Number of agents in the organization."}},"required":["id","name","status","createdAt","updatedAt","createdBy","subscription","agentsCount"]},"ExternalApiCreatedByDTO":{"type":"object","properties":{"id":{"type":"string","description":"ID of the creator.","format":"uuid"},"email":{"type":"string","description":"Email of the creator."},"firstName":{"type":"string","description":"First name of the creator."},"lastName":{"type":"string","description":"Last name of the creator."}},"required":["id","email","firstName","lastName"]},"ExternalApiSubscriptionResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID.","format":"uuid"},"title":{"type":"string","description":"Subscription title."},"description":{"type":"string","description":"Subscription description."},"agentsAmount":{"type":"number","description":"Number of agents in the subscription."},"tokensAmountPerMonth":{"type":"number","description":"OpenAI tokens amount in the subscription."},"secondsAmountPerMonth":{"type":"number","description":"Vapi seconds amount in the subscription."},"smsAmountPerMonth":{"type":"number","description":"Number of SMS in the subscription."},"emailsAmountPerMonth":{"type":"number","description":"Number of Emails in the subscription."},"usersWithAccessAmount":{"type":"number","description":"Number of users in organizations."},"status":{"type":"string","enum":["active","inactive"],"description":"Subscription status."},"visibility":{"type":"string","enum":["public","private"],"description":"Subscription visibility."},"isTrial":{"type":"boolean","description":"True if subscription is trial."},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"organizationsCount":{"type":"number","description":"Number of organizations with current subscription."},"price":{"type":"number","description":"Subscription in cent."}},"required":["id","title","description","agentsAmount","tokensAmountPerMonth","secondsAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","usersWithAccessAmount","status","visibility","isTrial","createdBy","createdAt","updatedAt","organizationsCount","price"]}}}}
```

## The ExternalApiInviteUserBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiInviteUserBodyDTO":{"type":"object","properties":{"email":{"type":"string","description":"Invited user email.","minLength":4,"maxLength":255},"role":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"description":"Invited user role."}},"required":["email","role"]}}}}
```

## The ExternalApiCreateOrganizationByApiKeyBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiCreateOrganizationByApiKeyBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Organization name.","maxLength":255},"users":{"description":"List of invited users.","type":"array","items":{"$ref":"#/components/schemas/ExternalApiInviteUserBodyDTO"}},"licenseKey":{"type":"string","description":"Organization license key."},"endedAt":{"format":"date-time","type":"string","description":"Subscription end date. Applies if \"subscriptionId\" is specified and this subscription is not a trial."}},"required":["name","users","licenseKey"]},"ExternalApiInviteUserBodyDTO":{"type":"object","properties":{"email":{"type":"string","description":"Invited user email.","minLength":4,"maxLength":255},"role":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"description":"Invited user role."}},"required":["email","role"]}}}}
```

## The ExternalApiGetOrganizationResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiGetOrganizationResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Organization ID.","format":"uuid"},"name":{"type":"string","description":"Organization name."},"status":{"type":"string","enum":["active","pending","archived","blocked"],"description":"Organization status."},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"subscription":{"description":"Organization subscription.","allOf":[{"$ref":"#/components/schemas/ExternalApiSubscriptionResponseDTO"}]}},"required":["id","name","status","createdAt","updatedAt","createdBy","subscription"]},"ExternalApiCreatedByDTO":{"type":"object","properties":{"id":{"type":"string","description":"ID of the creator.","format":"uuid"},"email":{"type":"string","description":"Email of the creator."},"firstName":{"type":"string","description":"First name of the creator."},"lastName":{"type":"string","description":"Last name of the creator."}},"required":["id","email","firstName","lastName"]},"ExternalApiSubscriptionResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Subscription ID.","format":"uuid"},"title":{"type":"string","description":"Subscription title."},"description":{"type":"string","description":"Subscription description."},"agentsAmount":{"type":"number","description":"Number of agents in the subscription."},"tokensAmountPerMonth":{"type":"number","description":"OpenAI tokens amount in the subscription."},"secondsAmountPerMonth":{"type":"number","description":"Vapi seconds amount in the subscription."},"smsAmountPerMonth":{"type":"number","description":"Number of SMS in the subscription."},"emailsAmountPerMonth":{"type":"number","description":"Number of Emails in the subscription."},"usersWithAccessAmount":{"type":"number","description":"Number of users in organizations."},"status":{"type":"string","enum":["active","inactive"],"description":"Subscription status."},"visibility":{"type":"string","enum":["public","private"],"description":"Subscription visibility."},"isTrial":{"type":"boolean","description":"True if subscription is trial."},"createdBy":{"description":"Created by.","allOf":[{"$ref":"#/components/schemas/ExternalApiCreatedByDTO"}]},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"organizationsCount":{"type":"number","description":"Number of organizations with current subscription."},"price":{"type":"number","description":"Subscription in cent."}},"required":["id","title","description","agentsAmount","tokensAmountPerMonth","secondsAmountPerMonth","smsAmountPerMonth","emailsAmountPerMonth","usersWithAccessAmount","status","visibility","isTrial","createdBy","createdAt","updatedAt","organizationsCount","price"]}}}}
```

## The ExternalApiCreateOrganizationByOrganizationApiKeyBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiCreateOrganizationByOrganizationApiKeyBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Name of the new organization.","maxLength":255},"licenseKey":{"type":"string","description":"License key the new organization is created under."},"ownerUserId":{"type":"string","description":"ID of a user in the calling organization who will own the new organization. Defaults to the calling organization creator."}},"required":["name","licenseKey"]}}}}
```

## The ExternalApiCrateOrUpdateConversationMessageFeedbackBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiCrateOrUpdateConversationMessageFeedbackBodyDTO":{"type":"object","properties":{"conversationMessageId":{"type":"string","description":"Unique identifier for the conversation message.","format":"uuid"},"userId":{"type":"string","description":"Unique identifier for the user.","format":"uuid"},"voteType":{"type":"string","enum":["up","down"],"description":"Feedback vote type. Up if feedback is positive"},"question":{"type":"string","description":"Your question."},"answer":{"type":"string","description":"Agent answer."},"comment":{"type":"string","description":"Comment for your feedback."}},"required":["conversationMessageId","userId","voteType","question"]}}}}
```

## The ExternalApiCrateOrUpdateConversationMessageFeedbackResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiCrateOrUpdateConversationMessageFeedbackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the conversation message feedback.","format":"uuid"},"conversationMessageId":{"type":"string","description":"Unique identifier for the conversation message.","format":"uuid"},"voteType":{"type":"string","enum":["up","down"],"description":"Feedback vote type. Up if feedback is positive"},"question":{"type":"string","description":"Your question.","nullable":true},"answer":{"type":"string","description":"Agent answer.","nullable":true},"createdAt":{"type":"string","description":"Feedback created at"},"updatedAt":{"type":"string","description":"Feedback updated at"},"comment":{"type":"string","description":"Comment for your feedback.","nullable":true}},"required":["id","conversationMessageId","voteType","question","answer","createdAt","updatedAt","comment"]}}}}
```

## The GetAllOrganizationPlatformUsersResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAllOrganizationPlatformUsersResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"phoneNumber":{"type":"string","description":"User phone number"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"description":"Role of the user in the organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"description":"Status of the user's membership in the organization."}},"required":["id","email","phoneNumber","firstName","lastName","organizationRole","organizationStatus"]}}}}
```

## The ExternalApiPlatformUserSummaryDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiPlatformUserSummaryDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"description":"Role of the user in the organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"description":"Status of the user's membership in the organization."}},"required":["id","email","firstName","lastName","organizationRole","organizationStatus"]}}}}
```

## The ExternalApiPlatformUserAgentAccessDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"ExternalApiPlatformUserAgentAccessDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent ID"},"name":{"type":"string","description":"Agent name"},"publicName":{"type":"string","description":"Agent public name"},"status":{"type":"string","enum":["active","inactive","draft"],"description":"Agent status"},"avatarUrl":{"type":"string","nullable":true,"description":"Agent avatar URL"},"agentRole":{"type":"string","enum":["owner","admin","editor","user","copilot_user","copilot_admin"],"nullable":true,"description":"Role assigned to the user directly on the agent. Null when access is granted only by an organization-level role."},"agentAccessStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the direct user-to-agent assignment. Null when the user has no direct agent assignment."},"accessSource":{"type":"string","enum":["agent","organization"],"description":"Whether access comes from a direct role on the agent or from an owner or admin role in the organization that owns the agent."},"createdAt":{"format":"date-time","type":"string","description":"Agent creation date"}},"required":["id","name","publicName","status","accessSource","createdAt"]}}}}
```

## The GetAgentsByPlatformUserResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"GetAgentsByPlatformUserResponseDTO":{"type":"object","properties":{"user":{"description":"The platform user the agents belong to.","allOf":[{"$ref":"#/components/schemas/ExternalApiPlatformUserSummaryDTO"}]},"agents":{"description":"Agents the user has access to, with access control data.","type":"array","items":{"$ref":"#/components/schemas/ExternalApiPlatformUserAgentAccessDTO"}}},"required":["user","agents"]},"ExternalApiPlatformUserSummaryDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"description":"Role of the user in the organization."},"organizationStatus":{"type":"string","enum":["active","inactive"],"description":"Status of the user's membership in the organization."}},"required":["id","email","firstName","lastName","organizationRole","organizationStatus"]},"ExternalApiPlatformUserAgentAccessDTO":{"type":"object","properties":{"id":{"type":"string","description":"Agent ID"},"name":{"type":"string","description":"Agent name"},"publicName":{"type":"string","description":"Agent public name"},"status":{"type":"string","enum":["active","inactive","draft"],"description":"Agent status"},"avatarUrl":{"type":"string","nullable":true,"description":"Agent avatar URL"},"agentRole":{"type":"string","enum":["owner","admin","editor","user","copilot_user","copilot_admin"],"nullable":true,"description":"Role assigned to the user directly on the agent. Null when access is granted only by an organization-level role."},"agentAccessStatus":{"type":"string","enum":["active","inactive"],"nullable":true,"description":"Status of the direct user-to-agent assignment. Null when the user has no direct agent assignment."},"accessSource":{"type":"string","enum":["agent","organization"],"description":"Whether access comes from a direct role on the agent or from an owner or admin role in the organization that owns the agent."},"createdAt":{"format":"date-time","type":"string","description":"Agent creation date"}},"required":["id","name","publicName","status","accessSource","createdAt"]}}}}
```

## The UpdateOrganizationPlatformUserBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateOrganizationPlatformUserBodyDTO":{"type":"object","properties":{"role":{"type":"string","enum":["admin","manager","user","copilot_user","copilot_admin","guest"],"description":"New role of the user in the organization. The owner role cannot be assigned through the external API. Provide at least one of role or status."},"status":{"type":"string","enum":["active","inactive"],"description":"New status of the user's membership in the organization. Inactive suspends access without removing assignments or history. Provide at least one of role or status."}}}}}}
```

## The UpdateOrganizationPlatformUserResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateOrganizationPlatformUserResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"User ID"},"email":{"type":"string","description":"User email"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"organizationRole":{"type":"string","enum":["owner","admin","manager","user","copilot_user","copilot_admin","guest"],"description":"Role of the user in the organization after the update."},"organizationStatus":{"type":"string","enum":["active","inactive"],"description":"Status of the user's membership in the organization after the update."}},"required":["id","email","firstName","lastName","organizationRole","organizationStatus"]}}}}
```

## The PackDocumentInputDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PackDocumentInputDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"Original file name of the uploaded document."},"storagePath":{"type":"string","description":"Storage path returned by the pack document upload-url endpoint after the file has been uploaded to the signed URL."}},"required":["fileName","storagePath"]}}}}
```

## The CreatePackBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePackBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable name of the pack."},"description":{"type":"string","description":"Short description of what the pack contains."},"instructions":{"type":"string","description":"The shared instructions / core training text imported into agents linked to this pack."},"isPrivate":{"type":"boolean","default":false,"description":"When true the pack is private to the organization member who owns the Organization API key. Defaults to false (visible to the whole organization)."},"files":{"description":"Documents to attach to the pack on creation. Upload each file to a signed URL first (see the pack document upload-url endpoint) and pass the returned fileName and storagePath here.","type":"array","items":{"$ref":"#/components/schemas/PackDocumentInputDTO"}}},"required":["name","description","instructions"]},"PackDocumentInputDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"Original file name of the uploaded document."},"storagePath":{"type":"string","description":"Storage path returned by the pack document upload-url endpoint after the file has been uploaded to the signed URL."}},"required":["fileName","storagePath"]}}}}
```

## The PackFileResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PackFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID."},"fileName":{"type":"string","description":"Original file name."},"url":{"type":"string","description":"Time-limited signed download URL for the file."},"size":{"type":"number","description":"File size in bytes."},"createdAt":{"format":"date-time","type":"string","description":"File creation date."},"updatedAt":{"format":"date-time","type":"string","description":"File last update date."}},"required":["id","fileName","url","size","createdAt","updatedAt"]}}}}
```

## The PackWithFilesResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PackWithFilesResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Pack ID."},"name":{"type":"string","description":"Name of the pack."},"description":{"type":"string","description":"Description of the pack."},"instructions":{"type":"string","description":"Shared instructions / core training text."},"isPrivate":{"type":"boolean","description":"Whether the pack is private to the API key owner."},"status":{"type":"string","enum":["active","inactive"],"description":"Status of the pack."},"usedInAgentsCount":{"type":"number","description":"Number of agents this pack is currently linked to."},"createdAt":{"format":"date-time","type":"string","description":"Creation date."},"updatedAt":{"format":"date-time","type":"string","description":"Last update date."},"files":{"description":"Documents attached to the pack, with signed download URLs.","type":"array","items":{"$ref":"#/components/schemas/PackFileResponseDTO"}}},"required":["id","name","description","instructions","isPrivate","status","usedInAgentsCount","createdAt","updatedAt","files"]},"PackFileResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"File ID."},"fileName":{"type":"string","description":"Original file name."},"url":{"type":"string","description":"Time-limited signed download URL for the file."},"size":{"type":"number","description":"File size in bytes."},"createdAt":{"format":"date-time","type":"string","description":"File creation date."},"updatedAt":{"format":"date-time","type":"string","description":"File last update date."}},"required":["id","fileName","url","size","createdAt","updatedAt"]}}}}
```

## The PackResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Pack ID."},"name":{"type":"string","description":"Name of the pack."},"description":{"type":"string","description":"Description of the pack."},"instructions":{"type":"string","description":"Shared instructions / core training text."},"isPrivate":{"type":"boolean","description":"Whether the pack is private to the API key owner."},"status":{"type":"string","enum":["active","inactive"],"description":"Status of the pack."},"usedInAgentsCount":{"type":"number","description":"Number of agents this pack is currently linked to."},"createdAt":{"format":"date-time","type":"string","description":"Creation date."},"updatedAt":{"format":"date-time","type":"string","description":"Last update date."}},"required":["id","name","description","instructions","isPrivate","status","usedInAgentsCount","createdAt","updatedAt"]}}}}
```

## The PaginatedPacksResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PaginatedPacksResponseDTO":{"type":"object","properties":{"data":{"description":"Packs on the current page.","type":"array","items":{"$ref":"#/components/schemas/PackResponseDTO"}},"total":{"type":"number","description":"Total number of packs matching the query."},"page":{"type":"number","description":"Zero-based current page number."},"pageSize":{"type":"number","description":"Page size used for the query."},"totalPages":{"type":"number","description":"Total number of pages."}},"required":["data","total","page","pageSize","totalPages"]},"PackResponseDTO":{"type":"object","properties":{"id":{"type":"string","description":"Pack ID."},"name":{"type":"string","description":"Name of the pack."},"description":{"type":"string","description":"Description of the pack."},"instructions":{"type":"string","description":"Shared instructions / core training text."},"isPrivate":{"type":"boolean","description":"Whether the pack is private to the API key owner."},"status":{"type":"string","enum":["active","inactive"],"description":"Status of the pack."},"usedInAgentsCount":{"type":"number","description":"Number of agents this pack is currently linked to."},"createdAt":{"format":"date-time","type":"string","description":"Creation date."},"updatedAt":{"format":"date-time","type":"string","description":"Last update date."}},"required":["id","name","description","instructions","isPrivate","status","usedInAgentsCount","createdAt","updatedAt"]}}}}
```

## The UpdatePackBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdatePackBodyDTO":{"type":"object","properties":{"name":{"type":"string","description":"New name of the pack."},"description":{"type":"string","description":"New description of the pack."},"instructions":{"type":"string","description":"New shared instructions / core training text."},"isPrivate":{"type":"boolean","description":"Whether the pack is private to the Organization API key owner."},"status":{"type":"string","enum":["active","inactive"],"description":"Status of the pack. Inactive packs are hidden from agents but not deleted."}}}}}}
```

## The CreatePackDocumentUploadUrlBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePackDocumentUploadUrlBodyDTO":{"type":"object","properties":{"fileName":{"type":"string","description":"Name of the document to upload."},"contentType":{"type":"string","enum":["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain","text/plain; charset=utf-8","application/pdf","text/markdown","application/json"],"description":"MIME content type of the document to upload."}},"required":["fileName","contentType"]}}}}
```

## The CreatePackDocumentUploadUrlResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreatePackDocumentUploadUrlResponseDTO":{"type":"object","properties":{"signedUrl":{"type":"string","description":"Time-limited signed URL. Upload the document with an HTTP PUT to this URL."},"storagePath":{"type":"string","description":"Storage path of the uploaded document. Pass this (with fileName) when attaching the document to a pack."}},"required":["signedUrl","storagePath"]}}}}
```

## The LinkPackToAgentResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"LinkPackToAgentResponseDTO":{"type":"object","properties":{"agentId":{"type":"string","description":"ID of the agent the pack was linked to."},"packId":{"type":"string","description":"ID of the pack that was linked."}},"required":["agentId","packId"]}}}}
```

## The CreateFunctionBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"CreateFunctionBodyDTO":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","description":"ID of the organization member who will own the function. Must belong to the API key organization. When isPrivate is true the function is visible only to this user; otherwise it is available to the whole organization."},"name":{"type":"string","description":"Human-readable name of the function."},"internalName":{"type":"string","description":"Machine name used as the tool key. 1-64 characters, letters, numbers, underscores and hyphens only. Unique within the organization."},"description":{"type":"string","description":"Description of what the function does."},"url":{"type":"string","description":"HTTPS endpoint invoked when the function runs."},"isPrivate":{"type":"boolean","description":"When true the function is private to the owner (userId) — \"only for me\". When false it is available to the whole organization."},"definition":{"type":"object","additionalProperties":{"type":"string"},"description":"Function definition / parameter schema, as a JSON object of string values."},"headers":{"type":"object","additionalProperties":{"type":"string"},"nullable":true,"description":"Optional HTTP headers sent with the outbound request."}},"required":["userId","name","internalName","description","url","isPrivate","definition"]}}}}
```

## The FunctionResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"FunctionResponseDTO":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"internalName":{"type":"string"},"description":{"type":"string"},"isPrivate":{"type":"boolean","description":"True when the function is private to its owner."},"status":{"type":"string","enum":["active","inactive"]},"url":{"type":"string"},"definition":{"type":"object","additionalProperties":{"type":"string"}},"headers":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"userId":{"type":"string","format":"uuid","description":"ID of the organization member who owns the function."},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","internalName","description","isPrivate","status","url","definition","userId","createdAt","updatedAt"]}}}}
```

## The PaginatedFunctionsResponseDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"PaginatedFunctionsResponseDTO":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FunctionResponseDTO"}},"total":{"type":"number"},"page":{"type":"number"},"pageSize":{"type":"number"},"totalPages":{"type":"number"}},"required":["data","total","page","pageSize","totalPages"]},"FunctionResponseDTO":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"internalName":{"type":"string"},"description":{"type":"string"},"isPrivate":{"type":"boolean","description":"True when the function is private to its owner."},"status":{"type":"string","enum":["active","inactive"]},"url":{"type":"string"},"definition":{"type":"object","additionalProperties":{"type":"string"}},"headers":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"userId":{"type":"string","format":"uuid","description":"ID of the organization member who owns the function."},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","internalName","description","isPrivate","status","url","definition","userId","createdAt","updatedAt"]}}}}
```

## The UpdateFunctionBodyDTO object

```json
{"openapi":"3.0.0","info":{"title":"AI Agent API","version":"1.0.0"},"components":{"schemas":{"UpdateFunctionBodyDTO":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","description":"ID of the organization member acting on the function. Must belong to the API key organization and have access to the function."},"name":{"type":"string"},"internalName":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"isPrivate":{"type":"boolean","description":"Toggle \"only for me\" (true) vs organization-wide (false). Only the owner can change a function's privacy."},"definition":{"type":"object","additionalProperties":{"type":"string"},"description":"Function definition / parameter schema."},"headers":{"type":"object","additionalProperties":{"type":"string"},"nullable":true,"description":"Optional HTTP headers sent with the outbound request."},"status":{"type":"string","enum":["active","inactive"],"description":"Status of the function."}},"required":["userId"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://raia2.gitbook.io/raia/api-reference/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
