curl --request PATCH \
--url https://api.runflow.io/v1/runs/{run_id}/feedback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_positive": true,
"reason": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"flow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_version": "<string>",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"input": {},
"output": {},
"context": {},
"duration_ms": 123,
"cost": "<string>",
"cost_breakdown": {},
"nodes_total": 123,
"nodes_completed": 123,
"resolved_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"client_ref": "<string>",
"jurisdiction_code": "<string>",
"flow_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"request_id": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"callback_url": "<string>",
"metadata": {},
"has_logs": true,
"has_node_runs": true,
"links": {},
"failure_code": "<string>",
"failure_message": "<string>",
"feedback_is_positive": true,
"feedback_reason": "<string>",
"source_chat_message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"current_evaluation_summary": {
"passed": true,
"status_code": "<string>",
"score": 0.5
},
"node_runs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"flow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state_code": "<string>",
"input": {},
"output": {},
"input_signature": "<string>",
"preview_type": "<string>",
"preview_value": "<string>",
"duration_ms": 123,
"cost": "<string>",
"retry_count": 123,
"error_message": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"logs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"level_code": "<string>",
"message": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"meta": {},
"run": null
}
],
"model": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_creator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"version": "<string>",
"is_public": true,
"is_open_source": true,
"icon_url": "<string>",
"cover_url": "<string>",
"category_code": "<string>",
"status_code": "<string>",
"family_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"family_variant_code": "<string>",
"param_count": "<string>",
"architecture": "<string>",
"license_code": "<string>",
"max_resolution": "<string>",
"lora_support": true,
"fine_tuning": true,
"supports_streaming": true,
"paper_url": "<string>",
"github_url": "<string>",
"is_official": true,
"availability_status": "<string>",
"seo": {},
"notable_features": [
"<unknown>"
],
"content": "<string>",
"pricing_note": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"deleted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"inputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"default_behavior_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"is_required": true,
"default_value": {},
"sort_order": 123,
"is_featured": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"outputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"examples": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"input": {},
"output": {},
"status_code": 123,
"cost": "<string>",
"start_type": "<string>",
"timing": {},
"duration_ms": 123,
"total_ms": 123,
"thumbnail_url": "<string>",
"category_code": "<string>",
"is_featured": true,
"is_public": true,
"sort_order": 123,
"ran_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"faq_entries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"question": "<string>",
"answer": "<string>",
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pricing": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_model_code": "<string>",
"rule_effect_code": "<string>",
"model_input_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"match_value": null,
"dimension_code": "<string>",
"min_value": "<string>",
"max_value": "<string>",
"price": "<string>",
"currency_code": "<string>",
"unit_code": "<string>",
"multiplier_label": "<string>",
"description": "<string>",
"sort_order": 123,
"disabled_at": "2023-11-07T05:31:56Z",
"measurement_source": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"related_links": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"related_model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z"
}
]
},
"comfyui_workflow": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"workflow_json": {},
"version": "<string>",
"is_public": true,
"status_code": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment": {},
"models": {},
"custom_nodes": {},
"graph": {},
"resources": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"deleted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"category_code": "<string>",
"gpu_current_tier_code": "<string>",
"inputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"default_behavior_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"is_required": true,
"default_value": {},
"sort_order": 123,
"comfyui_node_id": "<string>",
"comfyui_field_name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"outputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"sort_order": 123,
"comfyui_node_id": "<string>",
"comfyui_field_name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"gpu_explicit_models": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"gpu_model_code": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
]
}
}Set or clear customer feedback on a run
Record a ๐ / ๐ on a run output, or clear an existing rating.
Scoped to the runโs organization. Only human (user) principals may rate
โ an API key flipping thumbs is noise rather than data โ mirroring the
sister rule on PATCH /v1/chat/.../feedback.
curl --request PATCH \
--url https://api.runflow.io/v1/runs/{run_id}/feedback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_positive": true,
"reason": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"flow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_version": "<string>",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"input": {},
"output": {},
"context": {},
"duration_ms": 123,
"cost": "<string>",
"cost_breakdown": {},
"nodes_total": 123,
"nodes_completed": 123,
"resolved_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"client_ref": "<string>",
"jurisdiction_code": "<string>",
"flow_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"request_id": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"callback_url": "<string>",
"metadata": {},
"has_logs": true,
"has_node_runs": true,
"links": {},
"failure_code": "<string>",
"failure_message": "<string>",
"feedback_is_positive": true,
"feedback_reason": "<string>",
"source_chat_message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"current_evaluation_summary": {
"passed": true,
"status_code": "<string>",
"score": 0.5
},
"node_runs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"node_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"flow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state_code": "<string>",
"input": {},
"output": {},
"input_signature": "<string>",
"preview_type": "<string>",
"preview_value": "<string>",
"duration_ms": 123,
"cost": "<string>",
"retry_count": 123,
"error_message": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"logs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"level_code": "<string>",
"message": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"meta": {},
"run": null
}
],
"model": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_creator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"version": "<string>",
"is_public": true,
"is_open_source": true,
"icon_url": "<string>",
"cover_url": "<string>",
"category_code": "<string>",
"status_code": "<string>",
"family_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"family_variant_code": "<string>",
"param_count": "<string>",
"architecture": "<string>",
"license_code": "<string>",
"max_resolution": "<string>",
"lora_support": true,
"fine_tuning": true,
"supports_streaming": true,
"paper_url": "<string>",
"github_url": "<string>",
"is_official": true,
"availability_status": "<string>",
"seo": {},
"notable_features": [
"<unknown>"
],
"content": "<string>",
"pricing_note": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"deleted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"inputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"default_behavior_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"is_required": true,
"default_value": {},
"sort_order": 123,
"is_featured": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"outputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"examples": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"input": {},
"output": {},
"status_code": 123,
"cost": "<string>",
"start_type": "<string>",
"timing": {},
"duration_ms": 123,
"total_ms": 123,
"thumbnail_url": "<string>",
"category_code": "<string>",
"is_featured": true,
"is_public": true,
"sort_order": 123,
"ran_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"faq_entries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"question": "<string>",
"answer": "<string>",
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"pricing": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_model_code": "<string>",
"rule_effect_code": "<string>",
"model_input_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"match_value": null,
"dimension_code": "<string>",
"min_value": "<string>",
"max_value": "<string>",
"price": "<string>",
"currency_code": "<string>",
"unit_code": "<string>",
"multiplier_label": "<string>",
"description": "<string>",
"sort_order": 123,
"disabled_at": "2023-11-07T05:31:56Z",
"measurement_source": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"related_links": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"related_model_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sort_order": 123,
"created_at": "2023-11-07T05:31:56Z"
}
]
},
"comfyui_workflow": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"workflow_json": {},
"version": "<string>",
"is_public": true,
"status_code": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment": {},
"models": {},
"custom_nodes": {},
"graph": {},
"resources": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"deleted_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"category_code": "<string>",
"gpu_current_tier_code": "<string>",
"inputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"default_behavior_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"is_required": true,
"default_value": {},
"sort_order": 123,
"comfyui_node_id": "<string>",
"comfyui_field_name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"outputs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"variable_type_code": "<string>",
"validator_code": "<string>",
"validator_attrs": {},
"sort_order": 123,
"comfyui_node_id": "<string>",
"comfyui_field_name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"gpu_explicit_models": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comfyui_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"gpu_model_code": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
]
}
}Documentation Index
Fetch the complete documentation index at: https://docs.runflow.io/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Path Parameters
Body
Body for PATCH .../feedback โ set or clear customer feedback.
Reversible singleton state: pass is_positive as true for ๐,
false for ๐, or null to clear an existing rating. reason
is dropped when is_positive is null.
Response
Successful Response
Response shape.
model, flow, comfyui queued, dispatching, running, succeeded, failed, cancelled, partial_succeeded playground, api, flow-node ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Failure classification (FK to run_failure_codes.code). None on successful runs.
Human-readable failure detail. See /v1/runs/{id}/logs for full audit history.
Pipeline stage where the failure originated (FK to run_failure_stages.code).
dispatch, execution, callback, reconciliation Customer thumb (TRUE = ๐, FALSE = ๐, NULL = no rating yet).
Optional customer-supplied note explaining the feedback.
Chat message that dispatched this run, if any.
Slim projection of a run's current evaluation, surfaced as the
current_evaluation_summary custom embed on GET /v1/runs.
"Current" = status_code == 'completed' AND superseded_at IS NULL. The
embed loader (routers/runs._populate_evaluation_summary) writes
None for runs with no current evaluation so the wire shape is
{"current_evaluation_summary": null} rather than an absent key once
the caller opts into the embed. The field is gated behind
evaluations:read โ see _RUN_CUSTOM_EMBED_PERMISSIONS.
status_code is typed as Literal["completed"] because the loader's
subquery (RunRepository._current_evaluation) filters to completed
rows only; any other value would be a contract violation.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response shape.
Show child attributes
Show child attributes
Response shape.
Show child attributes
Show child attributes