> ## 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.

# CheckoutAbTestStartResult

> The outcome of `checkoutAbTestStart`.

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

**diagnostics** `[\[CheckoutTreeDiagnostic!\]!](/docs/api-reference/v3/reference/checkout/checkout-tree-diagnostic)` *required*

Why an INVALID start was refused.

**fields**

**blocks** `[CheckoutTreeDiagnosticBlocks!](/docs/api-reference/v3/reference/checkout/checkout-tree-diagnostic-blocks)` *required*

What it stops.

**code** `String!` *required*

A stable code, such as CT0105. Read `diagnostics/<code>` in `checkoutTreeCatalog`.

**message** `String!` *required*

What is wrong.

**stepId** `String`

The step it is on; null for the tree as a whole.

**revision** `String!` *required*

The store's checkout tree revision now.

**risks** `[\[CheckoutTreeRisk!\]!](/docs/api-reference/v3/reference/checkout/checkout-tree-risk)` *required*

The consequences of starting this test.

**fields**

**code** `[CheckoutTreeRiskCode!](/docs/api-reference/v3/reference/checkout/checkout-tree-risk-code)` *required*

What kind of consequence.

**message** `String!` *required*

What happens.

**splitIds** `[String!]!` *required*

The A/B tests it concerns.

**status** `[CheckoutAbTestStartStatus!](/docs/api-reference/v3/reference/checkout/checkout-ab-test-start-status)` *required*

What happened.

**synced** `Boolean`

On STARTED, whether Shopify has the config the tree needs; null otherwise.

**test** `[CheckoutAbTest](/docs/api-reference/v3/reference/checkout/checkout-ab-test)`

The test.

**fields**

**concludedToControl** `Boolean!` *required*

True when the test concluded back to its control: it has no winner.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When it was created.

**endedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When it ended. Null if it hasn't.

**hypothesis** `String!` *required*

What the test sets out to show.

**id** `ID!` *required*

The test's id, the `splitId` of its SPLIT step in a checkout tree.

**name** `String`

The test's name, if it has one.

**queuePosition** `Int`

Its place in the queue, from 1. Null if it isn't queued.

**startedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When it started. Null if it hasn't.

**status** `[CheckoutAbTestStatus!](/docs/api-reference/v3/reference/checkout/checkout-ab-test-status)` *required*

Where the test is in its life.

**treatments** `[\[CheckoutAbTestTreatment!\]!](/docs/api-reference/v3/reference/checkout/checkout-ab-test-treatment)` *required*

The test's arms, control included.

**fields**

**id** `ID!` *required*

The treatment's id.

**isControl** `Boolean!` *required*

True for the arm the others are measured against.

**isWinner** `Boolean!` *required*

True only when the test concluded to this treatment and it isn't the control. A test that concluded to its control has no winner.

**name** `String!` *required*

The treatment's name.

**weight** `Float!` *required*

Its share of traffic, as a percentage.


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