# Chatbot intents

## Lists all intents for a chatbot

> \
> \
> \*\*Required Permission:\*\* \`chatbots.intents.list\`\
> \
> \*\*Resource:\*\* \`chatbots/:chatbotId\`

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot intents","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/intents":{"get":{"operationId":"ChatbotIntentController_listIntents[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of all intents.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIntentsResponseDto"}}}},"403":{"description":"Insufficient permissions."}},"summary":"Lists all intents for a chatbot","tags":["Chatbot intents"],"description":"\n\n**Required Permission:** `chatbots.intents.list`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"ListIntentsResponseDto":{"type":"object","properties":{"intents":{"description":"A list of intents.","type":"array","items":{"$ref":"#/components/schemas/IntentDto"}},"error":{"type":"string","description":"Optional error message."}},"required":["intents"]},"IntentDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the intent."},"name":{"type":"string","description":"The name of the intent."},"created":{"type":"string","description":"The creation timestamp of the intent."},"updated":{"type":"string","description":"The last update timestamp of the intent."},"confidenceScore":{"type":"number","minimum":0,"maximum":1,"description":"The minimum confidence score (0.0-1.0) required for this intent to be triggered."},"state":{"type":"string","description":"The training status of the intent."},"trainingRequired":{"type":"boolean","description":"Indicates whether retraining is required after changes."},"actor":{"description":"Defines which action (e.g., which flow) is executed when the intent is recognized.","allOf":[{"$ref":"#/components/schemas/ActorDto"}]}},"required":["name","created","updated","confidenceScore","state","trainingRequired","actor"]},"ActorDto":{"type":"object","properties":{"type":{"type":"string","description":"The type of the actor."},"flowId":{"type":"string","description":"The ID of the flow that the trigger step resides in."},"stepId":{"type":"string","description":"The ID of the step that is triggered by the intent."}},"required":["type","flowId","stepId"]}}}}
```

## Creates a new intent

> \
> \
> \*\*Required Permission:\*\* \`chatbots.intents.create\`\
> \
> \*\*Resource:\*\* \`chatbots/:chatbotId\`

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot intents","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/intents":{"post":{"operationId":"ChatbotIntentController_createIntent[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntentRequestDto"}}}},"responses":{"201":{"description":"Intent created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentResponseDto"}}}},"400":{"description":"Invalid input data."},"403":{"description":"Insufficient permissions."}},"summary":"Creates a new intent","tags":["Chatbot intents"],"description":"\n\n**Required Permission:** `chatbots.intents.create`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"CreateIntentRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the new intent."},"confidenceScore":{"type":"number","minimum":0,"maximum":1,"description":"The required minimum confidence score (0.0-1.0)."},"actor":{"description":"The action to be executed.","nullable":true,"allOf":[{"$ref":"#/components/schemas/ActorDto"}]}},"required":["name","confidenceScore","actor"]},"ActorDto":{"type":"object","properties":{"type":{"type":"string","description":"The type of the actor."},"flowId":{"type":"string","description":"The ID of the flow that the trigger step resides in."},"stepId":{"type":"string","description":"The ID of the step that is triggered by the intent."}},"required":["type","flowId","stepId"]},"IntentResponseDto":{"type":"object","properties":{"intent":{"description":"The intent object.","allOf":[{"$ref":"#/components/schemas/IntentDto"}]},"error":{"type":"string","description":"Optional error message."}}},"IntentDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the intent."},"name":{"type":"string","description":"The name of the intent."},"created":{"type":"string","description":"The creation timestamp of the intent."},"updated":{"type":"string","description":"The last update timestamp of the intent."},"confidenceScore":{"type":"number","minimum":0,"maximum":1,"description":"The minimum confidence score (0.0-1.0) required for this intent to be triggered."},"state":{"type":"string","description":"The training status of the intent."},"trainingRequired":{"type":"boolean","description":"Indicates whether retraining is required after changes."},"actor":{"description":"Defines which action (e.g., which flow) is executed when the intent is recognized.","allOf":[{"$ref":"#/components/schemas/ActorDto"}]}},"required":["name","created","updated","confidenceScore","state","trainingRequired","actor"]}}}}
```

## Retrieves a specific intent

> \
> \
> \*\*Required Permission:\*\* \`chatbots.intents.get\`\
> \
> \*\*Resource:\*\* \`chatbots/:chatbotId\`

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot intents","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/intents/{intentId}":{"get":{"operationId":"ChatbotIntentController_getIntent[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}},{"name":"intentId","required":true,"in":"path","description":"The ID of the intent to retrieve.","schema":{"type":"string"}}],"responses":{"200":{"description":"Details of the intent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentResponseDto"}}}},"403":{"description":"Insufficient permissions."}},"summary":"Retrieves a specific intent","tags":["Chatbot intents"],"description":"\n\n**Required Permission:** `chatbots.intents.get`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"IntentResponseDto":{"type":"object","properties":{"intent":{"description":"The intent object.","allOf":[{"$ref":"#/components/schemas/IntentDto"}]},"error":{"type":"string","description":"Optional error message."}}},"IntentDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the intent."},"name":{"type":"string","description":"The name of the intent."},"created":{"type":"string","description":"The creation timestamp of the intent."},"updated":{"type":"string","description":"The last update timestamp of the intent."},"confidenceScore":{"type":"number","minimum":0,"maximum":1,"description":"The minimum confidence score (0.0-1.0) required for this intent to be triggered."},"state":{"type":"string","description":"The training status of the intent."},"trainingRequired":{"type":"boolean","description":"Indicates whether retraining is required after changes."},"actor":{"description":"Defines which action (e.g., which flow) is executed when the intent is recognized.","allOf":[{"$ref":"#/components/schemas/ActorDto"}]}},"required":["name","created","updated","confidenceScore","state","trainingRequired","actor"]},"ActorDto":{"type":"object","properties":{"type":{"type":"string","description":"The type of the actor."},"flowId":{"type":"string","description":"The ID of the flow that the trigger step resides in."},"stepId":{"type":"string","description":"The ID of the step that is triggered by the intent."}},"required":["type","flowId","stepId"]}}}}
```

## Deletes an intent

> \
> \
> \*\*Required Permission:\*\* \`chatbots.intents.delete\`\
> \
> \*\*Resource:\*\* \`chatbots/:chatbotId\`

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot intents","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/intents/{intentId}":{"delete":{"operationId":"ChatbotIntentController_deleteIntent[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}},{"name":"intentId","required":true,"in":"path","description":"The ID of the intent to delete.","schema":{"type":"string"}}],"responses":{"200":{"description":"Result of the deletion process.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteIntentResponseDto"}}}},"403":{"description":"Insufficient permissions."}},"summary":"Deletes an intent","tags":["Chatbot intents"],"description":"\n\n**Required Permission:** `chatbots.intents.delete`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"DeleteIntentResponseDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Indicates whether the deletion was successful."},"error":{"type":"string","description":"Optional error message."}},"required":["deleted"]}}}}
```

## Updates an existing intent

> \
> \
> \*\*Required Permission:\*\* \`chatbots.intents.edit\`\
> \
> \*\*Resource:\*\* \`chatbots/:chatbotId\`

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot intents","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/intents/{intentId}":{"patch":{"operationId":"ChatbotIntentController_updateIntent[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}},{"name":"intentId","required":true,"in":"path","description":"The ID of the intent to update.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIntentRequestDto"}}}},"responses":{"200":{"description":"Intent updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentResponseDto"}}}},"400":{"description":"Invalid input data."},"403":{"description":"Insufficient permissions."}},"summary":"Updates an existing intent","tags":["Chatbot intents"],"description":"\n\n**Required Permission:** `chatbots.intents.edit`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"UpdateIntentRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"The new name for the intent."},"confidenceScore":{"type":"number","minimum":0,"maximum":1,"description":"The new confidence score for the intent."},"trainingRequired":{"type":"boolean","description":"Whether the intent requires training."},"actor":{"description":"The new actor for the intent.","allOf":[{"$ref":"#/components/schemas/ActorDto"}]}}},"ActorDto":{"type":"object","properties":{"type":{"type":"string","description":"The type of the actor."},"flowId":{"type":"string","description":"The ID of the flow that the trigger step resides in."},"stepId":{"type":"string","description":"The ID of the step that is triggered by the intent."}},"required":["type","flowId","stepId"]},"IntentResponseDto":{"type":"object","properties":{"intent":{"description":"The intent object.","allOf":[{"$ref":"#/components/schemas/IntentDto"}]},"error":{"type":"string","description":"Optional error message."}}},"IntentDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the intent."},"name":{"type":"string","description":"The name of the intent."},"created":{"type":"string","description":"The creation timestamp of the intent."},"updated":{"type":"string","description":"The last update timestamp of the intent."},"confidenceScore":{"type":"number","minimum":0,"maximum":1,"description":"The minimum confidence score (0.0-1.0) required for this intent to be triggered."},"state":{"type":"string","description":"The training status of the intent."},"trainingRequired":{"type":"boolean","description":"Indicates whether retraining is required after changes."},"actor":{"description":"Defines which action (e.g., which flow) is executed when the intent is recognized.","allOf":[{"$ref":"#/components/schemas/ActorDto"}]}},"required":["name","created","updated","confidenceScore","state","trainingRequired","actor"]}}}}
```


---

# Agent Instructions: 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:

```
GET https://docs.chatcaptain.com/api/api-dokumentation/chatbot-intents.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
