Files
dify/api/openapi/markdown/web-openapi.md

176 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] /account/change-email

Send an old/new-email challenge for the cookie Account; no profile changes occur

Request Body

Required Schema
Yes application/json: ChangeEmailSendPayload

Responses

Code Description Schema
200 Verification challenge application/json: SimpleResultDataResponse
400 Bad Request application/json: AccountNotFoundError
InvalidEmailError
InvalidOrExpiredTokenError
ErrorResponse
429 Too Many Requests application/json: EmailChangeRateLimitExceededError
EmailSendIpLimitError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /account/change-email/check-email-unique

Check email availability for an admitted Account; do not mutate accounts or tokens

Request Body

Required Schema
Yes application/json: CheckEmailUniquePayload

Responses

Code Description Schema
200 Email available application/json: SimpleResultResponse
400 Bad Request application/json: AccountInFreezeError
EmailAlreadyInUseError
EmailDomainSuspendedError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /account/change-email/reset

Change only the admitted Account's verified address; failures preserve identity and memberships

Request Body

Required Schema
Yes application/json: ChangeEmailResetPayload

Responses

Code Description Schema
200 Updated Account settings application/json: WebAccountResponse
400 Bad Request application/json: AccountInFreezeError
AccountNotFoundError
EmailAlreadyInUseError
EmailDomainSuspendedError
InvalidOrExpiredTokenError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /account/change-email/validity

Verify this Account's challenge and promote its token without changing identity

Request Body

Required Schema
Yes application/json: ChangeEmailValidityPayload

Responses

Code Description Schema
200 Verified challenge application/json: VerificationTokenResponse
400 Bad Request application/json: EmailCodeError
InvalidEmailError
InvalidOrExpiredTokenError
ErrorResponse
429 Too Many Requests application/json: EmailChangeLimitError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /account/password

Set or change the admitted Account's password when password login is enabled

A same-origin Account cookie is required. Existing credentials require the current password; confirmation and policy failures leave credentials unchanged.

Request Body

Required Schema
Yes application/json: WebAccountPasswordPayload

Responses

Code Description Schema
200 Updated Account settings application/json: WebAccountResponse
400 Bad Request application/json: CurrentPasswordIncorrectError
InvalidAccountPasswordError
RepeatPasswordNotMatchError
ErrorResponse
default Error application/json: ErrorResponse

[GET] /account/profile

Return private settings for an admitted Account; unavailable Accounts return 401 without caching

Get personal Account settings using the WebApp Account cookie, without App or workspace scope.

Responses

Code Description Schema
200 Account profile application/json: WebAccountProfileResponse
default Error application/json: ErrorResponse

[PATCH] /account/profile

Update submitted profile fields for a same-origin Account cookie, without changing identity or membership

Request Body

Required Schema
Yes application/json: AccountProfilePatchPayload

Responses

Code Description Schema
200 Updated Account settings application/json: WebAccountResponse
default Error application/json: ErrorResponse

[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
EndUserBusyError
WebappResourcesChangedError
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/asset

Read a plugin README asset for a published personal Connection requirement.

Parameters

Name Located in Description Required Schema
file_name query Asset filename relative to the plugin's _assets directory Yes string
plugin_unique_identifier query Exact plugin artifact from connection_requirements Yes string

Responses

Code Description Schema
200 Plugin asset application/octet-stream: binary
400 Bad Request application/json: AgentNotPublishedError
AppUnavailableError
ErrorResponse
default Error application/json: ErrorResponse

[GET] /connections/configuration

Read saved choices and whether authorization must be renewed, without checking credentials.

Parameters

Name Located in Description Required Schema
conversation_id query Existing Chatflow Conversation whose choices to read, including an empty set. Omit for App defaults when initializing a new conversation or plain Workflow. No string (uuid)

Responses

Code Description Schema
200 Saved Connection configuration application/json: ConnectionConfigurationResponse
400 Bad Request application/json: ConnectionConfigurationInvalidError
ErrorResponse
503 Service Unavailable application/json: CredentialCheckUnavailableError
ErrorResponse
default Error application/json: ErrorResponse

[PUT] /connections/configuration

Replace saved choices and explicitly approve their authorization contract atomically.

Request Body

Required Schema
Yes application/json: ConnectionConfigurationPayload

Responses

Code Description Schema
200 Connection configuration saved application/json: ConnectionConfigurationResponse
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
ConnectionReauthorizationRequiredError
ConnectionRevisionChangedError
ErrorResponse
503 Service Unavailable application/json: CredentialCheckUnavailableError
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

[GET] /connections/readme

Read plugin documentation for a published personal Connection requirement.

Parameters

Name Located in Description Required Schema
language query README language, as in the Console plugin API No string,
Default: en-US
plugin_unique_identifier query Exact plugin artifact from connection_requirements Yes string

Responses

Code Description Schema
200 Plugin README application/json: ConnectionReadmeResponse
400 Bad Request application/json: AgentNotPublishedError
AppUnavailableError
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 Invalid conversation list query or app mode does not match the API route. application/json: NotChatAppError
ErrorResponse
401 Unauthorized application/json: ErrorResponse
404 conversation_cursor_not_found: Cursor is outside the current list. conversation_not_found: The app or user is no longer available. application/json: ConversationCursorNotFoundError
ConversationNotFoundError
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: Conversation does not exist for this user and app. application/json: ConversationNotFoundError
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; model failure preserves the existing name. application/json: SimpleConversation
400 Bad Request application/json: NotChatAppError
ErrorResponse
401 Unauthorized application/json: ErrorResponse
404 conversation_not_found: Conversation does not exist. conversation_first_message_not_found: No first message is available for automatic naming. application/json: ConversationFirstMessageNotFoundError
ConversationNotFoundError
ErrorResponse
422 Invalid conversation rename payload. 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: Conversation does not exist for this user and app. application/json: ConversationNotFoundError
ErrorResponse
500 Internal Server Error application/json: ErrorResponse
default Error application/json: ErrorResponse

[PATCH] /conversations/{c_id}/unpin

Remove the current user's pin. Succeeds when the conversation is already unpinned.

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: The app or user is no longer available. application/json: ConversationNotFoundError
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/v2/public/{form_token}

Read a public v2 form definition by delivery token without an OTP or login session.

Parameters

Name Located in Description Required Schema
form_token path Yes string

Responses

Code Description Schema
200 Form definition application/json: FormDefinitionResponse
404 Form not found application/json: HumanInputFormNotFoundError
ErrorResponse
412 Form already submitted or expired application/json: HumanInputFormExpiredError
HumanInputFormSubmittedError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /form/human-input/v2/public/{form_token}

Submit a form with inputs, an action, and email verification proof.

Parameters

Name Located in Description Required Schema
form_token path Yes string

Request Body

Required Schema
Yes application/json: HumanInputV2FormSubmitRequest

Responses

Code Description Schema
200 Form submitted application/json: FormSubmitResponse
400 Invalid form or email proof application/json: HumanInputChallengeExpiredError
HumanInputChallengeStaleError
HumanInputInvalidOtpError
InvalidInputError
ErrorResponse
404 Form not found application/json: HumanInputFormNotFoundError
ErrorResponse
409 Workflow not active application/json: WorkflowNotActiveError
ErrorResponse
412 Already submitted or expired application/json: HumanInputFormExpiredError
HumanInputFormSubmittedError
ErrorResponse
422 Invalid request body application/json: ErrorResponse
503 Email verification unavailable application/json: HumanInputV2UnavailableError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /form/human-input/v2/public/{form_token}/access-request

Parameters

Name Located in Description Required Schema
form_token path Yes string

Responses

Code Description Schema
200 Success application/json: FormAccessRequestResponse
404 Not Found application/json: HumanInputFormNotFoundError
ErrorResponse
412 Precondition Failed application/json: HumanInputFormExpiredError
HumanInputFormSubmittedError
ErrorResponse
429 Too Many Requests application/json: HumanInputAccessRateLimitExceededError
ErrorResponse
503 Service Unavailable application/json: HumanInputAccessDeliveryFailedError
HumanInputV2UnavailableError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /form/human-input/v2/public/{form_token}/upload-token

Parameters

Name Located in Description Required Schema
form_token path Yes string

Responses

Code Description Schema
200 Success application/json: FormUploadTokenResponse
403 Forbidden application/json: InvalidUploadTokenError
ErrorResponse
404 Form not found application/json: HumanInputFormNotFoundError
ErrorResponse
412 Already submitted or expired application/json: HumanInputFormExpiredError
HumanInputFormSubmittedError
ErrorResponse
default Error application/json: ErrorResponse

[GET] /form/human-input/v2/{form_token}

Read a v2 form using the original EndUser's Web App passport.

Parameters

Name Located in Description Required Schema
form_token path Yes string

Responses

Code Description Schema
200 Form retrieved application/json: WebAppHumanInputV2FormDefinitionResponse
401 Invalid passport application/json: ErrorResponse
404 Form not found application/json: ErrorResponse
409 Already submitted application/json: AlreadySubmittedError
ErrorResponse
410 Expired application/json: ExpiredError
ErrorResponse
default Error application/json: ErrorResponse

[POST] /form/human-input/v2/{form_token}

Submit a v2 form using the original EndUser's Web App passport.

Parameters

Name Located in Description Required Schema
form_token path Yes string

Request Body

Required Schema
Yes application/json: WebAppHumanInputV2SubmitPayload

Responses

Code Description Schema
200 Approval accepted application/json: WebAppHumanInputV2SubmitResponse
400 Invalid inputs application/json: InvalidInputError
ErrorResponse
401 Invalid passport application/json: ErrorResponse
404 Form not found application/json: ErrorResponse
409 Already submitted or workflow not active application/json: AlreadySubmittedError
WorkflowNotActiveError
ErrorResponse
410 Expired application/json: ExpiredError
ErrorResponse
422 Invalid request body application/json: 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] /human-input/v2/files

Upload a file or a remote URL using a v2 upload grant.

Parameters

Name Located in Description Required Schema
Authorization header Bearer v2 upload grant Yes string

Request Body

Required Schema
No multipart/form-data: { "file": binary, "url": string }

Responses

Code Description Schema
201 File uploaded application/json: FileWithSignedUrl
400 Invalid upload application/json: FileExtensionBlockedError
FilenameNotExistsError
MalformedUploadTokenError
NoFileUploadedError
RemoteFileAccessDeniedError
RemoteFileInvalidUrlError
RemoteFileUrlBlockedError
TooManyFilesError
ErrorResponse
401 Grant required application/json: UploadTokenRequiredError
ErrorResponse
403 Invalid grant application/json: InvalidUploadTokenError
ErrorResponse
404 Form not found application/json: HumanInputFormNotFoundError
RemoteFileNotFoundError
ErrorResponse
412 Form inactive 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] /human-input/v2/files/remote

Fetch a remote file using a v2 upload grant.

Parameters

Name Located in Description Required Schema
Authorization header Yes string

Request Body

Required Schema
Yes application/json: HumanInputV2RemoteUploadPayload

Responses

Code Description Schema
201 File uploaded application/json: FileWithSignedUrl
400 Invalid upload application/json: FileExtensionBlockedError
FilenameNotExistsError
MalformedUploadTokenError
NoFileUploadedError
RemoteFileAccessDeniedError
RemoteFileInvalidUrlError
RemoteFileUrlBlockedError
TooManyFilesError
ErrorResponse
401 Grant required application/json: UploadTokenRequiredError
ErrorResponse
403 Invalid grant application/json: InvalidUploadTokenError
ErrorResponse
404 Form not found application/json: HumanInputFormNotFoundError
RemoteFileNotFoundError
ErrorResponse
412 Form inactive 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] /me/apps

List accessible Chat, Completion, legacy Agent, Chatflow, Workflow and Agent WebApps using the WebApp Account login cookie. Recent use and favorites are personal WebApp preferences independent of Console stars. No App Passport or workspace membership is required.

Parameters

Name Located in Description Required Schema
cursor query No string
limit query No integer,
Default: 20
name query No string
view query No string,
Available values: "favorites", "recent", "shared",
Default: recent

Responses

Code Description Schema
200 Accessible personal Apps application/json: ConsumerAppsResponse
default Error application/json: ErrorResponse

[DELETE] /me/apps/{app_id}

Remove an App from personal recent and favorite lists without deleting its data. A new accepted execution restores the recent entry. Shared discovery remains available.

Parameters

Name Located in Description Required Schema
app_id path Yes string (uuid)

Responses

Code Description Schema
204 App removed from personal lists
default Error application/json: ErrorResponse

[DELETE] /me/apps/{app_id}/favorite

Parameters

Name Located in Description Required Schema
app_id path Yes string (uuid)

Responses

Code Description Schema
204 App unfavorited
default Error application/json: ErrorResponse

[PUT] /me/apps/{app_id}/favorite

Parameters

Name Located in Description Required Schema
app_id path Yes string (uuid)

Responses

Code Description Schema
204 App favorited
default Error application/json: ErrorResponse

[GET] /me/connections

List personal Connection Providers with localized labels, descriptions, public icons and Connection-group counts across owned tenants. Guests are excluded. Unavailable Providers retain their counts with a Provider-ID label, an empty description and null icons. No App associations are loaded.

Parameters

Name Located in Description Required Schema
cursor query No string
limit query No integer,
Default: 20

Responses

Code Description Schema
200 Account Connection Providers application/json: ConsumerConnectionProvidersResponse
default Error application/json: ErrorResponse

[GET] /me/connections/providers/{provider}/connections

List personal Connections grouped by Provider, account label and Connection type. Connections without an account label form individual groups. WebApp counts include only accessible Apps.

Parameters

Name Located in Description Required Schema
cursor query No string
limit query No integer,
Default: 20
provider path Yes string

Responses

Code Description Schema
200 Account Connections application/json: ConsumerConnectionsResponse
default Error application/json: ErrorResponse

[DELETE] /me/connections/{connection_key}

Disconnect all owned Connections matching a group key from a Provider's list. Cookie-authenticated browser mutations require the configured WebApp Origin.

Parameters

Name Located in Description Required Schema
connection_key path Yes string (uuid)

Responses

Code Description Schema
204 Connection group disconnected
404 Not Found application/json: ConnectionNotFoundError
ErrorResponse
409 Conflict application/json: ConnectionConflictError
ErrorResponse
default Error application/json: ErrorResponse

[GET] /me/connections/{connection_key}/apps

List accessible WebApps associated with a Connection group from a Provider's list.

Parameters

Name Located in Description Required Schema
cursor query No string (uuid)
limit query No integer,
Default: 20
connection_key path Yes string (uuid)

Responses

Code Description Schema
200 Associated WebApps application/json: ConsumerAppsResponse
404 Not Found application/json: ConnectionNotFoundError
ErrorResponse
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 - Not a chat app or app unavailable application/json: AppUnavailableError
NotChatAppError
ErrorResponse
401 Unauthorized application/json: ErrorResponse
404 Conversation, First Message, or End User Not Found 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 message_feedback_rating_required: Cannot revoke feedback that does not exist. app_unavailable: App is no longer available. application/json: AppUnavailableError
MessageFeedbackRatingRequiredError
ErrorResponse
401 Unauthorized application/json: ErrorResponse
403 Forbidden 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, app unavailable, or model invocation failed application/json: AppUnavailableError
CompletionRequestError
ModelCurrentlyNotSupportError
NotCompletionAppError
ProviderNotInitializeError
ProviderQuotaExceededError
ErrorResponse
401 Unauthorized application/json: ErrorResponse
403 Forbidden - Access denied or more-like-this disabled 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). If no usable model can be resolved or the model call to generate questions fails, the response is HTTP 200 with an empty data list. Model invocation failures during history token counting instead return HTTP 400 with completion_request_error.

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 app unavailable; completion_request_error when model invocation fails while counting history tokens. application/json: AppUnavailableError
CompletionRequestError
ModelCurrentlyNotSupportError
NotChatAppError
ProviderNotInitializeError
ProviderQuotaExceededError
ErrorResponse
401 Unauthorized application/json: ErrorResponse
403 Forbidden - Access denied or suggested questions disabled application/json: AppSuggestedQuestionsAfterAnswerDisabledError
ErrorResponse
404 App, End User, Message, or Conversation Not Found application/json: AgentVersionNotFoundError
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 its HttpOnly cookie or 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. Before transfer, request cancellation of persisted unfinished Guest Workflow/Chatflow Runs through the existing stop flow, then poll until no unfinished Guest Runs remain. The batch shares a five-second readiness window with 100ms polling outside migration transactions. Timeout returns migration_not_ready (nested status 409) for that item without transferring its resources. Stop failure also prevents that Passport from transferring resources. Each Passport atomically transfers Connections, files and all conversations with their personal state. Run terminal status is checked again inside each transfer transaction. Ordinary Chatbot Apps transfer committed history without stopping or waiting for generation. In-flight Chatbot requests may fail after transfer; uncommitted answers may be lost. Their history reads and writes recheck the original caller's current conversation ownership. Existing model calls or streams are not guaranteed to stop immediately. Legacy agent configurations and non-Chatbot Guest history remain unsupported for Chatbot Claim. Concurrent migration or identity updates may report end_user_busy without waiting. Web execution registers each Run under the shared identity fence before launch. Transfer takes the exclusive fence and rechecks unfinished Runs before changing ownership. Success includes the App code, Account App Passport, transferred counts and accepted stop count. Cancellation is not rolled back if the subsequent migration fails. Keep the Guest Passport to retry remaining resources with the same Account. The Guest Passport is not bound to the Account by migration. Retries transfer only resources still owned by the Guest; empty resource categories report zero. New Guest resources are included. Account defaults take precedence; Conversation IDs, history and execution provenance 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 Whole Guest migration 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 request indices, App names/codes and current Connection/conversation 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. Supports Workflow, Chatflow and ordinary Chatbot Apps; other App modes are omitted. Chatbot Apps with legacy agent configurations or non-Chatbot Guest history are omitted. conversation_count counts Chatflow/Chatbot history; Workflow normally has none. 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. No Account, App Passport, or app code is required. Return the configured Account sign-in URL, preserving its base path, or null when disabled. Read deployment settings without issuing credentials or changing state; feature-query failures propagate unchanged.

Responses

Code Description Schema
200 System features retrieved successfully application/json: WebSystemFeatureResponse
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. With Account Passport enabled, current resource ownership is rechecked and the Run is registered before execution. Admission can reject identity contention or resources changed since preparation. Queued failures use the existing event stream; synchronous conflicts return 409. Refresh and retry.

Request Body

Required Schema
Yes application/json: WorkflowRunPayload

Responses

Code Description Schema
200 Success application/json: GeneratedAppResponse
400 Bad Request application/json: CompletionRequestError
ConnectionConfigurationInvalidError
ConnectionCredentialsInvalidError
ConnectionRequiredError
ModelCurrentlyNotSupportError
NotWorkflowAppError
ProviderNotInitializeError
ProviderQuotaExceededError
ErrorResponse
401 Unauthorized application/json: EndUserLoginRequiredError
ErrorResponse
403 Forbidden application/json: TriggerWorkflowServiceModeUnavailableError
ErrorResponse
404 App Not Found application/json: ConnectionNotFoundError
ErrorResponse
409 Conflict application/json: ConnectionConflictError
ConnectionReauthorizationRequiredError
ConnectionRevisionChangedError
EndUserBusyError
WebappResourcesChangedError
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] /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.

AccountInFreezeError

This email account has been deleted within the past 30 days and is temporarily unavailable for new account registration.

Name Type Description Required
AccountInFreezeError This email account has been deleted within the past 30 days and is temporarily unavailable for new account registration.

AccountNotFoundError

Account not found.

Name Type Description Required
AccountNotFoundError Account not found.

AccountProfilePatchPayload

Name Type Description Required
avatar string No
interface_language string No
interface_theme string,
Available values: "dark", "light"
Enum: "dark", "light" No
name string No
timezone string No

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

AgentVersionNotFoundError

Agent config version not found.

Name Type Description Required
AgentVersionNotFoundError Agent config version not found.

AlreadySubmittedError

Name Type Description Required
AlreadySubmittedError

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.

BinaryFileResponse

Name Type Description Required
BinaryFileResponse string

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.

ChangeEmailResetPayload

Name Type Description Required
new_email string Yes
token string Yes

ChangeEmailSendPayload

Name Type Description Required
email string Yes
language string No
phase string No
token string No

ChangeEmailValidityPayload

Name Type Description Required
code string Yes
email string Yes
token string Yes

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

CheckEmailUniquePayload

Name Type Description Required
email string Yes

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
conversation_count integer Remaining Chatflow/Chatbot conversations; Workflow normally has zero 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_busy", "end_user_login_required", "migration_not_ready", "unauthorized", "web_app_access_denied"
Enum: "app_not_found", "connection_claim_unavailable", "connection_conflict", "end_user_busy", "end_user_login_required", "migration_not_ready", "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

Guest migration preflight failed. No resources were transferred.

Name Type Description Required
ConnectionClaimPreflightFailedError Guest migration preflight failed. No resources 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
claimed_conversations integer Chat conversations transferred for supported Workflow/Chatflow/Chatbot Apps Yes
index integer Yes
status string Yes
stop_requested_run_count integer Guest Runs with accepted stop requests; transfer waits until Guest Runs are terminal Yes

ConnectionClaimUnavailableError

Guest migration is temporarily unavailable. Please retry.

Name Type Description Required
ConnectionClaimUnavailableError Guest migration 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.

ConnectionConfigurationPayload

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 Complete choices keyed by independent authorization node ID. Missing/null nodes are unselected; an empty map clears the configuration. Saving explicitly approves the submitted authorization contract. Yes
conversation_id string Existing Chatflow conversation. Omit for a new conversation or plain Workflow. No

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
reauthorization_required boolean Whether this App user must renew authorization for the current requirements; not credential readiness. 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

ConnectionReadmeResponse

Name Type Description Required
readme string 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.

ConsumerAppResponse

Name Type Description Required
app_code string Yes
connection_status string App-level personal Connection status. not_configured means required End User tool nodes lack saved Connections; null means this action is not required. No
description string Yes
icon string Yes
icon_background string Yes
icon_type string Yes
id string Yes
is_favorite boolean Yes
last_used_at integer Time of the Account's latest accepted WebApp execution, independent of retained execution logs. Yes
mode string Yes
name string Yes

ConsumerAppsResponse

Name Type Description Required
data [ ConsumerAppResponse ] Yes
has_more boolean Yes
next_cursor string Yes

ConsumerConnectionProviderResponse

Name Type Description Required
connections_count integer Number of personal Connection groups under this Provider. Yes
description object Yes
icon string Public plugin icon URL; null if the Provider is unavailable. Yes
icon_dark string Public dark icon URL; null if unavailable or not declared. Yes
label object Yes
provider string Yes

ConsumerConnectionProvidersResponse

Name Type Description Required
data [ ConsumerConnectionProviderResponse ] Yes
has_more boolean Yes
next_cursor string Yes

ConsumerConnectionResponse

Name Type Description Required
account_label string Yes
connection_type ConnectionCredentialType Yes
key string (uuid) Representative Connection ID for associated WebApp queries and disconnect. Yes
name string Name of the group member with the smallest Connection ID. Yes
provider string Yes
webapps_count integer Number of distinct accessible WebApps associated with this group. Yes

ConsumerConnectionsResponse

Name Type Description Required
data [ ConsumerConnectionResponse ] Yes
has_more boolean Yes
next_cursor string Yes

ConversationCursorNotFoundError

The conversation cursor is not in the current list. Refresh the list and try again.

Name Type Description Required
ConversationCursorNotFoundError The conversation cursor is not in the current list. Refresh the list and try again.

ConversationFirstMessageNotFoundError

The conversation has no message from which to generate a name.

Name Type Description Required
ConversationFirstMessageNotFoundError The conversation has no message from which to generate a name.

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

ConversationNotFoundError

The conversation was not found for this user and app.

Name Type Description Required
ConversationNotFoundError The conversation was not found for this user and app.

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.

CurrentPasswordIncorrectError

Current password is incorrect.

Name Type Description Required
CurrentPasswordIncorrectError Current password is incorrect.

DeploymentEdition

Enum representing the deployment edition of the platform.

Name Type Description Required
DeploymentEdition string Enum representing the deployment edition of the platform.

EmailAlreadyInUseError

A user with this email already exists.

Name Type Description Required
EmailAlreadyInUseError A user with this email already exists.

EmailChangeLimitError

Too many failed email change attempts. Please try again in 24 hours.

Name Type Description Required
EmailChangeLimitError Too many failed email change attempts. Please try again in 24 hours.

EmailChangeRateLimitExceededError

Too many email change emails have been sent. Please try again in {minutes} minutes.

Name Type Description Required
EmailChangeRateLimitExceededError Too many email change emails have been sent. Please try again in {minutes} minutes.

EmailCodeError

Email code is invalid or expired.

Name Type Description Required
EmailCodeError Email code is invalid or expired.

EmailCodeLoginSendPayload

Name Type Description Required
email string Yes
language string No

EmailCodeLoginVerifyPayload

Name Type Description Required
code string Yes
email string Yes
token string Yes

EmailDomainSuspendedError

This email domain has been suspended.

Name Type Description Required
EmailDomainSuspendedError This email domain has been suspended.

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.

EndUserBusyError

This Web App identity is being updated. Please retry.

Name Type Description Required
EndUserBusyError This Web App identity is being updated. Please retry.

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

ExpiredError

Name Type Description Required
ExpiredError

FileExtensionBlockedError

The file extension is blocked for security reasons.

Name Type Description Required
FileExtensionBlockedError The file extension is blocked for security reasons.

FileInput

Resolved single-file input constraints.

Name Type Description Required
allowed_file_extensions [ string ] Yes
allowed_file_types [ FileType ] Yes
allowed_file_upload_methods [ FileTransferMethod ] Yes
output_variable_name string Yes
type string No

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

FileListInput

Resolved multi-file input constraints and effective number limit.

Name Type Description Required
allowed_file_extensions [ string ] Yes
allowed_file_types [ FileType ] Yes
allowed_file_upload_methods [ FileTransferMethod ] Yes
number_limits integer Yes
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
email 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
email string Yes
language string No

FormAccessRequestResponse

Response body returned after creating one OTP challenge.

Name Type Description Required
challenge_token string The token used to complete the OTP challenge. Yes
expires_in_seconds integer Seconds until the current OTP challenge expires. Yes
resend_after_seconds integer Seconds until another OTP challenge may be requested. Yes

FormDefinitionResponse

Response body containing a resolved human-input form definition.

Name Type Description Required
expiration_time integer Unix timestamp when the current form expires. Yes
form_content string Rendered form body shown to the approver. No
inputs [ FormInputConfig ] Resolved form input definitions. No
resolved_default_values object Default values after variable resolution and stringification. No
user_actions [ UserActionConfig ] Action buttons that can complete the form. No

FormInputConfig

Name Type Description Required
FormInputConfig ParagraphInputConfig
SelectInputConfig
FileInputConfig
FileListInputConfig

FormPart

Name Type Description Required
FormPart MarkdownFragment
ParagraphInput
SelectInput
FileInput
FileListInput

FormSubmitResponse

Empty response body returned after a Human Input v2 form submission.

Name Type Description Required

FormUploadTokenResponse

Response body returned when issuing a Human Input v2 upload token.

Name Type Description Required
expires_at integer Yes
upload_token string Yes

GeneratedAppResponse

Name Type Description Required
GeneratedAppResponse

HumanInputAccessDeliveryFailedError

Name Type Description Required
HumanInputAccessDeliveryFailedError

HumanInputAccessRateLimitExceededError

Name Type Description Required
HumanInputAccessRateLimitExceededError

HumanInputChallengeExpiredError

Name Type Description Required
HumanInputChallengeExpiredError

HumanInputChallengeStaleError

Name Type Description Required
HumanInputChallengeStaleError

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
form_version string,
Available values: "1", "2",
Default: 1
Enum: "1", "2" 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

HumanInputFormNotFoundError

Name Type Description Required
HumanInputFormNotFoundError

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

Legacy Human Input v1 submit payload shared by existing runtime surfaces.

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

Name Type Description Required
HumanInputFormSubmittedError

HumanInputInvalidOtpError

Name Type Description Required
HumanInputInvalidOtpError

HumanInputUploadTokenResponse

Name Type Description Required
expires_at integer Yes
upload_token string Yes

HumanInputV2FormSubmitRequest

Public Human Input v2 submit payload, independent from the v1 form contract.

Name Type Description Required
action string Identifier of the selected Human Input v2 action. Yes
challenge_token string OTP challenge token returned by the Human Input v2 access-request endpoint. No
inputs object Submitted form values keyed by output variable name. Yes
otp_code string OTP code required when the current Human Input v2 approver uses email proof. No

HumanInputV2RemoteUploadPayload

Name Type Description Required
url string (uri) Yes

HumanInputV2UnavailableError

Name Type Description Required
HumanInputV2UnavailableError

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

InvalidAccountPasswordError

The password does not satisfy the account password policy.

Name Type Description Required
InvalidAccountPasswordError The password does not satisfy the account password policy.

InvalidEmailError

The email address is not valid.

Name Type Description Required
InvalidEmailError The email address is not valid.

InvalidFormDataError

Name Type Description Required
InvalidFormDataError

InvalidInputError

Name Type Description Required
InvalidInputError

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
email 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.

MarkdownFragment

One source-ordered Markdown fragment in a resolved form.

Name Type Description Required
text string Yes
type string No

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

MessageFeedbackRatingRequiredError

A rating is required when there is no existing feedback to remove.

Name Type Description Required
MessageFeedbackRatingRequiredError A rating is required when there is no existing feedback to remove.

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

ParagraphInput

Resolved multiline text input.

Name Type Description Required
default_value string Yes
output_variable_name string Yes
type string No

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.

RepeatPasswordNotMatchError

New password and repeat password does not match.

Name Type Description Required
RepeatPasswordNotMatchError New password and repeat password does not match.

ResolvedForm

Immutable authoritative presentation snapshot for one v2 form.

Name Type Description Required
actions [ UserAction ] Yes
legacy_form_content string Yes
parts [ FormPart ] Yes
title string Yes

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

SelectInput

Resolved single-choice input with immutable concrete options.

Name Type Description Required
default_value string Yes
options [ string ] Yes
output_variable_name string Yes
type string 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

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.

UserAction

Resolved action values required for presentation and submission validation.

Name Type Description Required
button_style ButtonStyle Yes
id string Yes
title string Yes

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
email string Yes
is_valid boolean Yes
token string Yes

WebAccountPasswordPayload

Name Type Description Required
new_password string Yes
password string Current password; may be omitted only before the first password is set. No
repeat_new_password string Yes

WebAccountProfileResponse

Name Type Description Required
avatar string Yes
avatar_url string Yes
email string Yes
has_owned_tenant boolean Whether the Account owns an existing tenant, including archived tenants. Null means unavailable. No
has_tenant boolean Whether the Account has a tenant membership, including ownership. Null means unavailable. No
interface_language string Yes
interface_theme string Yes
is_password_set boolean Yes
name string Yes
timezone string Yes

WebAccountResponse

Personal settings only; credentials, login IPs and Builder lifecycle stay private.

Name Type Description Required
avatar string Yes
avatar_url string Yes
email string Yes
interface_language string Yes
interface_theme string Yes
is_password_set boolean Yes
name string Yes
timezone 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

WebAppHumanInputV2FormDefinitionResponse

Name Type Description Required
expiration_time integer Yes
resolved_form ResolvedForm Yes

WebAppHumanInputV2SubmitPayload

Name Type Description Required
action string Yes
inputs object Yes

WebAppHumanInputV2SubmitResponse

Name Type Description Required

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
show_thoughts { "enabled": boolean } No
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

WebSystemFeatureResponse

Extend public bootstrap with the Web-only Account sign-in entry point.

Name Type Description Required
account_login_url string Account-origin sign-in page for the existing Web App login flow; null when Account login is disabled. Yes
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_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

WebappResourcesChangedError

Web App resources changed before execution. Refresh and retry.

Name Type Description Required
WebappResourcesChangedError Web App resources changed before execution. Refresh and retry.

WorkflowNotActiveError

Name Type Description Required
WorkflowNotActiveError

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