# C1 documentation: API Endpoints Report

## Report

- [List](https://www.c1.ai/docs/api-reference/report/list.md): List returns every report in the tenant, newest first, each carrying the  user who saved it. It is not filtered by author.
- [Save](https://www.c1.ai/docs/api-reference/report/save.md): Save copies the program behind an already-rendered reporting surface into  a report. The caller identifies the surface; the server resolves which  program produced it. There is no create-from-prompt: the prompt has already  been answered by the time a report is worth keeping.
- [Get](https://www.c1.ai/docs/api-reference/report/get.md): Get returns a report by ID, including its latest run and latest successful  run. Reports are not scoped by author: reaching this service is the scope,  and only tenant administrators hold its roles.
- [Update](https://www.c1.ai/docs/api-reference/report/update.md): Update modifies a report's display name, prompt, or parameter values. Any  caller holding this permission may update any report in the tenant; the  read-only administrator's role does not carry it.
- [Delete](https://www.c1.ai/docs/api-reference/report/delete.md): Delete removes a report by ID. The report's saved program is removed with  it, so the report can no longer be re-run. Any caller holding this  permission may delete any report in the tenant; the read-only  administrator's role does not carry it.
- [Get Program](https://www.c1.ai/docs/api-reference/report/get-program.md): GetProgram returns the report's current durable source without attaching it  to the notification-driven report response. Scoped like Get: any caller who  may reach this service.
- [Run](https://www.c1.ai/docs/api-reference/report/run.md): Run re-executes the report's pinned program against today's data. It never  re-plans: the commit is fixed, so a rerun can only change the numbers, not  the question. Returns as soon as the invocation starts — see the response.
- [Get Run Provenance](https://www.c1.ai/docs/api-reference/report/get-run-provenance.md): GetRunProvenance explains a run: what it read, what its program looked at,  and the program itself. A2UIService.GetSurfaceProvenance answers the same  question for a surface, but needs a live one — and a rerun is headless, so  a report would become less explainable every time it refreshed.

## OpenAPI Specs

- [my-source-with-code-samples](https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples)
