> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# analyticsReportPlan

> See what report Redo would build for a question, and whether it can be built as asked, without saving one. Also answers whether something can be reported on at all. To change a plan before saving it, call this again with the change as `question` and the plan's `planId` as `basePlanId`. Takes 10 to 30 seconds. Throws ANALYTICS_PLAN_NOT_FOUND (404) when `basePlanId` is unknown or was made by another user or store.

**Required scopes:** [`analytics_write`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-analytics_write)

## Arguments

**basePlanId** `ID`

The `planId` of a plan to change. The new plan keeps everything `question` doesn't ask to change.

**question** `String!` *required*

The question in plain English, or the change to make when `basePlanId` is set, such as `also add refund amount`.

## Returns

**analyticsReportPlan** *required*

What Redo would build for a question, without saving a report. Pass `planId` to `analyticsReportCreateFromPlan` to save it.

**fields**

**columns** *required*

The columns the report would have, in order. Show them to the user before saving the plan.

**fields**

**calculation** `String`

How the column would be calculated, such as `count of distinct returns`. Null for a column read as stored.

**description** `String`

What the column means.

**label** `String!` *required*

The column's header.

**explanation** `String!` *required*

What the report would show, or why it can't be made.

**limitations** `[String!]!` *required*

Ways the report would differ from what was asked.

**missingConcepts** `[String!]!` *required*

What Redo's analytics has no data for.

**planId** `ID`

The plan to save. Null when the report is UNAVAILABLE.

**status** *required*

Whether the report can be made as asked.

**title** `String`

The title the report would have.

## Example

```graphql theme={null}
mutation {
  analyticsReportPlan(basePlanId: "...", question: "...") {
    explanation
    limitations
    missingConcepts
    planId
    status
    title
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.