> For the complete documentation index, see [llms.txt](https://docs.epic-ai.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.epic-ai.com/api-dokumentation/chatbot-faqs.md).

# Chatbot Faqs

## Lists all FAQs for a chatbot

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

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot faqs","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/faqs":{"get":{"operationId":"ChatbotFaqController_listFaqs[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of all FAQs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListFaqsResponseDto"}}}},"403":{"description":"Insufficient permissions."}},"summary":"Lists all FAQs for a chatbot","tags":["Chatbot faqs"],"description":"\n\n**Required Permission:** `chatbots.faqs.list`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"ListFaqsResponseDto":{"type":"object","properties":{"faqs":{"description":"A list of FAQs.","type":"array","items":{"$ref":"#/components/schemas/FaqDto"}},"error":{"type":"string","description":"Optional error message."}},"required":["faqs"]},"FaqDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the FAQ."},"created":{"type":"string","description":"The creation timestamp of the FAQ."},"updated":{"type":"string","description":"The last update timestamp of the FAQ."},"name":{"type":"string","description":"The question or name of the FAQ."},"intentId":{"type":"string","description":"The ID of the associated intent."},"stepId":{"type":"string","description":"The ID of the associated step."},"hasMessages":{"type":"boolean","description":"Indicates whether the associated step contains message elements."},"step":{"description":"The step and flow information for the FAQ.","allOf":[{"$ref":"#/components/schemas/FaqStepDto"}]}},"required":["id","created","updated","name","intentId","stepId","hasMessages","step"]},"FaqStepDto":{"type":"object","properties":{"stepId":{"type":"string","description":"The ID of the step to which the FAQ belongs."},"flowId":{"type":"string","description":"The ID of the flow to which the FAQ belongs."}},"required":["stepId","flowId"]}}}}
```

## Creates a new FAQ

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

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot faqs","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/faqs":{"post":{"operationId":"ChatbotFaqController_createFaq[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/CreateFaqRequestDto"}}}},"responses":{"201":{"description":"Faq created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaqResponseDto"}}}},"400":{"description":"Invalid input data."},"403":{"description":"Insufficient permissions."}},"summary":"Creates a new FAQ","tags":["Chatbot faqs"],"description":"\n\n**Required Permission:** `chatbots.faqs.create`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"CreateFaqRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"The question or name of the new FAQ."}},"required":["name"]},"FaqResponseDto":{"type":"object","properties":{"faq":{"description":"The FAQ object.","allOf":[{"$ref":"#/components/schemas/FaqDto"}]},"error":{"type":"string","description":"Optional error message."}}},"FaqDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the FAQ."},"created":{"type":"string","description":"The creation timestamp of the FAQ."},"updated":{"type":"string","description":"The last update timestamp of the FAQ."},"name":{"type":"string","description":"The question or name of the FAQ."},"intentId":{"type":"string","description":"The ID of the associated intent."},"stepId":{"type":"string","description":"The ID of the associated step."},"hasMessages":{"type":"boolean","description":"Indicates whether the associated step contains message elements."},"step":{"description":"The step and flow information for the FAQ.","allOf":[{"$ref":"#/components/schemas/FaqStepDto"}]}},"required":["id","created","updated","name","intentId","stepId","hasMessages","step"]},"FaqStepDto":{"type":"object","properties":{"stepId":{"type":"string","description":"The ID of the step to which the FAQ belongs."},"flowId":{"type":"string","description":"The ID of the flow to which the FAQ belongs."}},"required":["stepId","flowId"]}}}}
```

## Retrieves a specific FAQ

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

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot faqs","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/faqs/{faqId}":{"get":{"operationId":"ChatbotFaqController_getFaq[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}},{"name":"faqId","required":true,"in":"path","description":"The ID of the FAQ to retrieve.","schema":{"type":"string"}}],"responses":{"200":{"description":"Details of the FAQ.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaqResponseDto"}}}},"403":{"description":"Insufficient permissions."}},"summary":"Retrieves a specific FAQ","tags":["Chatbot faqs"],"description":"\n\n**Required Permission:** `chatbots.faqs.get`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"FaqResponseDto":{"type":"object","properties":{"faq":{"description":"The FAQ object.","allOf":[{"$ref":"#/components/schemas/FaqDto"}]},"error":{"type":"string","description":"Optional error message."}}},"FaqDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the FAQ."},"created":{"type":"string","description":"The creation timestamp of the FAQ."},"updated":{"type":"string","description":"The last update timestamp of the FAQ."},"name":{"type":"string","description":"The question or name of the FAQ."},"intentId":{"type":"string","description":"The ID of the associated intent."},"stepId":{"type":"string","description":"The ID of the associated step."},"hasMessages":{"type":"boolean","description":"Indicates whether the associated step contains message elements."},"step":{"description":"The step and flow information for the FAQ.","allOf":[{"$ref":"#/components/schemas/FaqStepDto"}]}},"required":["id","created","updated","name","intentId","stepId","hasMessages","step"]},"FaqStepDto":{"type":"object","properties":{"stepId":{"type":"string","description":"The ID of the step to which the FAQ belongs."},"flowId":{"type":"string","description":"The ID of the flow to which the FAQ belongs."}},"required":["stepId","flowId"]}}}}
```

## Deletes an FAQ

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

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

## Updates an existing FAQ

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

```json
{"openapi":"3.0.0","info":{"title":"ChatCaptain API","version":"1.0"},"tags":[{"name":"Chatbot faqs","description":""}],"servers":[{"url":"https://api.chatcaptain.com","description":"Production"}],"security":[{},{}],"paths":{"/v1/chatbots/{chatbotId}/faqs/{faqId}":{"patch":{"operationId":"ChatbotFaqController_updateFaq[1]_v1","parameters":[{"name":"chatbotId","required":true,"in":"path","description":"The ID of the chatbot.","schema":{"type":"string"}},{"name":"faqId","required":true,"in":"path","description":"The ID of the FAQ to update.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFaqRequestDto"}}}},"responses":{"200":{"description":"Faq updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaqResponseDto"}}}},"400":{"description":"Invalid input data."},"403":{"description":"Insufficient permissions."}},"summary":"Updates an existing FAQ","tags":["Chatbot faqs"],"description":"\n\n**Required Permission:** `chatbots.faqs.edit`\n\n**Resource:** `chatbots/:chatbotId`"}}},"components":{"schemas":{"UpdateFaqRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the FAQ."}},"required":["name"]},"FaqResponseDto":{"type":"object","properties":{"faq":{"description":"The FAQ object.","allOf":[{"$ref":"#/components/schemas/FaqDto"}]},"error":{"type":"string","description":"Optional error message."}}},"FaqDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the FAQ."},"created":{"type":"string","description":"The creation timestamp of the FAQ."},"updated":{"type":"string","description":"The last update timestamp of the FAQ."},"name":{"type":"string","description":"The question or name of the FAQ."},"intentId":{"type":"string","description":"The ID of the associated intent."},"stepId":{"type":"string","description":"The ID of the associated step."},"hasMessages":{"type":"boolean","description":"Indicates whether the associated step contains message elements."},"step":{"description":"The step and flow information for the FAQ.","allOf":[{"$ref":"#/components/schemas/FaqStepDto"}]}},"required":["id","created","updated","name","intentId","stepId","hasMessages","step"]},"FaqStepDto":{"type":"object","properties":{"stepId":{"type":"string","description":"The ID of the step to which the FAQ belongs."},"flowId":{"type":"string","description":"The ID of the flow to which the FAQ belongs."}},"required":["stepId","flowId"]}}}}
```
