127 KiB
Generated
Web API
Public APIs for web applications including file uploads, chat interactions, and app management
Version: 1.0
Available authorizations
Bearer (HTTP, bearer)
Use the Service API key as a Bearer token in the Authorization header. Bearer format: API_KEY
web
Web application API operations
[POST] /audio-to-text
Convert audio to text
Convert audio file to text using speech-to-text service.
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: AudioToTextResponse |
| 400 | Bad Request | application/json: AppUnavailableError CompletionRequestError ModelCurrentlyNotSupportError NoAudioUploadedError ProviderNotInitializeError ProviderNotSupportSpeechToTextError ProviderQuotaExceededError SpeechToTextDisabledError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 413 | Audio file too large | application/json: AudioTooLargeError ErrorResponse |
| 415 | Unsupported audio type | application/json: UnsupportedAudioTypeError ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /chat-messages
Create a chat message for conversational applications.
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ChatMessagePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request | application/json: AgentNotPublishedError AppUnavailableError CompletionRequestError ConnectionConfigurationInvalidError ConnectionCredentialsInvalidError ConnectionRequiredError ModelCurrentlyNotSupportError NotChatAppError ProviderNotInitializeError ProviderQuotaExceededError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | App Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| 409 | Conflict | application/json: ConnectionConflictError ConnectionReauthorizationRequiredError ConnectionRevisionChangedError ErrorResponse |
| 429 | Too Many Requests | application/json: RateLimitError ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /chat-messages/{task_id}/stop
Stop a running chat message task.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Task ID to stop | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SimpleResultResponse |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Task Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /completion-messages
Create a completion message for text generation applications.
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: CompletionMessagePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request | application/json: AppUnavailableError CompletionRequestError ModelCurrentlyNotSupportError NotCompletionAppError ProviderNotInitializeError ProviderQuotaExceededError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | App Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /completion-messages/{task_id}/stop
Stop a running completion message task.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Task ID to stop | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SimpleResultResponse |
| 400 | Bad Request | application/json: NotCompletionAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Task Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /connections
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| cursor | query | No | string | |
| limit | query | No | integer, Default: 20 |
|
| provider | query | No | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Personal connections | application/json: EndUserConnectionListResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /connections
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EndUserConnectionCreatePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 201 | API-key connection created | application/json: EndUserConnectionResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ConnectionCredentialsInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 409 | Conflict | application/json: ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /connections/configuration
Read saved App or Conversation choices without validating or refreshing credentials.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| conversation_id | query | Chatflow Conversation to read. If omitted or the Conversation has no saved choices, return the current App user's last choices for form initialization. | No | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Saved Connection configuration | application/json: ConnectionConfigurationResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /connections/credential-schema
Read API-key form fields for an authorized published tool node; no credential values.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| connection_revision | query | Opaque revision issued for the current Web App. Use App parameters for tool-node operations or the owned Connection revision endpoint for Provider management. | Yes | string (uuid) |
| node_id | query | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | API-key form schema | application/json: ConnectionCredentialSchemaResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 409 | Conflict | application/json: ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /connections/oauth/authorization-url
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EndUserConnectionOAuthPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | OAuth authorization URL | application/json: EndUserConnectionOAuthResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ConnectionOauthFailedError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 409 | Conflict | application/json: ConnectionReauthorizationRequiredError ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /connections/oauth/{provider}/callback
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| provider | path | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 302 | Redirect to OAuth completion page | |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ConnectionOauthFailedError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| 409 | Conflict | application/json: ConnectionConflictError ConnectionReauthorizationRequiredError ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /connections/preflight
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EndUserConnectionPreflightPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Connection statuses and preflight readiness | application/json: EndUserConnectionPreflightResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 409 | Conflict | application/json: ConnectionConflictError ConnectionReauthorizationRequiredError ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[DELETE] /connections/{connection_id}
Disconnect locally and remove live selections, then attempt OAuth revocation against the original plugin artifact and Client. Remote failures never undo local deletion or fall back to installed versions.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| connection_id | path | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 204 | Connection deleted | |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| 409 | Conflict | application/json: ConnectionConflictError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /connections/{connection_id}
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| connection_id | path | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Personal connection | application/json: EndUserConnectionResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[PATCH] /connections/{connection_id}
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| connection_id | path | Yes | string (uuid) |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EndUserConnectionUpdatePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Connection updated | application/json: EndUserConnectionResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ConnectionCredentialsInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| 409 | Conflict | application/json: ConnectionConflictError ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /connections/{connection_id}/reauthorize
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| connection_id | path | Yes | string (uuid) |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EndUserConnectionReauthorizePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | OAuth reauthorization URL | application/json: EndUserConnectionOAuthResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ConnectionOauthFailedError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| 409 | Conflict | application/json: ConnectionReauthorizationRequiredError ConnectionRevisionChangedError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionCredentialsUnavailableError CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /connections/{connection_id}/revision
Read a Provider revision for an owned Connection, independently of published tool nodes.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| connection_id | path | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Current Provider revision | application/json: EndUserConnectionRevisionResponse |
| 400 | Bad Request | application/json: ConnectionConfigurationInvalidError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Not Found | application/json: ConnectionNotFoundError ErrorResponse |
| 503 | Service Unavailable | application/json: CredentialCheckUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /conversations
Retrieve paginated list of conversations for a chat application.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| last_id | query | No | string | |
| limit | query | No | integer, Default: 20 |
|
| pinned | query | No | boolean | |
| sort_by | query | No | string, Available values: "-created_at", "-updated_at", "created_at", "updated_at", Default: -updated_at |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: ConversationInfiniteScrollPagination |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | App Not Found or Not a Chat App | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[DELETE] /conversations/{c_id}
Delete a specific conversation.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 204 | Conversation deleted successfully | |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Conversation Not Found or Not a Chat App | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /conversations/{c_id}/name
Rename a specific conversation with a custom name or auto-generate one.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
| auto_generate | query | Auto-generate conversation name | No | boolean |
| name | query | New conversation name | No | string |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ConversationRenamePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Conversation renamed successfully | application/json: SimpleConversation |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Conversation Not Found or Not a Chat App | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[PATCH] /conversations/{c_id}/pin
Pin a specific conversation to keep it at the top of the list.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Conversation pinned successfully | application/json: ResultResponse |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Conversation Not Found or Not a Chat App | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[PATCH] /conversations/{c_id}/unpin
Unpin a specific conversation to remove it from the top of the list.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Conversation unpinned successfully | application/json: ResultResponse |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Conversation Not Found or Not a Chat App | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /email-code-login
Send email verification code for login
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EmailCodeLoginSendPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Email code sent successfully | application/json: SimpleResultDataResponse |
| 400 | Bad request - invalid email format | application/json: ErrorResponse |
| 401 | Unauthorized | application/json: AuthenticationFailedError ErrorResponse |
| 404 | Account not found | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /email-code-login/validity
Verify email code and complete login
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: EmailCodeLoginVerifyPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Email code verified and login successful | application/json: AccessTokenResultResponse |
| 400 | Bad request - invalid code or token | application/json: AccountBannedError EmailCodeError InvalidEmailError ErrorResponse |
| 401 | Invalid token or expired code | application/json: AuthenticationFailedError ErrorResponse |
| 404 | Account not found | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /files/upload
Upload a file for use in web applications
Upload a file for use in web applications Accepts file uploads for use within web applications, supporting multiple file types with automatic validation and storage.
Args: app_model: The associated application model end_user: The end user uploading the file
Form Parameters: file: The file to upload (required) source: Optional source type (datasets or None)
Returns: dict: File information including ID, URL, and metadata int: HTTP status code 201 for success
Raises: NoFileUploadedError: No file provided in request TooManyFilesError: Multiple files provided (only one allowed) FilenameNotExistsError: File has no filename FileTooLargeError: File exceeds size limit UnsupportedFileTypeError: File type not supported BlockedFileExtensionError: File extension is blocked
Responses
| Code | Description | Schema |
|---|---|---|
| 201 | File uploaded successfully | application/json: FileResponse |
| 400 | - no_file_uploaded : No file was provided in the request. - too_many_files : Only one file is allowed per request. - filename_not_exists_error : The uploaded file has no filename. - file_extension_blocked : The file extension is blocked for security reasons. |
application/json: FileExtensionBlockedError FilenameNotExistsError NoFileUploadedError TooManyFilesError ErrorResponse |
| 413 | file_too_large : File size exceeded. |
application/json: FileTooLargeError ErrorResponse |
| 415 | unsupported_file_type : File type not allowed. |
application/json: UnsupportedFileTypeError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /forgot-password
Send password reset email
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ForgotPasswordSendPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Password reset email sent successfully | application/json: SimpleResultDataResponse |
| 400 | Bad request - invalid email format | application/json: ErrorResponse |
| 401 | Unauthorized | application/json: AuthenticationFailedError ErrorResponse |
| 404 | Account not found | application/json: ErrorResponse |
| 429 | Too many requests - rate limit exceeded | application/json: EmailSendIpLimitError PasswordResetRateLimitExceededError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /forgot-password/resets
Reset user password with verification token
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ForgotPasswordResetPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Password reset successfully | application/json: SimpleResultResponse |
| 400 | Bad request - invalid parameters or password mismatch | application/json: InvalidOrExpiredTokenError PasswordMismatchError ErrorResponse |
| 401 | Invalid or expired token | application/json: AuthenticationFailedError ErrorResponse |
| 404 | Account not found | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /forgot-password/validity
Verify password reset token validity
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ForgotPasswordCheckPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Token is valid | application/json: VerificationTokenResponse |
| 400 | Bad request - invalid token format | application/json: EmailCodeError InvalidEmailError InvalidOrExpiredTokenError ErrorResponse |
| 401 | Invalid or expired token | application/json: ErrorResponse |
| 429 | Too Many Requests | application/json: EmailPasswordResetLimitError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /form/human_input/{form_token}
Get human input form definition by token
Get a human input form definition by token GET /api/form/human_input/<form_token>
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| form_token | path | Human input form token | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Form retrieved successfully | application/json: HumanInputFormDefinitionResponse |
| 403 | Forbidden | application/json: ErrorResponse |
| 404 | Form not found | application/json: ErrorResponse |
| 412 | Form already submitted or expired | application/json: HumanInputFormExpiredError HumanInputFormSubmittedError ErrorResponse |
| 429 | Too many requests | application/json: WebFormRateLimitExceededError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /form/human_input/{form_token}
Submit human input form by token
Submit a human input form by token POST /api/form/human_input/<form_token>
Request body: { "inputs": { "content": "User input content" }, "action": "Approve" }
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| form_token | path | Human input form token | Yes | string |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: HumanInputFormSubmitPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Form submitted successfully | application/json: HumanInputFormSubmitResponse |
| 400 | Bad request - invalid submission data | application/json: InvalidFormDataError ErrorResponse |
| 404 | Form not found | application/json: ErrorResponse |
| 412 | Form already submitted or expired | application/json: HumanInputFormExpiredError HumanInputFormSubmittedError ErrorResponse |
| 429 | Too many requests | application/json: WebFormRateLimitExceededError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /form/human_input/{form_token}/upload-token
Issue an upload token for a human input form
Issue an upload token for an active human input form POST /api/form/human_input/<form_token>/upload-token
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| form_token | path | Human input form token | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Upload token issued successfully | application/json: HumanInputUploadTokenResponse |
| 404 | Form not found | application/json: ErrorResponse |
| 412 | Form already submitted or expired | application/json: HumanInputFormExpiredError HumanInputFormSubmittedError ErrorResponse |
| 429 | Too many requests | application/json: WebFormRateLimitExceededError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /human-input-forms/files
Upload one local file or remote URL file for a HITL human input form
Responses
| Code | Description | Schema |
|---|---|---|
| 201 | File uploaded successfully | application/json: FileResponse |
| 400 | Bad Request | application/json: FileExtensionBlockedError FilenameNotExistsError MalformedUploadTokenError NoFileUploadedError RemoteFileAccessDeniedError RemoteFileInvalidUrlError RemoteFileUrlBlockedError TooManyFilesError ErrorResponse |
| 401 | Unauthorized | application/json: UploadTokenRequiredError ErrorResponse |
| 403 | Forbidden | application/json: InvalidUploadTokenError ErrorResponse |
| 404 | Not Found | application/json: RemoteFileNotFoundError ErrorResponse |
| 412 | Precondition Failed | application/json: HumanInputFormExpiredError HumanInputFormSubmittedError ErrorResponse |
| 413 | Request Entity Too Large | application/json: FileTooLargeError ErrorResponse |
| 415 | Unsupported Media Type | application/json: UnsupportedFileTypeError ErrorResponse |
| 502 | Bad Gateway | application/json: RemoteFileInvalidResponseError RemoteFileUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /login
Authenticate user and login
Authenticate user for web application access
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: LoginPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Authentication successful | application/json: AccessTokenResultResponse |
| 400 | Bad request - invalid email or password format | application/json: AccountBannedError ErrorResponse |
| 401 | Authentication failed - email or password mismatch | application/json: AuthenticationFailedError ErrorResponse |
| 404 | Account not found | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /login/status
Check login status
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| app_code | query | Web app code | No | string |
| mode | query | end_user reports actual Account authentication instead of Public App access | No | string, Available values: "console", "end_user", Default: console |
| user_id | query | End user session ID | No | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Login status | application/json: LoginStatusResponse |
| 401 | Login status | application/json: ErrorResponse |
| 404 | App not found | application/json: ErrorResponse |
| 503 | Web app access service unavailable | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /logout
Logout user from web application
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Logout successful | application/json: SimpleResultResponse |
| default | Error | application/json: ErrorResponse |
[GET] /messages
Retrieve paginated list of messages from a conversation in a chat application.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| conversation_id | query | Conversation ID. | Yes | string |
| first_id | query | The ID of the first chat record on the current page. Omit this value to fetch the latest messages; for subsequent pages, use the first message ID from the current list to fetch older messages. | No | string |
| limit | query | Number of chat history messages to return per request. | No | integer, Default: 20 |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: WebMessageInfiniteScrollPagination |
| 400 | Bad Request | application/json: NotChatAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Conversation Not Found or Not a Chat App | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /messages/{message_id}/feedbacks
Submit feedback (like/dislike) for a specific message.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | path | Message UUID | Yes | string (uuid) |
| content | query | Feedback content | No | string |
| rating | query | Feedback rating | No | string, Available values: "dislike", "like" |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: MessageFeedbackPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Feedback submitted successfully | application/json: ResultResponse |
| 400 | Bad Request | application/json: ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Message Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /messages/{message_id}/more-like-this
Generate a new completion similar to an existing message (completion apps only).
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| response_mode | query | Response mode | Yes | string, Available values: "blocking", "streaming" |
| message_id | path | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request - Not a completion app or feature disabled | application/json: CompletionRequestError ModelCurrentlyNotSupportError NotCompletionAppError ProviderNotInitializeError ProviderQuotaExceededError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 403 | Forbidden | application/json: AppMoreLikeThisDisabledError ErrorResponse |
| 404 | Message Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /messages/{message_id}/suggested-questions
Get suggested follow-up questions after a message (chat apps only).
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | path | Message UUID | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SuggestedQuestionsResponse |
| 400 | Bad Request - Not a chat app or feature disabled | application/json: CompletionRequestError ModelCurrentlyNotSupportError NotChatAppError ProviderNotInitializeError ProviderQuotaExceededError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 403 | Forbidden | application/json: AppSuggestedQuestionsAfterAnswerDisabledError ErrorResponse |
| 404 | Message Not Found or Conversation Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /meta
Get app meta
Retrieve the metadata for a specific app.
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: AppMetaResponse |
| 400 | Bad Request | application/json: AppUnavailableError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | App Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /migration/claim
Claim up to 50 anonymous browser Passports across Web Apps for one authenticated Account. Submit Guest Passports in passports, with one Account Web login proof in Authorization. Complete the login handoff through /api/passport before asking the user to confirm Claim. Validate every source Passport and Account App admission before any transfer or identity creation. Preflight failures return 400 connection_claim_preflight_failed with details.failures indexed by input. An unavailable preflight dependency returns 503; neither failure starts a transfer. Items run in input order with independent transactions; every item returns its index and success or failure. Success includes the App code, Account App Passport and this item's transferred Connection count. Retries skip transfers for Guests with no remaining Connections and report zero; new Guest Connections are included. Account defaults take precedence; Conversation choices and history are preserved. Resubmit the same batch or retry failed items separately; no cross-App atomicity is provided.
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ConnectionClaimPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Guest Connection claim results | application/json: ConnectionClaimResponse |
| 400 | Bad Request | application/json: ConnectionClaimPreflightFailedError ErrorResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 503 | Service Unavailable | application/json: ConnectionClaimUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /migration/claimable-passports
Check anonymous Passports held by this browser across Web Apps without changing identity or data. Submit local candidates; return their request indices, App names/codes and current Connection counts. Invalid, expired, duplicate, Account and SSO candidates are omitted. No Account login is required. Unavailable, disabled and unpublished Web Apps are filtered out. Zero-Connection Guest Passports are included. connection_count counts all currently Guest-owned Connections, including ones needing reconnection. This is advisory: actual Claim rechecks ownership and Account App admission.
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: ClaimablePassportsPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Claimable browser Passports | application/json: ClaimablePassportsResponse |
| default | Error | application/json: ErrorResponse |
[GET] /parameters
Retrieve app parameters
Retrieve the parameters for a specific app.
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: WebAppParametersResponse |
| 400 | Bad Request | application/json: AgentNotPublishedError AppUnavailableError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | App Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /passport
Get authentication passport for web application access
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| mode | query | end_user reuses Account login; console preserves legacy Web App authentication | No | string, Available values: "console", "end_user", Default: console |
| user_id | query | End user session ID | No | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Passport retrieved successfully | application/json: PassportAccessTokenResponse |
| 401 | Unauthorized - missing app code or invalid authentication | application/json: EndUserLoginRequiredError ErrorResponse |
| 404 | Application or user not found | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /passport
Redeem a one-use S256 PKCE login code after returning to /webapp-signin. Returns the App Passport and sets the Web-only Account login proof in an HttpOnly cookie. Account Passports require the matching WebApp login cookie on subsequent requests.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| X-App-Code | header | Web app code | Yes | string |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: PassportLoginPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Web login completed | application/json: PassportAccessTokenResponse |
| 401 | Unauthorized | application/json: EndUserLoginRequiredError ErrorResponse |
| 503 | Service Unavailable | application/json: WebLoginUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /remote-files/upload
Upload a file from a remote URL
Upload a file from a remote URL Downloads a file from the provided remote URL and uploads it to the platform storage for use in web applications.
Args: app_model: The associated application model end_user: The end user making the request
JSON Parameters: url: The remote URL to download the file from (required)
Returns: dict: File information including ID, signed URL, and metadata int: HTTP status code 201 for success
Raises: RemoteFileInvalidUrlError: Remote file URL is invalid RemoteFileUrlBlockedError: Remote file URL is blocked RemoteFileNotFoundError: Remote file does not exist RemoteFileAccessDeniedError: Remote file requires authorization RemoteFileUnavailableError: Remote file is unavailable RemoteFileInvalidResponseError: Remote file response is invalid FileTooLargeError: File exceeds size limit UnsupportedFileTypeError: File type not supported
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: RemoteFileUploadPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 201 | Remote file uploaded successfully | application/json: FileWithSignedUrl |
| 400 | Invalid, blocked, or inaccessible remote file URL | application/json: FileExtensionBlockedError RemoteFileAccessDeniedError RemoteFileInvalidUrlError RemoteFileUrlBlockedError ErrorResponse |
| 404 | Remote file not found | application/json: RemoteFileNotFoundError ErrorResponse |
| 413 | File too large | application/json: FileTooLargeError ErrorResponse |
| 415 | Unsupported file type | application/json: UnsupportedFileTypeError ErrorResponse |
| 422 | Request payload validation failed | application/json: ErrorResponse |
| 500 | Internal server error | application/json: ErrorResponse |
| 502 | Remote file unavailable or returned an invalid response | application/json: RemoteFileInvalidResponseError RemoteFileUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /remote-files/{url}
Get information about a remote file
Get information about a remote file Retrieves basic information about a file located at a remote URL, including content type and content length.
Args: app_model: The associated application model end_user: The end user making the request url: URL-encoded path to the remote file
Returns: dict: Remote file information including type and length
Raises: HTTPException: If the remote file cannot be accessed
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| url | path | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Remote file information retrieved successfully | application/json: RemoteFileInfo |
| 400 | Invalid, blocked, or inaccessible remote file URL | application/json: RemoteFileAccessDeniedError RemoteFileInvalidUrlError RemoteFileUrlBlockedError ErrorResponse |
| 404 | Remote file not found | application/json: RemoteFileNotFoundError ErrorResponse |
| 500 | Internal server error | application/json: ErrorResponse |
| 502 | Remote file unavailable or returned an invalid response | application/json: RemoteFileInvalidResponseError RemoteFileUnavailableError ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /saved-messages
Retrieve paginated list of saved messages for a completion application.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| last_id | query | No | string | |
| limit | query | No | integer, Default: 20 |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SavedMessageInfiniteScrollPagination |
| 400 | Bad Request - Not a completion app | application/json: NotCompletionAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | App Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /saved-messages
Save a specific message for later reference.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | query | Message UUID to save | Yes | string |
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: SavedMessageCreatePayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Message saved successfully | application/json: ResultResponse |
| 400 | Bad Request - Not a completion app | application/json: NotCompletionAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Message Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[DELETE] /saved-messages/{message_id}
Remove a message from saved messages.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | path | Message UUID to delete | Yes | string (uuid) |
Responses
| Code | Description | Schema |
|---|---|---|
| 204 | Message removed successfully | |
| 400 | Bad Request - Not a completion app | application/json: NotCompletionAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Message Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /site
Retrieve app site info
Retrieve app site information and configuration.
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: WebAppSiteResponse |
| 400 | Bad Request | application/json: ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 403 | Forbidden | application/json: ErrorResponse |
| 404 | App Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /system-features
Get the non-sensitive bootstrap snapshot exposed before authentication
Get the non-sensitive bootstrap snapshot exposed before Console or Web authentication. This is not a general feature registry.
This endpoint is akin to the SystemFeatureApi endpoint in api/controllers/console/feature.py,
except it is intended for use by the web app, instead of the console dashboard.
Authentication configuration must be available before the authentication flow can be selected.
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | System features retrieved successfully | application/json: SystemFeatureModel |
| 500 | Internal server error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /text-to-audio
Convert text to audio
Convert text to audio using text-to-speech service.
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: TextToAudioPayload |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | |
| 400 | Bad Request | application/json: AppUnavailableError CompletionRequestError ModelCurrentlyNotSupportError ProviderNotInitializeError ProviderQuotaExceededError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /webapp/access-mode
Retrieve the access mode for a web application (public or restricted).
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| appCode | query | Application code | No | string |
| appId | query | Application ID | No | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: AccessModeResponse |
| 400 | Bad Request | application/json: InvalidParamError ErrorResponse |
| 404 | App Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| 503 | Web App Access Service Unavailable | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[GET] /webapp/permission
Check if user has permission to access a web application.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| appId | query | Application ID | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: BooleanResultResponse |
| 400 | Bad Request | application/json: ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| 503 | Web App Access Service Unavailable | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
[POST] /workflows/run
Run workflow
Execute a workflow with provided inputs and files.
Request Body
| Required | Schema |
|---|---|
| Yes | application/json: WorkflowRunPayload |
Responses
[POST] /workflows/tasks/{task_id}/stop
Stop workflow task
Stop a running workflow task.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Task ID to stop | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SimpleResultResponse |
| 400 | Bad Request | application/json: NotWorkflowAppError ErrorResponse |
| 401 | Unauthorized | application/json: ErrorResponse |
| 404 | Task Not Found | application/json: ErrorResponse |
| 500 | Internal Server Error | application/json: ErrorResponse |
| default | Error | application/json: ErrorResponse |
default
Default namespace
[GET] /workflow/{task_id}/events
Get workflow execution events stream after resume
GET /api/workflow/<task_id>/events
Returns Server-Sent Events stream.
Parameters
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Yes | string |
Responses
| Code | Description | Schema |
|---|---|---|
| 200 | SSE event stream | application/json: EventStreamResponse |
| 400 | Bad Request | application/json: InvalidParamError ErrorResponse |
| default | Error | application/json: ErrorResponse |
Schemas
AccessModeResponse
| Name | Type | Description | Required |
|---|---|---|---|
| accessMode | string | Yes |
AccessTokenData
| Name | Type | Description | Required |
|---|---|---|---|
| access_token | string | Yes |
AccessTokenResultResponse
| Name | Type | Description | Required |
|---|---|---|---|
| data | AccessTokenData | Yes | |
| result | string | Yes |
AccountBannedError
Account is banned.
| Name | Type | Description | Required |
|---|---|---|---|
| AccountBannedError | Account is banned. |
AgentNotPublishedError
Agent has not been published. Please publish the Agent before using the web app.
| Name | Type | Description | Required |
|---|---|---|---|
| AgentNotPublishedError | Agent has not been published. Please publish the Agent before using the web app. |
AgentThought
| Name | Type | Description | Required |
|---|---|---|---|
| answer | string | No | |
| chain_id | string | No | |
| created_at | integer | No | |
| files | [ string ] | Yes | |
| id | string | Yes | |
| message_id | string | Yes | |
| observation | string | No | |
| position | integer | Yes | |
| thought | string | No | |
| tool | string | No | |
| tool_input | string | No | |
| tool_labels | AnyJSONValue | Labels for tools used. | Yes |
AnyJSONValue
| Name | Type | Description | Required |
|---|---|---|---|
| AnyJSONValue |
AppAccessModeQuery
| Name | Type | Description | Required |
|---|---|---|---|
| appCode | string | Application code | No |
| appId | string | Application ID | No |
AppMetaResponse
| Name | Type | Description | Required |
|---|---|---|---|
| tool_icons | object | Tool icon metadata keyed by tool name | No |
AppMode
| Name | Type | Description | Required |
|---|---|---|---|
| AppMode | string |
AppMoreLikeThisDisabledError
The 'More like this' feature is disabled. Please refresh your page.
| Name | Type | Description | Required |
|---|---|---|---|
| AppMoreLikeThisDisabledError | The 'More like this' feature is disabled. Please refresh your page. |
AppPermissionQuery
| Name | Type | Description | Required |
|---|---|---|---|
| appId | string | Application ID | Yes |
AppSelectorScope
| Name | Type | Description | Required |
|---|---|---|---|
| AppSelectorScope | string |
AppSuggestedQuestionsAfterAnswerDisabledError
The 'Suggested Questions After Answer' feature is disabled. Please refresh your page.
| Name | Type | Description | Required |
|---|---|---|---|
| AppSuggestedQuestionsAfterAnswerDisabledError | The 'Suggested Questions After Answer' feature is disabled. Please refresh your page. |
AppUnavailableError
App unavailable, please check your app configurations.
| Name | Type | Description | Required |
|---|---|---|---|
| AppUnavailableError | App unavailable, please check your app configurations. |
AudioToTextResponse
| Name | Type | Description | Required |
|---|---|---|---|
| text | string | Yes |
AudioTooLargeError
Audio size exceeded. {message}
| Name | Type | Description | Required |
|---|---|---|---|
| AudioTooLargeError | Audio size exceeded. {message} |
AuthenticationFailedError
Invalid email or password.
| Name | Type | Description | Required |
|---|---|---|---|
| AuthenticationFailedError | Invalid email or password. |
BooleanResultResponse
| Name | Type | Description | Required |
|---|---|---|---|
| result | boolean | Yes |
BrandingModel
| Name | Type | Description | Required |
|---|---|---|---|
| application_title | string | Yes | |
| enabled | boolean | Yes | |
| favicon | string | Yes | |
| login_page_logo | string | Yes | |
| workspace_logo | string | Yes |
ButtonStyle
Button styles for user actions.
| Name | Type | Description | Required |
|---|---|---|---|
| ButtonStyle | string | Button styles for user actions. |
ChatMessagePayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string | Opaque connection contract revision from Web App parameters. Required for EndUser tool authentication; must match current authorization requirements; verified plugin upgrades may inherit consent. | No |
| connections | object | Chatflow choices keyed by independent authorization node ID. Omit on an existing conversation to reuse its last accepted choices. Explicit choices replace the saved configuration after validation. An explicit null, empty map, or missing node does not inherit saved choices. Required for a new conversation with EndUser tool authentication. | No |
| conversation_id | string | Conversation ID | No |
| files | [ object ] | Files to be processed | No |
| inputs | object | Input variables for the chat | Yes |
| parent_message_id | string | Parent message ID | No |
| query | string | User query/message | Yes |
| response_mode | string, Available values: "blocking", "streaming" |
Response mode: blocking or streaming | No |
| retriever_from | string, Default: web_app |
Source of retriever | No |
ClaimablePassportResponse
| Name | Type | Description | Required |
|---|---|---|---|
| app_code | string | Yes | |
| app_name | string | Yes | |
| connection_count | integer | Current Guest Connection count; does not determine Passport eligibility | Yes |
| index | integer | Index of the candidate in the request's passports list | Yes |
ClaimablePassportsPayload
| Name | Type | Description | Required |
|---|---|---|---|
| passports | [ string ] | Yes |
ClaimablePassportsResponse
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ ClaimablePassportResponse ] | Yes |
CompletionMessagePayload
| Name | Type | Description | Required |
|---|---|---|---|
| files | [ object ] | Files to be processed | No |
| inputs | object | Input variables for the completion | Yes |
| query | string | Query text for completion | No |
| response_mode | string, Available values: "blocking", "streaming" |
Response mode: blocking or streaming | No |
| retriever_from | string, Default: web_app |
Source of retriever | No |
CompletionRequestError
Completion request failed.
| Name | Type | Description | Required |
|---|---|---|---|
| CompletionRequestError | Completion request failed. |
ConnectionClaimErrorResponse
| Name | Type | Description | Required |
|---|---|---|---|
| code | string, Available values: "app_not_found", "connection_claim_unavailable", "connection_conflict", "end_user_login_required", "unauthorized", "web_app_access_denied" |
Enum: "app_not_found", "connection_claim_unavailable", "connection_conflict", "end_user_login_required", "unauthorized", "web_app_access_denied" |
Yes |
| message | string | Yes | |
| status | integer | Yes |
ConnectionClaimFailureResponse
| Name | Type | Description | Required |
|---|---|---|---|
| error | ConnectionClaimErrorResponse | Yes | |
| index | integer | Yes | |
| status | string | Yes |
ConnectionClaimPayload
| Name | Type | Description | Required |
|---|---|---|---|
| passports | [ string ] | Yes |
ConnectionClaimPreflightDetails
| Name | Type | Description | Required |
|---|---|---|---|
| failures | [ ConnectionClaimFailureResponse ] | Yes |
ConnectionClaimPreflightFailedError
Connection claim preflight failed. No Connections were transferred.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionClaimPreflightFailedError | Connection claim preflight failed. No Connections were transferred. |
ConnectionClaimResponse
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ ConnectionClaimSuccessResponse ConnectionClaimFailureResponse ] |
Yes |
ConnectionClaimSuccessResponse
| Name | Type | Description | Required |
|---|---|---|---|
| access_token | string | Yes | |
| app_code | string | Yes | |
| claimed_connections | integer | Number transferred by this item; zero when no Guest Connections remain | Yes |
| index | integer | Yes | |
| status | string | Yes |
ConnectionClaimUnavailableError
Connection claim is temporarily unavailable. Please retry.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionClaimUnavailableError | Connection claim is temporarily unavailable. Please retry. |
ConnectionConfigurationInvalidError
The connection is not compatible with this tool configuration.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionConfigurationInvalidError | The connection is not compatible with this tool configuration. |
ConnectionConfigurationResponse
| Name | Type | Description | Required |
|---|---|---|---|
| connections | object | Saved Connection details keyed by authorization node ID, not a readiness result. Inaccessible Connection references are returned as null. | Yes |
ConnectionConflictError
Connection changed during the operation.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionConflictError | Connection changed during the operation. |
ConnectionCredentialSchemaResponse
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionCredentialSchemaResponse | array |
ConnectionCredentialStatus
Last known credential lifecycle state, not readiness for a particular node.
Keep the existing storage values. App-specific Client mismatches and unbinding must never be written back as a global credential state change.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionCredentialStatus | string | Last known credential lifecycle state, not readiness for a particular node. Keep the existing storage values. App-specific Client mismatches and unbinding must never be written back as a global credential state change. |
ConnectionCredentialType
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionCredentialType | string |
ConnectionCredentialsInvalidError
Invalid credentials for this provider.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionCredentialsInvalidError | Invalid credentials for this provider. |
ConnectionCredentialsUnavailableError
Connection credentials are temporarily unavailable.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionCredentialsUnavailableError | Connection credentials are temporarily unavailable. |
ConnectionNotFoundError
Connection not found.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionNotFoundError | Connection not found. |
ConnectionOauthFailedError
OAuth authorization could not be completed. Start authorization again.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionOauthFailedError | OAuth authorization could not be completed. Start authorization again. |
ConnectionPreflightStatus
| Name | Type | Description | Required |
|---|---|---|---|
| check | CredentialCheckResult | Yes | |
| connection_id | string | Yes | |
| node_id | string | Independent authorization node ID to use as the selection key. | Yes |
| status | NodeConnectionStatus | Effective node status; null when availability cannot be determined. | Yes |
ConnectionReauthorizationRequiredError
The OAuth client changed or is unavailable. Start authorization again.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionReauthorizationRequiredError | The OAuth client changed or is unavailable. Start authorization again. |
ConnectionRequiredError
Select a connection for every required tool before running.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionRequiredError | Select a connection for every required tool before running. |
ConnectionRevisionChangeDetails
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string | Yes |
ConnectionRevisionChangedError
The connection requirements changed. Refresh and confirm again.
| Name | Type | Description | Required |
|---|---|---|---|
| ConnectionRevisionChangedError | The connection requirements changed. Refresh and confirm again. |
ConversationInfiniteScrollPagination
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ SimpleConversation ] | Yes | |
| has_more | boolean | Yes | |
| limit | integer | Yes |
ConversationListQuery
| Name | Type | Description | Required |
|---|---|---|---|
| last_id | string | No | |
| limit | integer, Default: 20 |
No | |
| pinned | boolean | No | |
| sort_by | string, Available values: "-created_at", "-updated_at", "created_at", "updated_at", Default: -updated_at |
Enum: "-created_at", "-updated_at", "created_at", "updated_at" |
No |
ConversationRenamePayload
| Name | Type | Description | Required |
|---|---|---|---|
| auto_generate | boolean | Automatically generate the conversation name. When true, the name field is ignored. |
No |
| name | string | Conversation name. Required when auto_generate is false. |
No |
CredentialCheckResult
| Name | Type | Description | Required |
|---|---|---|---|
| checked_at | integer | Yes | |
| reason_code | string, Available values: "credential_expired", "credential_invalid", "credential_revoked", "provider_network_error", "provider_rate_limited", "provider_timeout", "provider_unavailable" |
Yes | |
| retryable | boolean | Yes | |
| status | string, Available values: "invalid", "temporarily_unavailable", "unsupported", "valid" |
Enum: "invalid", "temporarily_unavailable", "unsupported", "valid" |
Yes |
CredentialCheckUnavailableError
Credential validation is temporarily unavailable.
| Name | Type | Description | Required |
|---|---|---|---|
| CredentialCheckUnavailableError | Credential validation is temporarily unavailable. |
DeploymentEdition
Enum representing the deployment edition of the platform.
| Name | Type | Description | Required |
|---|---|---|---|
| DeploymentEdition | string | Enum representing the deployment edition of the platform. |
EmailCodeError
Email code is invalid or expired.
| Name | Type | Description | Required |
|---|---|---|---|
| EmailCodeError | Email code is invalid or expired. |
EmailCodeLoginSendPayload
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| language | string | No |
EmailCodeLoginVerifyPayload
| Name | Type | Description | Required |
|---|---|---|---|
| code | string | Yes | |
| string | Yes | ||
| token | string | Yes |
EmailPasswordResetLimitError
Too many failed password reset attempts. Please try again in 24 hours.
| Name | Type | Description | Required |
|---|---|---|---|
| EmailPasswordResetLimitError | Too many failed password reset attempts. Please try again in 24 hours. |
EmailSendIpLimitError
Too many emails have been sent from this IP address recently. Please try again later.
| Name | Type | Description | Required |
|---|---|---|---|
| EmailSendIpLimitError | Too many emails have been sent from this IP address recently. Please try again later. |
EndUserConnectionCreatePayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string (uuid) | Opaque revision issued for the current Web App. Use App parameters for tool-node operations or the owned Connection revision endpoint for Provider management. | Yes |
| credentials | object | Yes | |
| name | string | Omit or leave empty to generate an incremental API KEY name. | No |
| node_id | string | Yes |
EndUserConnectionListQuery
| Name | Type | Description | Required |
|---|---|---|---|
| cursor | string | No | |
| limit | integer, Default: 20 |
No | |
| provider | string | No |
EndUserConnectionListResponse
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ EndUserConnectionResponse ] | Yes | |
| has_more | boolean | Yes | |
| next_cursor | string | Yes |
EndUserConnectionOAuthPayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string (uuid) | Opaque revision issued for the current Web App. Use App parameters for tool-node operations or the owned Connection revision endpoint for Provider management. | Yes |
| name | string | Omit or leave empty to generate an incremental AUTH name. | No |
| node_id | string | Yes |
EndUserConnectionOAuthResponse
| Name | Type | Description | Required |
|---|---|---|---|
| authorization_url | string | Yes |
EndUserConnectionPreflightPayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string (uuid) | Opaque revision issued for the current Web App. Use App parameters for tool-node operations or the owned Connection revision endpoint for Provider management. | Yes |
| connections | object | Explicit choices keyed by independent authorization node ID. Missing/null choices remain disconnected; saved choices are never inferred. | Yes |
| conversation_id | string | Existing Chatflow conversation. Omit for a new conversation or plain Workflow. | No |
EndUserConnectionPreflightResponse
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string | Connection contract revision evaluated by this preflight. | Yes |
| connections | [ ConnectionPreflightStatus ] | Yes | |
| ready | boolean | Yes |
EndUserConnectionReauthorizePayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string (uuid) | Opaque revision issued for the current Web App. Use App parameters for tool-node operations or the owned Connection revision endpoint for Provider management. | Yes |
EndUserConnectionResponse
| Name | Type | Description | Required |
|---|---|---|---|
| account_label | string | Yes | |
| created_at | integer | Yes | |
| credential_status | ConnectionCredentialStatus | Yes | |
| credential_type | ConnectionCredentialType | Yes | |
| expires_at | integer | Yes | |
| id | string | Yes | |
| last_active_at | integer | Yes | |
| name | string | Yes | |
| provider | string | Yes | |
| updated_at | integer | Yes |
EndUserConnectionRevisionResponse
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string (uuid) | Provider revision scoped to this Web App, for operations on the owned Connection. | Yes |
EndUserConnectionUpdatePayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string (uuid) | Provider revision required when replacing credentials. | No |
| credentials | object | No | |
| name | string | No |
EndUserLoginRequiredError
Sign in to use personal connections.
| Name | Type | Description | Required |
|---|---|---|---|
| EndUserLoginRequiredError | Sign in to use personal connections. |
ErrorResponse
Documented non-2xx body emitted by register_external_error_handlers.
params and details appear only on the errors that set them. The schema
stays open because HTTPException.data may carry extra keys.
| Name | Type | Description | Required |
|---|---|---|---|
| code | string | Yes | |
| details | object | No | |
| message | string | Yes | |
| params | string | No | |
| status | integer | Yes |
EventStreamResponse
| Name | Type | Description | Required |
|---|---|---|---|
| EventStreamResponse | string |
ExecutionContentType
| Name | Type | Description | Required |
|---|---|---|---|
| ExecutionContentType | string |
FileExtensionBlockedError
The file extension is blocked for security reasons.
| Name | Type | Description | Required |
|---|---|---|---|
| FileExtensionBlockedError | The file extension is blocked for security reasons. |
FileInputConfig
| Name | Type | Description | Required |
|---|---|---|---|
| allowed_file_extensions | [ string ] | No | |
| allowed_file_types | [ FileType ] | No | |
| allowed_file_upload_methods | [ FileTransferMethod ] | No | |
| output_variable_name | string | Yes | |
| type | string | No |
FileListInputConfig
| Name | Type | Description | Required |
|---|---|---|---|
| allowed_file_extensions | [ string ] | No | |
| allowed_file_types | [ FileType ] | No | |
| allowed_file_upload_methods | [ FileTransferMethod ] | No | |
| number_limits | integer | No | |
| output_variable_name | string | Yes | |
| type | string | No |
FileResponse
| Name | Type | Description | Required |
|---|---|---|---|
| conversation_id | string | No | |
| created_at | integer | No | |
| created_by | string | No | |
| extension | string | No | |
| file_key | string | No | |
| id | string (uuid) | Yes | |
| mime_type | string | No | |
| name | string | Yes | |
| original_url | string | No | |
| preview_url | string | No | |
| reference | string | No | |
| size | integer | Yes | |
| source_url | string | No | |
| tenant_id | string | No | |
| user_id | string | No |
FileTooLargeError
File size exceeded. {message}
| Name | Type | Description | Required |
|---|---|---|---|
| FileTooLargeError | File size exceeded. {message} |
FileTransferMethod
| Name | Type | Description | Required |
|---|---|---|---|
| FileTransferMethod | string |
FileType
| Name | Type | Description | Required |
|---|---|---|---|
| FileType | string |
FileWithSignedUrl
| Name | Type | Description | Required |
|---|---|---|---|
| created_at | integer | Yes | |
| created_by | string | Yes | |
| extension | string | Yes | |
| id | string | Yes | |
| mime_type | string | Yes | |
| name | string | Yes | |
| size | integer | Yes | |
| url | string | Yes |
FilenameNotExistsError
The specified filename does not exist.
| Name | Type | Description | Required |
|---|---|---|---|
| FilenameNotExistsError | The specified filename does not exist. |
ForgotPasswordCheckPayload
| Name | Type | Description | Required |
|---|---|---|---|
| code | string | Yes | |
| string | Yes | ||
| token | string | Yes |
ForgotPasswordResetPayload
| Name | Type | Description | Required |
|---|---|---|---|
| new_password | string | Yes | |
| password_confirm | string | Yes | |
| token | string | Yes |
ForgotPasswordSendPayload
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| language | string | No |
FormInputConfig
| Name | Type | Description | Required |
|---|---|---|---|
| FormInputConfig | ParagraphInputConfig SelectInputConfig FileInputConfig FileListInputConfig |
GeneratedAppResponse
| Name | Type | Description | Required |
|---|---|---|---|
| GeneratedAppResponse |
HumanInputContent
| Name | Type | Description | Required |
|---|---|---|---|
| form_definition | HumanInputFormDefinition | No | |
| form_submission_data | HumanInputFormSubmissionData | No | |
| submitted | boolean | Yes | |
| type | ExecutionContentType | No | |
| workflow_run_id | string | Yes |
HumanInputFileUploadFormPayload
Parsed multipart form fields for HITL uploads.
| Name | Type | Description | Required |
|---|---|---|---|
| url | string | Remote file URL | No |
HumanInputFormDefinition
| Name | Type | Description | Required |
|---|---|---|---|
| actions | [ UserActionConfig ] | No | |
| display_in_ui | boolean | No | |
| expiration_time | integer | Yes | |
| form_content | string | Yes | |
| form_id | string | Yes | |
| form_token | string | No | |
| inputs | [ FormInputConfig ] | No | |
| node_id | string | Yes | |
| node_title | string | Yes | |
| resolved_default_values | object | No |
HumanInputFormDefinitionResponse
| Name | Type | Description | Required |
|---|---|---|---|
| expiration_time | integer | Yes | |
| form_content | string | Yes | |
| inputs | [ FormInputConfig ] | Yes | |
| resolved_default_values | object | Yes | |
| site | WebAppSiteResponse | No | |
| user_actions | [ UserActionConfig ] | Yes |
HumanInputFormExpiredError
| Name | Type | Description | Required |
|---|---|---|---|
| HumanInputFormExpiredError |
HumanInputFormSubmissionData
| Name | Type | Description | Required |
|---|---|---|---|
| action_id | string | Yes | |
| action_text | string | Yes | |
| node_id | string | Yes | |
| node_title | string | Yes | |
| rendered_content | string | Yes | |
| submitted_data | object | No |
HumanInputFormSubmitPayload
| Name | Type | Description | Required |
|---|---|---|---|
| action | string | ID of the action button the recipient selected. Must match one of the id values from the form's user_actions list. |
Yes |
| inputs | object | Submitted human input values keyed by output variable name. Use a string for paragraph or select input values, a file mapping for file inputs, and a list of file mappings for file-list inputs. Local file mappings use transfer_method=local_file with upload_file_id; remote file mappings use transfer_method=remote_url with url or remote_url. |
Yes |
HumanInputFormSubmitResponse
| Name | Type | Description | Required |
|---|
HumanInputFormSubmittedError
This form has already been submitted by another user, form_id={form_id}
| Name | Type | Description | Required |
|---|---|---|---|
| HumanInputFormSubmittedError | This form has already been submitted by another user, form_id={form_id} |
HumanInputUploadTokenResponse
| Name | Type | Description | Required |
|---|---|---|---|
| expires_at | integer | Yes | |
| upload_token | string | Yes |
I18nObject
Model class for i18n object.
| Name | Type | Description | Required |
|---|---|---|---|
| en_US | string | Yes | |
| ja_JP | string | No | |
| pt_BR | string | No | |
| zh_Hans | string | No |
InvalidEmailError
The email address is not valid.
| Name | Type | Description | Required |
|---|---|---|---|
| InvalidEmailError | The email address is not valid. |
InvalidFormDataError
| Name | Type | Description | Required |
|---|---|---|---|
| InvalidFormDataError |
InvalidOrExpiredTokenError
The token is invalid or has expired.
| Name | Type | Description | Required |
|---|---|---|---|
| InvalidOrExpiredTokenError | The token is invalid or has expired. |
InvalidParamError
| Name | Type | Description | Required |
|---|---|---|---|
| InvalidParamError |
InvalidUploadTokenError
Upload token is invalid or expired.
| Name | Type | Description | Required |
|---|---|---|---|
| InvalidUploadTokenError | Upload token is invalid or expired. |
JSONValueType
| Name | Type | Description | Required |
|---|---|---|---|
| JSONValueType |
JsonValue
| Name | Type | Description | Required |
|---|---|---|---|
| JsonValue |
KnowledgeFsCitation
Immutable evidence identity; no signed URLs, tokens or storage keys.
| Name | Type | Description | Required |
|---|---|---|---|
| artifact_hash | string | Yes | |
| control_space_id | string | Yes | |
| document_asset_id | string | Yes | |
| document_title | string | No | |
| document_version | integer | No | |
| end_offset | integer | No | |
| id | string | Yes | |
| node_id | string | Yes | |
| page_number | integer | No | |
| parse_artifact_id | string | No | |
| section_path | [ string ] | No | |
| space_name | string | Yes | |
| start_offset | integer | No |
LicenseStatus
| Name | Type | Description | Required |
|---|---|---|---|
| LicenseStatus | string |
LicenseStatusModel
| Name | Type | Description | Required |
|---|---|---|---|
| status | LicenseStatus | Yes |
LoginMode
| Name | Type | Description | Required |
|---|---|---|---|
| LoginMode | string |
LoginPayload
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| password | string | Yes |
LoginStatusQuery
| Name | Type | Description | Required |
|---|---|---|---|
| app_code | string | Web app code | No |
| mode | LoginMode | end_user reports actual Account authentication instead of Public App access | No |
| user_id | string | End user session ID | No |
LoginStatusResponse
| Name | Type | Description | Required |
|---|---|---|---|
| app_logged_in | boolean | Yes | |
| logged_in | boolean | Yes |
MalformedUploadTokenError
The upload token is malformed.
| Name | Type | Description | Required |
|---|---|---|---|
| MalformedUploadTokenError | The upload token is malformed. |
MessageFeedbackPayload
| Name | Type | Description | Required |
|---|---|---|---|
| content | string | Optional text feedback providing additional detail. | No |
| rating | string, Available values: "dislike", "like" |
Feedback rating. Set to null to revoke previously submitted feedback. |
No |
MessageFile
| Name | Type | Description | Required |
|---|---|---|---|
| belongs_to | string | No | |
| filename | string | Yes | |
| id | string (uuid) | Yes | |
| mime_type | string | No | |
| size | integer | No | |
| transfer_method | string | Yes | |
| type | string | Yes | |
| upload_file_id | string | No | |
| url | string | No |
MessageListQuery
| Name | Type | Description | Required |
|---|---|---|---|
| conversation_id | string | Conversation ID. | Yes |
| first_id | string | The ID of the first chat record on the current page. Omit this value to fetch the latest messages; for subsequent pages, use the first message ID from the current list to fetch older messages. | No |
| limit | integer, Default: 20 |
Number of chat history messages to return per request. | No |
MessageMoreLikeThisQuery
| Name | Type | Description | Required |
|---|---|---|---|
| response_mode | string, Available values: "blocking", "streaming" |
Response mode Enum: "blocking", "streaming" |
Yes |
ModelCurrentlyNotSupportError
Dify Hosted OpenAI trial currently not support the GPT-4 model.
| Name | Type | Description | Required |
|---|---|---|---|
| ModelCurrentlyNotSupportError | Dify Hosted OpenAI trial currently not support the GPT-4 model. |
ModelSelectorScope
| Name | Type | Description | Required |
|---|---|---|---|
| ModelSelectorScope | string |
NoAudioUploadedError
Please upload your audio.
| Name | Type | Description | Required |
|---|---|---|---|
| NoAudioUploadedError | Please upload your audio. |
NoFileUploadedError
Please upload your file.
| Name | Type | Description | Required |
|---|---|---|---|
| NoFileUploadedError | Please upload your file. |
NodeConnectionStatus
The current selection's effective status for one published Tool node.
| Name | Type | Description | Required |
|---|---|---|---|
| NodeConnectionStatus | string | The current selection's effective status for one published Tool node. |
NotChatAppError
Please check if your app mode matches the right API route.
| Name | Type | Description | Required |
|---|---|---|---|
| NotChatAppError | Please check if your app mode matches the right API route. |
NotCompletionAppError
Please check if your Completion app mode matches the right API route.
| Name | Type | Description | Required |
|---|---|---|---|
| NotCompletionAppError | Please check if your Completion app mode matches the right API route. |
NotWorkflowAppError
Please check if your Workflow app mode matches the right API route.
| Name | Type | Description | Required |
|---|---|---|---|
| NotWorkflowAppError | Please check if your Workflow app mode matches the right API route. |
Option
| Name | Type | Description | Required |
|---|---|---|---|
| label | I18nObject | The label of the option | Yes |
| value | string | The value of the option | Yes |
ParagraphInputConfig
Form input definition.
| Name | Type | Description | Required |
|---|---|---|---|
| default | StringSource | Raw default-value configuration for the paragraph input. Runtime-resolved values are exposed in the surrounding resolved_default_values mapping. |
No |
| output_variable_name | string | Yes | |
| type | string | No |
PassportAccessTokenResponse
| Name | Type | Description | Required |
|---|---|---|---|
| access_token | string | Yes |
PassportLoginPayload
| Name | Type | Description | Required |
|---|---|---|---|
| code_verifier | string | Yes | |
| login_code | string | Yes |
PassportQuery
| Name | Type | Description | Required |
|---|---|---|---|
| mode | LoginMode | end_user reuses Account login; console preserves legacy Web App authentication | No |
| user_id | string | End user session ID | No |
PasswordMismatchError
The passwords do not match.
| Name | Type | Description | Required |
|---|---|---|---|
| PasswordMismatchError | The passwords do not match. |
PasswordResetRateLimitExceededError
Too many password reset emails have been sent. Please try again in {minutes} minutes.
| Name | Type | Description | Required |
|---|---|---|---|
| PasswordResetRateLimitExceededError | Too many password reset emails have been sent. Please try again in {minutes} minutes. |
PluginInstallationPermissionModel
| Name | Type | Description | Required |
|---|---|---|---|
| plugin_installation_scope | PluginInstallationScope | Yes | |
| restrict_to_marketplace_only | boolean | Yes |
PluginInstallationScope
| Name | Type | Description | Required |
|---|---|---|---|
| PluginInstallationScope | string |
ProviderConfig
Model class for common provider settings like credentials
| Name | Type | Description | Required |
|---|---|---|---|
| default | integer string number boolean |
No | |
| help | I18nObject | No | |
| label | I18nObject | No | |
| multiple | boolean | No | |
| name | string | The name of the credentials | Yes |
| options | [ Option ] | No | |
| placeholder | I18nObject | No | |
| required | boolean | No | |
| scope | AppSelectorScope ModelSelectorScope ToolSelectorScope |
No | |
| type | ProviderConfigType | The type of the credentials | Yes |
| url | string | No |
ProviderConfigType
| Name | Type | Description | Required |
|---|---|---|---|
| ProviderConfigType | string |
ProviderNotInitializeError
No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials.
| Name | Type | Description | Required |
|---|---|---|---|
| ProviderNotInitializeError | No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials. |
ProviderNotSupportSpeechToTextError
Provider not support speech to text.
| Name | Type | Description | Required |
|---|---|---|---|
| ProviderNotSupportSpeechToTextError | Provider not support speech to text. |
ProviderQuotaExceededError
Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials.
| Name | Type | Description | Required |
|---|---|---|---|
| ProviderQuotaExceededError | Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials. |
RateLimitError
Rate Limit Error
| Name | Type | Description | Required |
|---|---|---|---|
| RateLimitError | Rate Limit Error |
RemoteFileAccessDeniedError
The remote file cannot be accessed without authorization.
| Name | Type | Description | Required |
|---|---|---|---|
| RemoteFileAccessDeniedError | The remote file cannot be accessed without authorization. |
RemoteFileInfo
| Name | Type | Description | Required |
|---|---|---|---|
| file_length | integer | Yes | |
| file_type | string | Yes |
RemoteFileInvalidResponseError
The remote file server returned an invalid response.
| Name | Type | Description | Required |
|---|---|---|---|
| RemoteFileInvalidResponseError | The remote file server returned an invalid response. |
RemoteFileInvalidUrlError
The remote file URL is invalid.
| Name | Type | Description | Required |
|---|---|---|---|
| RemoteFileInvalidUrlError | The remote file URL is invalid. |
RemoteFileNotFoundError
The remote file could not be found.
| Name | Type | Description | Required |
|---|---|---|---|
| RemoteFileNotFoundError | The remote file could not be found. |
RemoteFileUnavailableError
The remote file is temporarily unavailable.
| Name | Type | Description | Required |
|---|---|---|---|
| RemoteFileUnavailableError | The remote file is temporarily unavailable. |
RemoteFileUploadPayload
| Name | Type | Description | Required |
|---|---|---|---|
| url | string (uri) | Remote file URL | Yes |
RemoteFileUrlBlockedError
The remote file URL is not allowed.
| Name | Type | Description | Required |
|---|---|---|---|
| RemoteFileUrlBlockedError | The remote file URL is not allowed. |
ResultResponse
| Name | Type | Description | Required |
|---|---|---|---|
| result | string | Yes |
RetrieverResource
| Name | Type | Description | Required |
|---|---|---|---|
| content | string | No | |
| created_at | integer | No | |
| data_source_type | string | No | |
| dataset_id | string | No | |
| dataset_name | string | No | |
| doc_metadata | object | No | |
| document_asset_id | string | No | |
| document_id | string | No | |
| document_name | string | No | |
| document_revision | integer | No | |
| document_version | integer | No | |
| files | [ object ] | No | |
| hit_count | integer | No | |
| id | string (uuid) | No | |
| index_node_hash | string | No | |
| knowledge_fs_citation | KnowledgeFsCitation | No | |
| message_id | string (uuid) | No | |
| page | integer | No | |
| position | integer | Yes | |
| retriever_from | string | No | |
| score | number | No | |
| segment_id | string | No | |
| segment_position | integer | No | |
| summary | string | No | |
| title | string | No | |
| word_count | integer | No |
SSOProtocol
| Name | Type | Description | Required |
|---|---|---|---|
| SSOProtocol | string |
SavedMessageCreatePayload
| Name | Type | Description | Required |
|---|---|---|---|
| message_id | string | Yes |
SavedMessageInfiniteScrollPagination
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ SavedMessageItem ] | Yes | |
| has_more | boolean | Yes | |
| limit | integer | Yes |
SavedMessageItem
| Name | Type | Description | Required |
|---|---|---|---|
| answer | string | Yes | |
| created_at | integer | No | |
| feedback | SimpleFeedback | No | |
| id | string | Yes | |
| inputs | object | Yes | |
| message_files | [ MessageFile ] | Yes | |
| query | string | Yes |
SavedMessageListQuery
| Name | Type | Description | Required |
|---|---|---|---|
| last_id | string | No | |
| limit | integer, Default: 20 |
No |
SelectInputConfig
| Name | Type | Description | Required |
|---|---|---|---|
| option_source | StringListSource | Source of options for select inputs. Present only when type is select. |
Yes |
| output_variable_name | string | Yes | |
| type | string | No |
ShallowJSONValue
| Name | Type | Description | Required |
|---|---|---|---|
| ShallowJSONValue | string integer number boolean object [ object ] |
SimpleConversation
| Name | Type | Description | Required |
|---|---|---|---|
| created_at | integer | No | |
| id | string (uuid) | Yes | |
| inputs | object | Yes | |
| introduction | string | No | |
| name | string | Yes | |
| status | string | Yes | |
| updated_at | integer | No |
SimpleFeedback
| Name | Type | Description | Required |
|---|---|---|---|
| rating | string | No |
SimpleResultDataResponse
| Name | Type | Description | Required |
|---|---|---|---|
| data | string | Yes | |
| result | string | Yes |
SimpleResultResponse
| Name | Type | Description | Required |
|---|---|---|---|
| result | string | Operation result. | Yes |
SpeechToTextDisabledError
Speech to text is disabled.
| Name | Type | Description | Required |
|---|---|---|---|
| SpeechToTextDisabledError | Speech to text is disabled. |
StringListSource
| Name | Type | Description | Required |
|---|---|---|---|
| selector | [ string ] | Variable reference path when type is variable. |
No |
| type | ValueSourceType | Origin of the options. constant means value lists the options literally; variable means selector points to an array[string] workflow variable that provides them. |
Yes |
| value | [ string ] | Literal option list when type is constant. |
No |
StringSource
Default configuration for form inputs.
| Name | Type | Description | Required |
|---|---|---|---|
| selector | [ string ] | No | |
| type | ValueSourceType | Yes | |
| value | string | No |
SuggestedQuestionsResponse
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ string ] | Yes |
SystemFeatureModel
Non-sensitive bootstrap snapshot exposed before Console or Web authentication.
| Name | Type | Description | Required |
|---|---|---|---|
| agent_tracing_api_collection_enabled | boolean | Deployment-level API gate for Agent trace collection, independent of workspace and provider configuration. Does not indicate Agent runtime, worker, or provider health or confirm trace delivery. | Yes |
| branding | BrandingModel | Yes | |
| deployment_edition | DeploymentEdition | Yes | |
| enable_app_deploy | boolean | Yes | |
| enable_change_email | boolean, Default: true |
Yes | |
| enable_collaboration_mode | boolean, Default: true |
Yes | |
| enable_creators_platform | boolean | Yes | |
| enable_email_code_login | boolean | Yes | |
| enable_email_password_login | boolean, Default: true |
Yes | |
| enable_explore_banner | boolean | Yes | |
| enable_learn_app | boolean, Default: true |
Yes | |
| enable_marketplace | boolean | Yes | |
| enable_social_oauth_login | boolean | Yes | |
| enable_step_by_step_tour | boolean | Yes | |
| is_allow_register | boolean | Yes | |
| is_email_setup | boolean | Yes | |
| license | LicenseStatusModel | Yes | |
| plugin_installation_permission | PluginInstallationPermissionModel | Yes | |
| rbac_enabled | boolean | Yes | |
| sso_enforced_for_signin | boolean | Yes | |
| sso_enforced_for_signin_protocol | SSOProtocol | Yes | |
| webapp_auth | WebAppAuthModel | Yes |
SystemParameters
| Name | Type | Description | Required |
|---|---|---|---|
| audio_file_size_limit | integer | Yes | |
| file_size_limit | integer | Yes | |
| image_file_size_limit | integer | Yes | |
| video_file_size_limit | integer | Yes | |
| workflow_file_upload_limit | integer | Yes |
TextToAudioPayload
| Name | Type | Description | Required |
|---|---|---|---|
| message_id | string | Message ID. Takes priority over text when both are provided. |
No |
| streaming | boolean | Reserved for compatibility; TTS response streaming is determined by the provider output. | No |
| text | string | Speech content to convert. | No |
| voice | string | Voice to use for text-to-speech. Available voices depend on the TTS provider configured for this app. Omit to use the app's configured voice when available; that value is exposed by Get App Parameters as text_to_speech.voice. |
No |
TooManyFilesError
Only one file is allowed.
| Name | Type | Description | Required |
|---|---|---|---|
| TooManyFilesError | Only one file is allowed. |
ToolSelectorScope
| Name | Type | Description | Required |
|---|---|---|---|
| ToolSelectorScope | string |
TriggerWorkflowServiceModeUnavailableError
This workflow uses a trigger entry and cannot be invoked through Web App, Service API, OpenAPI, or MCP.
| Name | Type | Description | Required |
|---|---|---|---|
| TriggerWorkflowServiceModeUnavailableError | This workflow uses a trigger entry and cannot be invoked through Web App, Service API, OpenAPI, or MCP. |
UnsupportedAudioTypeError
Audio type not allowed.
| Name | Type | Description | Required |
|---|---|---|---|
| UnsupportedAudioTypeError | Audio type not allowed. |
UnsupportedFileTypeError
File type not allowed.
| Name | Type | Description | Required |
|---|---|---|---|
| UnsupportedFileTypeError | File type not allowed. |
UploadTokenRequiredError
Upload token is required.
| Name | Type | Description | Required |
|---|---|---|---|
| UploadTokenRequiredError | Upload token is required. |
UserActionConfig
User action configuration.
| Name | Type | Description | Required |
|---|---|---|---|
| button_style | ButtonStyle | No | |
| id | string | Yes | |
| title | string | Yes |
ValueSourceType
ValueSourceType records whether the value comes from a static setting in form definition, or a variable while the workflow is running.
| Name | Type | Description | Required |
|---|---|---|---|
| ValueSourceType | string | ValueSourceType records whether the value comes from a static setting in form definition, or a variable while the workflow is running. |
VerificationTokenResponse
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| is_valid | boolean | Yes | |
| token | string | Yes |
WebAppAuthModel
| Name | Type | Description | Required |
|---|---|---|---|
| allow_email_code_login | boolean | Yes | |
| allow_email_password_login | boolean | Yes | |
| allow_public_access | boolean, Default: true |
Yes | |
| allow_sso | boolean | Yes | |
| enabled | boolean | Yes | |
| sso_config | WebAppAuthSSOModel | Yes |
WebAppAuthSSOModel
| Name | Type | Description | Required |
|---|---|---|---|
| protocol | SSOProtocol | Yes |
WebAppConnectionRequirement
| Name | Type | Description | Required |
|---|---|---|---|
| allowed_credential_types | [ ConnectionCredentialType ] | Yes | |
| icon | string | Plugin icon URL, using the Integrations asset endpoint. | Yes |
| icon_dark | string | Dark plugin icon URL; null when the plugin has no dark icon. | Yes |
| node_id | string | Independent authorization node ID to use as the selection key. | Yes |
| node_ids | [ string ] | The authorization node and all nodes explicitly reusing it. | Yes |
| plugin_unique_identifier | string | Exact plugin artifact recorded in connection_revision. | Yes |
| provider | string | Yes | |
| provider_label | string | Tool provider display name in the WebApp's configured language, falling back to English. | Yes |
| purpose | string | Yes | |
| title | string | Yes |
WebAppCustomConfigResponse
| Name | Type | Description | Required |
|---|---|---|---|
| remove_webapp_brand | boolean | Yes | |
| replace_webapp_logo | string | No |
WebAppParametersResponse
| Name | Type | Description | Required |
|---|---|---|---|
| account_login_enabled | boolean | Whether explicit Account login and Passport exchange are enabled. | Yes |
| account_login_url | string | Account-origin sign-in page for the existing Web App login flow | Yes |
| allow_anonymous_end_user_auth | boolean | Whether Guest identities may manage and use personal Connections; does not control App entry. | Yes |
| annotation_reply | { "enabled": boolean } | Yes | |
| connection_requirements | [ WebAppConnectionRequirement ] | Authorization requirements and exact plugin artifacts in connection_revision, without personal state. | Yes |
| connection_revision | string | Opaque revision of connection requirements, plugin artifacts and OAuth Client configurations; null for other app modes. Return it unchanged in connection requests and runs. | Yes |
| file_upload | { "allowed_file_extensions": [ string ], "allowed_file_types": [ string, Available values: "audio", "custom", "document", "image", "video" ], "allowed_file_upload_methods": [ string, Available values: "local_file", "remote_url" ], "enabled": boolean, "image": { "detail": string, "enabled": boolean, "number_limits": integer, "transfer_methods": [ string ] }, "number_limits": integer } |
Yes | |
| more_like_this | { "enabled": boolean } | Yes | |
| opening_statement | string | No | |
| requires_end_user_connections | boolean | Whether this published version declares EndUser tool connections, independent of user readiness. | Yes |
| retriever_resource | { "enabled": boolean } | Yes | |
| sensitive_word_avoidance | { "enabled": boolean } | Yes | |
| speech_to_text | { "enabled": boolean } | Yes | |
| suggested_questions | [ string ] | Yes | |
| suggested_questions_after_answer | { "enabled": boolean } | Yes | |
| system_parameters | SystemParameters | System-level parameter limits. | Yes |
| text_to_speech | { "autoPlay": string, "enabled": boolean, "language": string, "voice": string } | Yes | |
| user_input_form | [ object object object object object object object object object ] |
Yes |
WebAppSiteResponse
| Name | Type | Description | Required |
|---|---|---|---|
| app_id | string | Yes | |
| can_replace_logo | boolean | Yes | |
| custom_config | WebAppCustomConfigResponse | No | |
| enable_site | boolean | Yes | |
| end_user_id | string | No | |
| mode | AppMode | Yes | |
| model_config | WebModelConfigResponse | No | |
| plan | string | Yes | |
| site | WebSiteResponse | Yes |
WebFormRateLimitExceededError
Too many form requests. Please try again later.
| Name | Type | Description | Required |
|---|---|---|---|
| WebFormRateLimitExceededError | Too many form requests. Please try again later. |
WebLoginUnavailableError
Web App login is temporarily unavailable. Please retry.
| Name | Type | Description | Required |
|---|---|---|---|
| WebLoginUnavailableError | Web App login is temporarily unavailable. Please retry. |
WebMessageInfiniteScrollPagination
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ WebMessageListItem ] | Yes | |
| has_more | boolean | Yes | |
| limit | integer | Yes |
WebMessageListItem
| Name | Type | Description | Required |
|---|---|---|---|
| agent_thoughts | [ AgentThought ] | Yes | |
| answer | string | Yes | |
| answer_tokens | integer | No | |
| conversation_id | string (uuid) | Yes | |
| created_at | integer | No | |
| currency | string | No | |
| error | string | No | |
| extra_contents | [ HumanInputContent ] | Yes | |
| feedback | SimpleFeedback | No | |
| id | string (uuid) | Yes | |
| inputs | object | Yes | |
| message_files | [ MessageFile ] | Yes | |
| message_tokens | integer | No | |
| metadata | JSONValueType | No | |
| parent_message_id | string | No | |
| provider_response_latency | float | No | |
| query | string | Yes | |
| retriever_resources | [ RetrieverResource ] | Yes | |
| status | string | Yes | |
| total_price | string | No | |
| total_tokens | integer | Yes |
WebModelConfigResponse
| Name | Type | Description | Required |
|---|---|---|---|
| model | No | ||
| more_like_this | No | ||
| opening_statement | string | No | |
| pre_prompt | string | No | |
| suggested_questions | No | ||
| suggested_questions_after_answer | No | ||
| user_input_form | No |
WebSiteResponse
| Name | Type | Description | Required |
|---|---|---|---|
| chat_color_theme | string | No | |
| chat_color_theme_inverted | boolean | Yes | |
| copyright | string | No | |
| custom_disclaimer | string | No | |
| default_language | string | No | |
| description | string | No | |
| icon | string | No | |
| icon_background | string | No | |
| icon_type | string | No | |
| icon_url | string | No | |
| input_placeholder | string | No | |
| privacy_policy | string | No | |
| prompt_public | boolean | No | |
| show_workflow_steps | boolean | No | |
| title | string | Yes | |
| use_icon_as_answer_icon | boolean | No |
WorkflowRunPayload
| Name | Type | Description | Required |
|---|---|---|---|
| connection_revision | string | Opaque connection contract revision from Web App parameters. Required for EndUser tool authentication; must match current authorization requirements; verified plugin upgrades may inherit consent. | No |
| connections | object | Explicit choices keyed by independent authorization node ID. Required for EndUser tool authentication. Missing/null choices are not filled from saved selections. | No |
| files | [ object object object object ] |
File list for workflow system file inputs. Available when file upload is enabled for the workflow. To attach a local file, first upload it via Upload File and use the returned id as upload_file_id with transfer_method: local_file. |
No |
| inputs | object | Key-value pairs for workflow input variables. Values for file-type variables should be arrays of file objects with type, transfer_method, and either url or upload_file_id. Refer to the user_input_form field in the Get App Parameters response to discover the variable names and types expected by your app. |
Yes |