Skip to main content
Chart updates replace the data inside a chart that was already generated (or uploaded), without regenerating the deck. The chart’s type, colours, legend, axis formatting, and position on the slide are preserved — only the categories, series values, and optional data rows change.
NPS stacked bar chart with original survey data.

Before update

Same NPS chart with refreshed survey data — promoter percentages increased, detractor percentages decreased.

After update

When to use chart updates vs. regeneration

Use chart updates when you want to refresh chart data in a deck that already exists — either one the API generated, or one a user edited manually in PowerPoint. Layout, formatting, and any manual edits to other slides are preserved. Use full regeneration when the deck structure itself needs to change (different slides, different tables, different layouts).

Endpoint

The same endpoint handles two input modes:
  • JSON body — reference a presentation already in storage by its ID
  • Multipart form — upload a .pptx file and update charts in it in one request

JSON body (presentation already in storage)

The presentation_id path parameter accepts:
  • gen_xxx — from slide generation, deck generation, or chart updates
  • pres_xxx — older direct-return generation output, if present

Multipart form (upload a .pptx and update it)

Use this when a user has edited a deck manually in PowerPoint and you want to refresh chart data in the edited file.
The updates field is a JSON string in the form body. When a file is uploaded, the path parameter is ignored — the response returns a new cupd_xxx ID for the updated file.

Response

Update fields

Each entry in the updates array targets one chart:

chart_data fields

Only categories and series are required. Omitted fields are left unchanged from the existing chart. Existing bar labels are recalculated from the new values in their existing mode — percent labels stay percentages without resending the label fields.

Slide index after pagination

slide_index refers to the output presentation, not the original input array. If a table slide paginated into multiple pages during generation, subsequent slide indexes shift. The generation response includes total_pages_generated and slide_results — use those to determine the correct output position for each chart.

Errors