openapi: 3.0.1 info: title: Dify Applications API description: REST API for Dify applications and knowledge bases. Application endpoints authenticate with an app API key; knowledge endpoints authenticate with a dataset API key. version: 1.0.0 servers: - url: https://{api_base_url} description: Base URL of the Dify Service API. For self-hosted deployments, replace it with your own API base URL. variables: api_base_url: default: api.dify.ai/v1 description: Host and path of the API base URL, without the `https://` prefix. security: - ApiKeyAuth: [] tags: - name: Applications description: Operations to retrieve application settings and information. paths: /info: get: summary: Get App Info description: '**Available for**: Chatflow, Workflow, Agent, Chatbot, Legacy Agent, Text Generator apps. Returns basic information about the app: name, description, tags, mode, and author.' operationId: getChatAppInfo tags: - Applications responses: '200': description: Basic information of the application. content: application/json: schema: $ref: '#/components/schemas/AppInfoResponse' examples: appInfo: summary: Response Example value: name: My Chat App description: A helpful customer service chatbot. tags: - customer-service - chatbot mode: chat author_name: Dify Team x-mint: href: /en/api-reference/applications/get-app-info metadata: title: Get App Info sidebarTitle: Get App Info /parameters: get: summary: Get App Parameters description: '**Available for**: Chatflow, Workflow, Agent, Chatbot, Legacy Agent, Text Generator apps. Returns the app''s front-end configuration: the opening statement and suggested questions, feature toggles, the user input form, and file-upload limits. Use it to render the app''s inputs and apply the correct upload limits.' operationId: getChatAppParameters tags: - Applications responses: '200': description: Application parameters information. content: application/json: schema: $ref: '#/components/schemas/AppParametersResponse' examples: appParameters: summary: Response Example value: opening_statement: Hello! How can I help you today? suggested_questions: - What can you do? - Tell me about your features. suggested_questions_after_answer: enabled: true speech_to_text: enabled: false text_to_speech: enabled: false voice: alloy language: en-US autoPlay: disabled retriever_resource: enabled: true annotation_reply: enabled: false more_like_this: enabled: false sensitive_word_avoidance: enabled: false user_input_form: - text-input: label: City variable: city required: true default: '' file_upload: image: enabled: true number_limits: 3 detail: high transfer_methods: - remote_url - local_file system_parameters: file_size_limit: 15 image_file_size_limit: 10 audio_file_size_limit: 50 video_file_size_limit: 100 workflow_file_upload_limit: 10 '400': description: '- `app_unavailable` : The app is unavailable or misconfigured. - `agent_not_published` : The app''s Agent has no published version yet. (Agent apps)' content: application/json: examples: app_unavailable: summary: app_unavailable value: status: 400 code: app_unavailable message: App unavailable, please check your app configurations. agent_not_published: summary: agent_not_published value: code: agent_not_published message: Agent has not been published. Please publish the Agent before using the API. status: 400 x-mint: href: /en/api-reference/applications/get-app-parameters metadata: title: Get App Parameters sidebarTitle: Get App Parameters /meta: get: summary: Get App Meta description: '**Available for**: Chatflow, Workflow, Agent, Chatbot, Legacy Agent, Text Generator apps. Returns the display icons for the tools this app uses, keyed by tool name.' operationId: getChatAppMeta tags: - Applications responses: '200': description: Successfully retrieved application meta information. content: application/json: schema: $ref: '#/components/schemas/AppMetaResponse' examples: appMeta: summary: Response Example value: tool_icons: dalle3: https://example.com/icons/dalle3.png calculator: background: '#4A90D9' content: 🧮 x-mint: href: /en/api-reference/applications/get-app-meta metadata: title: Get App Meta sidebarTitle: Get App Meta /site: get: summary: Get App WebApp Settings description: '**Available for**: Chatflow, Workflow, Agent, Chatbot, Legacy Agent, Text Generator apps. Returns the branding and display settings for the app''s hosted web app, such as its title, icon, theme colors, and default language.' operationId: getChatWebAppSettings tags: - Applications responses: '200': description: Web app settings of the application. content: application/json: schema: $ref: '#/components/schemas/WebAppSettingsResponse' examples: webAppSettings: summary: Response Example value: title: My Chat App chat_color_theme: '#4A90D9' chat_color_theme_inverted: false icon_type: emoji icon: 🤖 icon_background: '#FFFFFF' icon_url: null description: A helpful customer service chatbot. copyright: 2025 Dify privacy_policy: https://example.com/privacy input_placeholder: Ask me anything about our products... custom_disclaimer: '' default_language: en-US show_workflow_steps: false use_icon_as_answer_icon: true '403': description: '`forbidden` : Site not found for this application or the workspace has been archived.' content: application/json: examples: forbidden: summary: forbidden value: status: 403 code: forbidden message: You don't have the permission to access the requested resource. It is either read-protected or not readable by the server. x-mint: href: /en/api-reference/applications/get-app-webapp-settings metadata: title: Get App WebApp Settings sidebarTitle: Get App WebApp Settings components: schemas: AppInfoResponse: type: object properties: name: type: string description: Application name. description: type: string description: Application description. tags: type: array items: type: string description: Application tags. mode: type: string description: Application mode. `completion` for Text Generator apps, `chat` for Chatbot apps, `agent-chat` for Legacy Agent apps, `advanced-chat` for Chatflow apps, `workflow` for Workflow apps, `agent` for Agent apps. author_name: type: string description: Name of the application author. AppMetaResponse: type: object properties: tool_icons: type: object additionalProperties: oneOf: - title: Icon URL type: string format: url description: URL of the icon. - $ref: '#/components/schemas/ToolIconDetail' description: Tool icons. Keys are tool names. AppParametersResponse: type: object properties: opening_statement: type: string nullable: true description: Opening statement text. suggested_questions: type: array items: type: string description: List of suggested questions. suggested_questions_after_answer: type: object description: Configuration for suggested questions after an answer. properties: enabled: type: boolean description: Whether this feature is enabled. speech_to_text: type: object description: Speech-to-text feature configuration. properties: enabled: type: boolean description: Whether this feature is enabled. text_to_speech: type: object description: Text-to-speech feature configuration. properties: enabled: type: boolean description: Whether this feature is enabled. voice: type: string description: Voice identifier for TTS. language: type: string description: Language for TTS. autoPlay: type: string description: Auto-play setting. `enabled` to auto-play audio, `disabled` to require manual play. retriever_resource: type: object description: Knowledge retrieval citation resource configuration. properties: enabled: type: boolean description: Whether this feature is enabled. annotation_reply: type: object description: Annotation reply feature configuration. properties: enabled: type: boolean description: Whether this feature is enabled. more_like_this: type: object description: More-like-this feature configuration. properties: enabled: type: boolean description: Whether this feature is enabled. sensitive_word_avoidance: type: object description: Content moderation feature configuration. properties: enabled: type: boolean description: Whether this feature is enabled. user_input_form: type: array items: type: object oneOf: - title: Text Input type: object properties: text-input: type: object properties: label: type: string description: Display label for the input field. variable: type: string description: Variable name used in the workflow. required: type: boolean description: Whether this field is required. default: type: string description: Default value for the input field. - title: Paragraph type: object properties: paragraph: type: object properties: label: type: string description: Display label for the paragraph field. variable: type: string description: Variable name used in the workflow. required: type: boolean description: Whether this field is required. default: type: string description: Default value for the paragraph field. - title: Select type: object properties: select: type: object properties: label: type: string description: Display label for the select field. variable: type: string description: Variable name used in the workflow. required: type: boolean description: Whether this field is required. default: type: string description: Default selected value. options: type: array items: type: string description: List of selectable values for this form control. description: User input form configuration. file_upload: type: object description: File upload configuration. properties: image: type: object properties: enabled: type: boolean description: Whether image upload is enabled. number_limits: type: integer description: Maximum number of images that can be uploaded. detail: type: string description: Image detail level for vision models. transfer_methods: type: array items: type: string description: Allowed transfer methods for image upload. `remote_url` for file URL, `local_file` for uploaded file. system_parameters: type: object description: System-level parameter limits. properties: file_size_limit: type: integer description: Maximum general file size in MB. image_file_size_limit: type: integer description: Maximum image file size in MB. audio_file_size_limit: type: integer description: Maximum audio file size in MB. video_file_size_limit: type: integer description: Maximum video file size in MB. workflow_file_upload_limit: type: integer description: Maximum number of files per workflow execution. ToolIconDetail: title: Emoji Icon type: object description: Detail of a tool icon using emoji. properties: background: type: string description: Background color in hex format. content: type: string description: Emoji content. WebAppSettingsResponse: type: object properties: title: type: string description: Web app title. chat_color_theme: type: string description: Chat color theme. chat_color_theme_inverted: type: boolean description: Whether the chat color theme is inverted. icon_type: type: string description: Type of icon used. `emoji` for emoji icons, `image` for uploaded image icons. icon: type: string description: Icon content (emoji or image ID). icon_background: type: string description: Icon background color. icon_url: type: string format: url nullable: true description: URL of the icon image. description: type: string description: Web app description. copyright: type: string description: Copyright text. privacy_policy: type: string description: Privacy policy URL. input_placeholder: type: string nullable: true description: Placeholder text shown in the web app message input box. `null` when not configured. custom_disclaimer: type: string description: Custom disclaimer text. default_language: type: string description: Default language code. show_workflow_steps: type: boolean description: Whether to show workflow steps. use_icon_as_answer_icon: type: boolean description: Whether to use the app icon as the answer icon. securitySchemes: ApiKeyAuth: type: http scheme: bearer bearerFormat: API_KEY description: 'Every request authenticates with an API key: `Authorization: Bearer {API_KEY}`. App endpoints take an app API key; knowledge endpoints take a knowledge base API key ([Get Started](/en/api-reference/guides/get-started)). Keep keys server-side; never embed them in client code. Requests with a missing or invalid key fail with HTTP `401` (`unauthorized`).' x-provenance: generated: '2026-09-06' method: derived source: openapi/_original/dify-service-api-openapi.json note: Per-tag split of the first-party Dify Service API OpenAPI harvested from https://docs.dify.ai/en/api-reference/openapi_service.json (advertised in https://docs.dify.ai/llms.txt). Paths, schemas and operationIds are verbatim from that spec.