api/openapi/markdown/web-openapi.md
Public APIs for web applications including file uploads, chat interactions, and app management
Use the Service API key as a Bearer token in the Authorization header. Bearer format: API_KEY
Web application API operations
Convert audio to text
Convert audio file to text using speech-to-text service.
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: AudioToTextResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 413 | Audio file too large | |
| 415 | Unsupported audio type | |
| 500 | Internal Server Error |
Create a chat message for conversational applications.
| Required | Schema |
|---|---|
| Yes | application/json: ChatMessagePayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Stop a running chat message task.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Task ID to stop | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SimpleResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Task Not Found | |
| 500 | Internal Server Error |
Create a completion message for text generation applications.
| Required | Schema |
|---|---|
| Yes | application/json: CompletionMessagePayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Stop a running completion message task.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Task ID to stop | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SimpleResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Task Not Found | |
| 500 | Internal Server Error |
Retrieve paginated list of conversations for a chat application.
| 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 |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: ConversationInfiniteScrollPagination |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found or Not a Chat App | |
| 500 | Internal Server Error |
Delete a specific conversation.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
| Code | Description |
|---|---|
| 204 | Conversation deleted successfully |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Conversation Not Found or Not a Chat App |
| 500 | Internal Server Error |
Rename a specific conversation with a custom name or auto-generate one.
| 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 |
| Required | Schema |
|---|---|
| Yes | application/json: ConversationRenamePayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Conversation renamed successfully | application/json: SimpleConversation |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Conversation Not Found or Not a Chat App | |
| 500 | Internal Server Error |
Pin a specific conversation to keep it at the top of the list.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
| Code | Description | Schema |
|---|---|---|
| 200 | Conversation pinned successfully | application/json: ResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Conversation Not Found or Not a Chat App | |
| 500 | Internal Server Error |
Unpin a specific conversation to remove it from the top of the list.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| c_id | path | Conversation UUID | Yes | string (uuid) |
| Code | Description | Schema |
|---|---|---|
| 200 | Conversation unpinned successfully | application/json: ResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Conversation Not Found or Not a Chat App | |
| 500 | Internal Server Error |
Send email verification code for login
| Required | Schema |
|---|---|
| Yes | application/json: EmailCodeLoginSendPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Email code sent successfully | application/json: SimpleResultDataResponse |
| 400 | Bad request - invalid email format | |
| 404 | Account not found |
Verify email code and complete login
| Required | Schema |
|---|---|
| Yes | application/json: EmailCodeLoginVerifyPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Email code verified and login successful | application/json: AccessTokenResultResponse |
| 400 | Bad request - invalid code or token | |
| 401 | Invalid token or expired code | |
| 404 | Account not found |
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
| Code | Description | Schema |
|---|---|---|
| 201 | File uploaded successfully | application/json: FileResponse |
| 400 | Bad request - invalid file or parameters | |
| 413 | File too large | |
| 415 | Unsupported file type |
Send password reset email
| Required | Schema |
|---|---|
| Yes | application/json: ForgotPasswordSendPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Password reset email sent successfully | application/json: SimpleResultDataResponse |
| 400 | Bad request - invalid email format | |
| 404 | Account not found | |
| 429 | Too many requests - rate limit exceeded |
Reset user password with verification token
| Required | Schema |
|---|---|
| Yes | application/json: ForgotPasswordResetPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Password reset successfully | application/json: SimpleResultResponse |
| 400 | Bad request - invalid parameters or password mismatch | |
| 401 | Invalid or expired token | |
| 404 | Account not found |
Verify password reset token validity
| Required | Schema |
|---|---|
| Yes | application/json: ForgotPasswordCheckPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Token is valid | application/json: VerificationTokenResponse |
| 400 | Bad request - invalid token format | |
| 401 | Invalid or expired token |
Get human input form definition by token
Get a human input form definition by token GET /api/form/human_input/<form_token>
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| form_token | path | Human input form token | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Form retrieved successfully | application/json: HumanInputFormDefinitionResponse |
| 403 | Forbidden | |
| 404 | Form not found | |
| 412 | Form already submitted or expired | |
| 429 | Too many requests |
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" }
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| form_token | path | Human input form token | Yes | string |
| Required | Schema |
|---|---|
| Yes | application/json: HumanInputFormSubmitPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Form submitted successfully | application/json: HumanInputFormSubmitResponse |
| 400 | Bad request - invalid submission data | |
| 404 | Form not found | |
| 412 | Form already submitted or expired | |
| 429 | Too many requests |
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
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| form_token | path | Human input form token | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Upload token issued successfully | application/json: HumanInputUploadTokenResponse |
| 404 | Form not found | |
| 412 | Form already submitted or expired | |
| 429 | Too many requests |
Upload one local file or remote URL file for a HITL human input form
| Code | Description | Schema |
|---|---|---|
| 201 | File uploaded successfully | application/json: FileResponse |
Authenticate user and login
Authenticate user for web application access
| Required | Schema |
|---|---|
| Yes | application/json: LoginPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Authentication successful | application/json: AccessTokenResultResponse |
| 400 | Bad request - invalid email or password format | |
| 401 | Authentication failed - email or password mismatch | |
| 403 | Account banned or login disabled | |
| 404 | Account not found |
Check login status
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| app_code | query | Web app code | No | string |
| user_id | query | End user session ID | No | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Login status | application/json: LoginStatusResponse |
| 401 | Login status |
Logout user from web application
| Code | Description | Schema |
|---|---|---|
| 200 | Logout successful | application/json: SimpleResultResponse |
Retrieve paginated list of messages from a conversation in a chat application.
| 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 |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: WebMessageInfiniteScrollPagination |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Conversation Not Found or Not a Chat App | |
| 500 | Internal Server Error |
Submit feedback (like/dislike) for a specific message.
| 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" |
| Required | Schema |
|---|---|
| Yes | application/json: MessageFeedbackPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Feedback submitted successfully | application/json: ResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Message Not Found | |
| 500 | Internal Server Error |
Generate a new completion similar to an existing message (completion apps only).
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| response_mode | query | Response mode | Yes | string, |
| Available values: "blocking", "streaming" | ||||
| message_id | path | Yes | string (uuid) |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request - Not a completion app or feature disabled | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Message Not Found | |
| 500 | Internal Server Error |
Get suggested follow-up questions after a message (chat apps only).
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | path | Message UUID | Yes | string (uuid) |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SuggestedQuestionsResponse |
| 400 | Bad Request - Not a chat app or feature disabled | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Message Not Found or Conversation Not Found | |
| 500 | Internal Server Error |
Get app meta
Retrieve the metadata for a specific app.
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: AppMetaResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Retrieve app parameters
Retrieve the parameters for a specific app.
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: Parameters |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Get authentication passport for web application access
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| user_id | query | End user session ID | No | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Passport retrieved successfully | application/json: PassportAccessTokenResponse |
| 401 | Unauthorized - missing app code or invalid authentication | |
| 404 | Application or user not found |
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: RemoteFileUploadError: Failed to fetch file from remote URL FileTooLargeError: File exceeds size limit UnsupportedFileTypeError: File type not supported
| Required | Schema |
|---|---|
| Yes | application/json: RemoteFileUploadPayload |
| Code | Description | Schema |
|---|---|---|
| 201 | Remote file uploaded successfully | application/json: FileWithSignedUrl |
| 400 | Bad request - invalid URL or parameters | |
| 413 | File too large | |
| 415 | Unsupported file type | |
| 500 | Failed to fetch remote file |
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
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| url | path | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Remote file information retrieved successfully | application/json: RemoteFileInfo |
| 400 | Bad request - invalid URL | |
| 404 | Remote file not found | |
| 500 | Failed to fetch remote file |
Retrieve paginated list of saved messages for a completion application.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| last_id | query | No | string | |
| limit | query | No | integer, | |
| Default: 20 |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SavedMessageInfiniteScrollPagination |
| 400 | Bad Request - Not a completion app | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Save a specific message for later reference.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | query | Message UUID to save | Yes | string |
| Required | Schema |
|---|---|
| Yes | application/json: SavedMessageCreatePayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Message saved successfully | application/json: ResultResponse |
| 400 | Bad Request - Not a completion app | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Message Not Found | |
| 500 | Internal Server Error |
Remove a message from saved messages.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| message_id | path | Message UUID to delete | Yes | string (uuid) |
| Code | Description |
|---|---|
| 204 | Message removed successfully |
| 400 | Bad Request - Not a completion app |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Message Not Found |
| 500 | Internal Server Error |
Retrieve app site info
Retrieve app site information and configuration.
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: WebAppSiteResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Get system feature flags and configuration
Get system feature flags and configuration Returns the current system feature flags and configuration that control various functionalities across the platform.
Returns: dict: System feature configuration object
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.
NOTE: This endpoint is unauthenticated by design, as it provides system features data required for webapp initialization.
Authentication would create circular dependency (can't authenticate without webapp loading).
Only non-sensitive configuration data should be returned by this endpoint.
| Code | Description | Schema |
|---|---|---|
| 200 | System features retrieved successfully | application/json: SystemFeatureModel |
| 500 | Internal server error |
Convert text to audio
Convert text to audio using text-to-speech service.
| Required | Schema |
|---|---|
| Yes | application/json: TextToAudioPayload |
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 500 | Internal Server Error |
Retrieve the access mode for a web application (public or restricted).
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| appCode | query | Application code | No | string |
| appId | query | Application ID | No | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: AccessModeResponse |
| 400 | Bad Request | |
| 500 | Internal Server Error |
Check if user has permission to access a web application.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| appId | query | Application ID | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: BooleanResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 500 | Internal Server Error |
Run workflow
Execute a workflow with provided inputs and files.
| Required | Schema |
|---|---|
| Yes | application/json: WorkflowRunPayload |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: GeneratedAppResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | App Not Found | |
| 500 | Internal Server Error |
Stop workflow task
Stop a running workflow task.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Task ID to stop | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | Success | application/json: SimpleResultResponse |
| 400 | Bad Request | |
| 401 | Unauthorized | |
| 403 | Forbidden | |
| 404 | Task Not Found | |
| 500 | Internal Server Error |
Default namespace
Get workflow execution events stream after resume
GET /api/workflow/<task_id>/events
Returns Server-Sent Events stream.
| Name | Located in | Description | Required | Schema |
|---|---|---|---|---|
| task_id | path | Yes | string |
| Code | Description | Schema |
|---|---|---|
| 200 | SSE event stream | application/json: EventStreamResponse |
| Name | Type | Description | Required |
|---|---|---|---|
| accessMode | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| access_token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| data | AccessTokenData | Yes | |
| result | string | Yes |
| 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 | JSONValue | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| appCode | string | Application code | No |
| appId | string | Application ID | No |
| Name | Type | Description | Required |
|---|---|---|---|
| tool_icons | object | Tool icon metadata keyed by tool name | No |
| Name | Type | Description | Required |
|---|---|---|---|
| appId | string | Application ID | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| text | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| result | boolean | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| application_title | string | Yes | |
| enabled | boolean | Yes | |
| favicon | string | Yes | |
| login_page_logo | string | Yes | |
| workspace_logo | string | Yes |
Button styles for user actions.
| Name | Type | Description | Required |
|---|---|---|---|
| ButtonStyle | string | Button styles for user actions. |
| Name | Type | Description | Required |
|---|---|---|---|
| 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 | Response mode: blocking or streaming | No |
| retriever_from | string, | ||
| Default: web_app | Source of retriever | No |
| 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 | Response mode: blocking or streaming | No |
| retriever_from | string, | ||
| Default: web_app | Source of retriever | No |
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ SimpleConversation ] | Yes | |
| has_more | boolean | Yes | |
| limit | integer | Yes |
| 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 |
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| language | string | No |
| Name | Type | Description | Required |
|---|---|---|---|
| code | string | Yes | |
| string | Yes | ||
| token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| EventStreamResponse | string |
| Name | Type | Description | Required |
|---|---|---|---|
| ExecutionContentType | string |
| 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 |
| 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 |
| 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 | 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| FileTransferMethod | string |
| Name | Type | Description | Required |
|---|---|---|---|
| FileType | string |
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| code | string | Yes | |
| string | Yes | ||
| token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| new_password | string | Yes | |
| password_confirm | string | Yes | |
| token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| language | string | No |
| Name | Type | Description | Required |
|---|---|---|---|
| FormInputConfig | ParagraphInputConfig | ||
| SelectInputConfig | |||
| FileInputConfig | |||
| FileListInputConfig |
| Name | Type | Description | Required |
|---|---|---|---|
| GeneratedAppResponse |
| Name | Type | Description | Required |
|---|---|---|---|
| form_definition | HumanInputFormDefinition | No | |
| form_submission_data | HumanInputFormSubmissionData | No | |
| submitted | boolean | Yes | |
| type | ExecutionContentType | No | |
| workflow_run_id | string | Yes |
Parsed multipart form fields for HITL uploads.
| Name | Type | Description | Required |
|---|---|---|---|
| url | string | Remote file URL | No |
| Name | Type | Description | Required |
|---|---|---|---|
| actions | [ UserActionConfig ] | No | |
| display_in_ui | boolean | No | |
| expiration_time | integer | Yes | |
| form_content | string | Yes | |
| form_id | string | Yes | |
| form_token | string | No | |
| inputs | [ FormInputConfig ] | No | |
| node_id | string | Yes | |
| node_title | string | Yes | |
| resolved_default_values | object | No |
| 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 |
| 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 |
| 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 |
| Name | Type | Description | Required |
|---|
| Name | Type | Description | Required |
|---|---|---|---|
| expires_at | integer | Yes | |
| upload_token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| JSONObject | object |
| Name | Type | Description | Required |
|---|---|---|---|
| JSONValue | string | ||
| integer | |||
| number | |||
| boolean | |||
| object | |||
| [ object ] |
| Name | Type | Description | Required |
|---|---|---|---|
| JSONValueType |
| Name | Type | Description | Required |
|---|---|---|---|
| JsonValue |
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | Whether this limit is currently active | Yes |
| limit | integer | Maximum number of resources allowed; 0 means no limit | Yes |
| size | integer | Number of resources already consumed | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| expired_at | string | Yes | |
| seats | LicenseLimitationModel | Yes | |
| status | LicenseStatus | Yes | |
| workspaces | LicenseLimitationModel | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| LicenseStatus | string |
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| password | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| app_code | string | Web app code | No |
| user_id | string | End user session ID | No |
| Name | Type | Description | Required |
|---|---|---|---|
| app_logged_in | boolean | Yes | |
| logged_in | boolean | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| content | string | Optional text feedback providing additional detail. | No |
| rating | string | Feedback rating. Set to null to revoke previously submitted feedback. | No |
| Name | Type | Description | Required |
|---|---|---|---|
| belongs_to | string | No | |
| filename | string | Yes | |
| id | string | Yes | |
| mime_type | string | No | |
| size | integer | No | |
| transfer_method | string | Yes | |
| type | string | Yes | |
| upload_file_id | string | No | |
| url | string | No |
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| response_mode | string, | ||
| Available values: "blocking", "streaming" | Response mode | ||
Enum: "blocking", "streaming" | Yes |
Form input definition.
| Name | Type | Description | Required |
|---|---|---|---|
| default | StringSource | No | |
| output_variable_name | string | Yes | |
| type | string | No |
| Name | Type | Description | Required |
|---|---|---|---|
| annotation_reply | JSONObject | Yes | |
| file_upload | JSONObject | Yes | |
| more_like_this | JSONObject | Yes | |
| opening_statement | No | ||
| retriever_resource | JSONObject | Yes | |
| sensitive_word_avoidance | JSONObject | Yes | |
| speech_to_text | JSONObject | Yes | |
| suggested_questions | [ string ] | Yes | |
| suggested_questions_after_answer | JSONObject | Yes | |
| system_parameters | SystemParameters | Yes | |
| text_to_speech | JSONObject | Yes | |
| user_input_form | [ JSONObject ] | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| access_token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| user_id | string | End user session ID | No |
| Name | Type | Description | Required |
|---|---|---|---|
| plugin_installation_scope | PluginInstallationScope | Yes | |
| restrict_to_marketplace_only | boolean | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| PluginInstallationScope | string |
| Name | Type | Description | Required |
|---|---|---|---|
| enabled | boolean | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| file_length | integer | Yes | |
| file_type | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| url | string (uri) | Remote file URL | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| result | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| content | string | No | |
| created_at | integer | No | |
| data_source_type | string | No | |
| dataset_id | string | No | |
| dataset_name | string | No | |
| document_id | string | No | |
| document_name | string | No | |
| hit_count | integer | No | |
| id | string | No | |
| index_node_hash | string | No | |
| message_id | string | No | |
| position | integer | Yes | |
| score | number | No | |
| segment_id | string | No | |
| segment_position | integer | No | |
| summary | string | No | |
| word_count | integer | No |
| Name | Type | Description | Required |
|---|---|---|---|
| message_id | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ SavedMessageItem ] | Yes | |
| has_more | boolean | Yes | |
| limit | integer | Yes |
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| last_id | string | No | |
| limit | integer, | ||
| Default: 20 | No |
| Name | Type | Description | Required |
|---|---|---|---|
| option_source | StringListSource | Yes | |
| output_variable_name | string | Yes | |
| type | string | No |
| Name | Type | Description | Required |
|---|---|---|---|
| created_at | integer | No | |
| id | string | Yes | |
| inputs | object | Yes | |
| introduction | string | No | |
| name | string | Yes | |
| status | string | Yes | |
| updated_at | integer | No |
| Name | Type | Description | Required |
|---|---|---|---|
| rating | string | No |
| Name | Type | Description | Required |
|---|---|---|---|
| data | string | Yes | |
| result | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| result | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| selector | [ string ] | No | |
| type | ValueSourceType | Yes | |
| value | [ string ] | No |
Default configuration for form inputs.
| Name | Type | Description | Required |
|---|---|---|---|
| selector | [ string ] | No | |
| type | ValueSourceType | Yes | |
| value | string | No |
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ string ] | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| branding | BrandingModel | Yes | |
| enable_app_deploy | boolean | Yes | |
| enable_change_email | boolean, | ||
| Default: true | Yes | ||
| enable_collaboration_mode | boolean, | ||
| Default: true | Yes | ||
| enable_creators_platform | boolean | Yes | |
| enable_email_code_login | boolean | Yes | |
| enable_email_password_login | boolean, | ||
| Default: true | Yes | ||
| enable_explore_banner | boolean | Yes | |
| enable_learn_app | boolean, | ||
| Default: true | Yes | ||
| enable_marketplace | boolean | Yes | |
| enable_social_oauth_login | boolean | Yes | |
| enable_trial_app | boolean | Yes | |
| is_allow_create_workspace | boolean | Yes | |
| is_allow_register | boolean | Yes | |
| is_email_setup | boolean | Yes | |
| license | LicenseModel | Yes | |
| max_plugin_package_size | integer, | ||
| Default: 15728640 | Yes | ||
| plugin_installation_permission | PluginInstallationPermissionModel | Yes | |
| plugin_manager | PluginManagerModel | Yes | |
| rbac_enabled | boolean | Yes | |
| sso_enforced_for_signin | boolean | Yes | |
| sso_enforced_for_signin_protocol | string | Yes | |
| webapp_auth | WebAppAuthModel | Yes |
| 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 |
| 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 |
User action configuration.
| Name | Type | Description | Required |
|---|---|---|---|
| button_style | ButtonStyle | No | |
| id | string | Yes | |
| title | string | Yes |
ValueSourceType records whether the value comes from a static setting in form definiton, 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 definiton, or a variable while the workflow is running. |
| Name | Type | Description | Required |
|---|---|---|---|
| string | Yes | ||
| is_valid | boolean | Yes | |
| token | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| allow_email_code_login | boolean | Yes | |
| allow_email_password_login | boolean | Yes | |
| allow_sso | boolean | Yes | |
| enabled | boolean | Yes | |
| sso_config | WebAppAuthSSOModel | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| protocol | string | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| remove_webapp_brand | boolean | Yes | |
| replace_webapp_logo | string | No |
| 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 | |
| model_config | WebModelConfigResponse | No | |
| plan | string | Yes | |
| site | WebSiteResponse | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| data | [ WebMessageListItem ] | Yes | |
| has_more | boolean | Yes | |
| limit | integer | Yes |
| Name | Type | Description | Required |
|---|---|---|---|
| agent_thoughts | [ AgentThought ] | Yes | |
| answer | string | Yes | |
| answer_tokens | integer | No | |
| conversation_id | string | Yes | |
| created_at | integer | No | |
| currency | string | No | |
| error | string | No | |
| extra_contents | [ HumanInputContent ] | Yes | |
| feedback | SimpleFeedback | No | |
| id | string | Yes | |
| inputs | object | Yes | |
| message_files | [ MessageFile ] | Yes | |
| message_tokens | integer | No | |
| metadata | JSONValueType | No | |
| parent_message_id | string | No | |
| provider_response_latency | number | No | |
| query | string | Yes | |
| retriever_resources | [ RetrieverResource ] | Yes | |
| status | string | Yes | |
| total_price | string | No | |
| total_tokens | integer | Yes |
| 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 |
| 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 | Yes | |
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| files | [ 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 |