---
title: "Generate a cross-workspace report"
method: POST
path: "/api/v1/analytics/workspace-reports"
tags: ["🏢 Workspace Reports"]
---

# Generate a cross-workspace report

`POST /api/v1/analytics/workspace-reports`

## Request

- Base URL: `https://api.contentstudio.io`
- URL: `https://api.contentstudio.io/api/v1/analytics/workspace-reports`
- Auth: API key in header `X-API-Key`

Asynchronous, like every report: returns 202 and a report id. The response also names the workspaces actually included, which may be fewer than requested if the caller lacks access to some - read that back rather than assuming every id you sent was covered.

## Request body

- object
  - `title` string, required
  - `date` string, required
  - `workspace_ids` string[], required
  - `widgets` string[]
  - `language` string
  - `timezone` string

## Response `202`

Accepted

- object

## Other responses

- `401`: Unauthorized
- `403`: None of the requested workspaces are accessible
- `422`: Validation error

## Changes

- **2026-09-29** `9c2efef77ec1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1/changes/api/v1/analytics/workspace-reports/post.md)

---

[API](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1.md) - [All operations](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1/revisions/2ce09d50369c?raw)
