JSON request bodywidget.json{
"widget": {
"id": "regional-detail",
"type": "table",
"title": "Regional performance",
"width": 12,
"height": 360,
"columns": [
{
"key": "region",
"label": "Region"
},
{
"key": "revenue",
"label": "Revenue"
},
{
"key": "growth",
"label": "Growth"
}
],
"rows": [
{
"region": "West",
"revenue": "$218,400",
"growth": "12.4%"
},
{
"region": "Central",
"revenue": "$176,900",
"growth": "8.1%"
}
],
"note": "West remains the strongest growth region."
}
}
Send this object as application/json.
JSON response body201 Created{
"status": "ok",
"message": "Report updated.",
"data": {
"id": "c4e53143da3f4f538ad9bd12",
"external_id": "llm-weekly-revenue",
"title": "Weekly Revenue and Pipeline Brief",
"status": "Published",
"type": "Data visualization",
"date_range": "Aug 2-8, 2026",
"schedule": "Every Monday at 08:00 PT",
"client_id": 4,
"user_id": 198,
"user_label": "Example Customer u00b7 reports@example.com",
"owner_user_id": 583,
"updated_at": "2026-08-08 11:42:16",
"updated_display": "Aug 8, 2026",
"share_enabled": false,
"widget_types": [
"Chart",
"Kpi",
"Table"
],
"description": "An updated executive view produced by the revenue pipeline.",
"layout": {
"columns": 12,
"gap": 16
},
"source": {
"external_id": "llm-weekly-revenue",
"user_id": 198,
"title": "Weekly Revenue and Pipeline Brief",
"description": "An updated executive view produced by the revenue pipeline.",
"status": "published",
"date_range": "Aug 2-8, 2026",
"schedule": "Every Monday at 08:00 PT",
"layout": {
"columns": 12,
"gap": 16
},
"widgets": [
{
"id": "revenue-trend",
"type": "chart",
"title": "Revenue vs target",
"width": 8,
"height": 360,
"option": {
"tooltip": {
"trigger": "axis"
},
"dataset": {
"source": [
[
"day",
"Revenue",
"Target"
],
[
"Mon",
18400,
17000
],
[
"Tue",
21300,
18000
]
]
},
"xAxis": {
"type": "category"
},
"yAxis": {},
"series": [
{
"type": "bar"
},
{
"type": "line"
}
]
},
"note": "Revenue remained above target."
},
{
"id": "pipeline-coverage",
"type": "kpi",
"title": "Pipeline coverage",
"width": 4,
"height": 220,
"value": "3.8x",
"label": "Next-quarter target",
"delta": "+0.4x"
},
{
"id": "regional-detail",
"type": "table",
"title": "Regional performance",
"width": 12,
"height": 360,
"columns": [
{
"key": "region",
"label": "Region"
},
{
"key": "revenue",
"label": "Revenue"
},
{
"key": "growth",
"label": "Growth"
}
],
"rows": [
{
"region": "West",
"revenue": "$218,400",
"growth": "12.4%"
},
{
"region": "Central",
"revenue": "$176,900",
"growth": "8.1%"
}
],
"note": "West remains the strongest growth region."
}
]
},
"share_url": "",
"widgets": [
{
"id": "revenue-trend",
"type": "chart",
"title": "Revenue vs target",
"width": 8,
"height": 360,
"option": {
"tooltip": {
"trigger": "axis"
},
"dataset": {
"source": [
[
"day",
"Revenue",
"Target"
],
[
"Mon",
18400,
17000
],
[
"Tue",
21300,
18000
]
]
},
"xAxis": {
"type": "category"
},
"yAxis": {},
"series": [
{
"type": "bar"
},
{
"type": "line"
}
]
},
"note": "Revenue remained above target.",
"note_updated_at": "2026-08-08 11:42:16"
},
{
"id": "pipeline-coverage",
"type": "kpi",
"title": "Pipeline coverage",
"width": 4,
"height": 220,
"value": "3.8x",
"label": "Next-quarter target",
"delta": "+0.4x",
"note": "",
"note_updated_at": ""
},
{
"id": "regional-detail",
"type": "table",
"title": "Regional performance",
"width": 12,
"height": 360,
"columns": [
{
"key": "region",
"label": "Region"
},
{
"key": "revenue",
"label": "Revenue"
},
{
"key": "growth",
"label": "Growth"
}
],
"rows": [
{
"region": "West",
"revenue": "$218,400",
"growth": "12.4%"
},
{
"region": "Central",
"revenue": "$176,900",
"growth": "8.1%"
}
],
"note": "West remains the strongest growth region.",
"note_updated_at": "2026-08-08 11:42:16"
}
]
}
}
Representative success response. Timestamps, IDs, report data, and notes reflect the organization's stored report.
import os
import requests
report_id = "c4e53143da3f4f538ad9bd12"
url = f"https://api.madfishelements.com/api/v1/visualizations/reports/{report_id}/widgets"
headers = {"Authorization": f"Bearer {os.environ['MFE_API_KEY']}"}
payload = {
"widget": {
"id": "regional-detail",
"type": "table",
"title": "Regional performance",
"width": 12,
"height": 360,
"columns": [
{
"key": "region",
"label": "Region"
},
{
"key": "revenue",
"label": "Revenue"
},
{
"key": "growth",
"label": "Growth"
}
],
"rows": [
{
"region": "West",
"revenue": "$218,400",
"growth": "12.4%"
},
{
"region": "Central",
"revenue": "$176,900",
"growth": "8.1%"
}
],
"note": "West remains the strongest growth region."
}
}
response = requests.post(url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())
Install the client with python -m pip install requests.