# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Dify Service Annotations API version: 1.0.0 extends: openapi/dify-annotations-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 6 - target: $.paths['/apps/annotations'].get update: x-apievangelist-phrasing: intent: List a chat app's annotations effect: read questions: - Which canned question-answer annotations does my Dify chatbot currently have? - Can I search my app's annotations for a keyword in the question or answer? - What is the most annotations I can pull back on one page? instructions: - text: List all the annotations saved on my chat app. - text: Find annotations whose question or answer mentions {keyword}. slots: keyword: query.keyword method: generated generated: '2026-09-26' - target: $.paths['/apps/annotations'].post update: x-apievangelist-phrasing: intent: Add a predefined question-answer annotation effect: write questions: - How do I make my chatbot always give a fixed answer to a specific question? - Can I add a new canned reply the app returns instead of generating one? instructions: - text: Add an annotation so the question {question} is answered with {answer}. slots: question: requestBody.question answer: requestBody.answer - text: 'Create a new canned reply: when users ask {question}, respond {answer}.' slots: question: requestBody.question answer: requestBody.answer method: generated generated: '2026-09-26' - target: $.paths['/apps/annotations/{annotation_id}'].put update: x-apievangelist-phrasing: intent: Edit an existing annotation's question and answer effect: write questions: - Can I change the answer on an annotation I already created? - How do I reword the question text of an existing canned reply? instructions: - text: Update annotation {annotation_id} to question {question} and answer {answer}. slots: annotation_id: path.annotation_id question: requestBody.question answer: requestBody.answer - text: Rewrite the existing annotation {annotation_id} so its answer becomes {answer} while keeping question {question}. slots: annotation_id: path.annotation_id answer: requestBody.answer question: requestBody.question method: generated generated: '2026-09-26' - target: $.paths['/apps/annotations/{annotation_id}'].delete update: x-apievangelist-phrasing: intent: Delete an annotation and its hit history effect: destructive questions: - What happens to an annotation's hit history when I remove it? - Can I get rid of a canned reply my chatbot no longer should give? instructions: - text: Delete annotation {annotation_id}. slots: annotation_id: path.annotation_id - text: Remove the canned reply {annotation_id} from my chat app permanently. slots: annotation_id: path.annotation_id method: generated generated: '2026-09-26' - target: $.paths['/apps/annotation-reply/{action}'].post update: x-apievangelist-phrasing: intent: Turn annotation reply on or off for an app effect: write questions: - How do I switch on annotation reply so my app answers from saved annotations? - Which embedding model and similarity threshold does annotation reply matching use? - Can I disable annotation reply without deleting my annotations? instructions: - text: '{action} annotation reply using embedding model {embedding_model_name} from {embedding_provider_name} with a match threshold of {score_threshold}.' slots: action: path.action embedding_model_name: requestBody.embedding_model_name embedding_provider_name: requestBody.embedding_provider_name score_threshold: requestBody.score_threshold - text: Enable annotation reply on my chatbot with {embedding_provider_name} embeddings model {embedding_model_name} and threshold {score_threshold}. slots: embedding_provider_name: requestBody.embedding_provider_name embedding_model_name: requestBody.embedding_model_name score_threshold: requestBody.score_threshold method: generated generated: '2026-09-26' - target: $.paths['/apps/annotation-reply/{action}/status/{job_id}'].get update: x-apievangelist-phrasing: intent: Check an annotation reply setup job's progress effect: read questions: - Has the job that enables annotation reply finished yet? - Where can I see whether turning annotation reply off completed or failed? instructions: - text: Check the status of annotation reply job {job_id} for the {action} action. slots: job_id: path.job_id action: path.action - text: Tell me if the annotation reply {action} job {job_id} is done. slots: action: path.action job_id: path.job_id method: generated generated: '2026-09-26'