Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Infiniflow Ragflow Canvas API Endpoints

From Leeroopedia
Knowledge Sources
Domains RAG, Agent_Systems, API_Design
Last Updated 2026-02-12 06:00 GMT

Overview

Concrete tool for deploying and sharing agent workflows via REST API endpoints provided by RAGFlow canvas_app.

Description

The canvas_app module provides several deployment-related endpoints: POST /canvas/setting for permission/metadata updates, GET /canvas/getsse/<id> for API-token authenticated canvas retrieval, POST /canvas/<id>/completion for external agent execution with optional trace, and GET /canvas/<id>/sessions for session management.

Usage

Used for deploying agents for external access and managing deployed agent sessions.

Code Reference

Source Location

  • Repository: ragflow
  • File: api/apps/canvas_app.py
  • Lines: L110-129 (getsse), L189-230 (exp_agent_completion), L525-548 (setting), L565-598 (sessions)

Signature

# Permission/metadata update
@manager.route('/setting', methods=['POST'])
async def setting():
    """Update canvas title, permission, description, avatar."""

# API-token authenticated access
@manager.route('/getsse/<canvas_id>', methods=['GET'])
def getsse(canvas_id):
    """Get canvas via API token (Authorization: Bearer <token>)."""

# External agent execution with trace
@manager.route('/<canvas_id>/completion', methods=['POST'])
async def exp_agent_completion(canvas_id):
    """Execute agent with optional return_trace."""

# Session management
@manager.route('/<canvas_id>/sessions', methods=['GET'])
def sessions(canvas_id):
    """List sessions with pagination and filtering."""

Import

# These are REST endpoints, not directly importable
# Access via HTTP: POST /canvas/setting, GET /canvas/getsse/<id>, etc.

I/O Contract

Inputs

Name Type Required Description
canvas_id str Yes Agent canvas ID
Authorization str Yes (for getsse) Bearer API token
return_trace bool No Enable execution tracing

Outputs

Name Type Description
setting int Updated row count
getsse dict Full canvas data
completion SSE stream Agent execution events with optional trace
sessions dict {total: int, sessions: list}

Usage Examples

import requests

# Deploy with team permission
url = "http://localhost:9380/canvas/setting"
payload = {
    "id": "canvas-uuid-123",
    "title": "Customer Support Agent",
    "permission": "team",
    "description": "Handles customer inquiries"
}
requests.post(url, json=payload, headers=headers)

# External access via API token
url = f"http://localhost:9380/canvas/getsse/{canvas_id}"
headers = {"Authorization": f"Bearer {api_token}"}
response = requests.get(url, headers=headers)

Related Pages

Implements Principle

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment