Get project canvas
client.projects.canvas.retrieve(stringprojectID, RequestOptionsoptions?): CanvasRetrieveResponse { canvas_url, diagram, project_id, summary }
GET/projects/{projectId}/canvas
Returns the current project canvas topology as a Mermaid flowchart using the same serializer as the Fauna agent.
Get project canvas
import FLORA from '@flora-ai/flora';
const client = new FLORA({
apiKey: process.env['FLORA_API_KEY'], // This is the default and can be omitted
});
const canvas = await client.projects.canvas.retrieve('prj_abc123');
console.log(canvas.project_id);{
"canvas_url": "https://example.com",
"diagram": "graph LR\n n1[\"Prompt (text)\"]\n n2[\"Result (image)\"]\n n1 -->|text| n2",
"project_id": "prj_abc123",
"summary": {
"edge_count": 0,
"group_count": 0,
"isolated_node_count": 0,
"node_count": 0,
"workflow_count": 0
}
}{
"error": {
"code": "input_validation_error",
"message": "prompt: Required",
"fields": [
{
"field": "prompt",
"message": "Required"
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key."
}
}{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits."
}
}{
"error": {
"code": "forbidden",
"message": "Forbidden."
}
}{
"error": {
"code": "not_found",
"message": "Not found."
}
}{
"error": {
"code": "idempotency_duplicate",
"message": "Duplicate idempotency key."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}{
"error": {
"code": "unknown_error",
"message": "An unknown error occurred."
}
}Returns Examples
{
"canvas_url": "https://example.com",
"diagram": "graph LR\n n1[\"Prompt (text)\"]\n n2[\"Result (image)\"]\n n1 -->|text| n2",
"project_id": "prj_abc123",
"summary": {
"edge_count": 0,
"group_count": 0,
"isolated_node_count": 0,
"node_count": 0,
"workflow_count": 0
}
}{
"error": {
"code": "input_validation_error",
"message": "prompt: Required",
"fields": [
{
"field": "prompt",
"message": "Required"
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key."
}
}{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits."
}
}{
"error": {
"code": "forbidden",
"message": "Forbidden."
}
}{
"error": {
"code": "not_found",
"message": "Not found."
}
}{
"error": {
"code": "idempotency_duplicate",
"message": "Duplicate idempotency key."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}{
"error": {
"code": "unknown_error",
"message": "An unknown error occurred."
}
}