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

# PostPurchaseFlowDefinitionInput

> A whole post-purchase flow as steps and edges. A step has at most one edge into it. No steps means no flow.

**edges** `[\[PostPurchaseFlowEdgeInput!\]!](/docs/api-reference/v3/reference/checkout/post-purchase-flow-edge-input)` *required*

Its edges. A port leads to at most one step.

**fields**

**from** `String!` *required*

The step it leaves, or `"trigger"` for the start.

**port** `String!` *required*

`next` from the start; `accept` or `decline` from a page; `matching` or `nonMatching` from a segment; a treatment's id (or, for one you're adding, its name) from a split.

**to** `String!` *required*

The step it leads to.

**steps** `[\[PostPurchaseFlowStepInput!\]!](/docs/api-reference/v3/reference/checkout/post-purchase-flow-step-input)` *required*

Its steps.

**fields**

**id** `String!` *required*

Any id, unique in the flow. The edges name steps by it.

**segment** `[PostPurchaseSegmentInput](/docs/api-reference/v3/reference/checkout/post-purchase-segment-input)`

Which orders a SEGMENT step matches.

**fields**

**blocks** `[\[PostPurchaseSegmentBlockInput!\]!](/docs/api-reference/v3/reference/checkout/post-purchase-segment-block-input)` *required*

Its blocks.

**conjunction** `[PostPurchaseSegmentConjunction!](/docs/api-reference/v3/reference/checkout/post-purchase-segment-conjunction)` *required*

How its blocks join.

**split** `[PostPurchaseFlowSplitInput](/docs/api-reference/v3/reference/checkout/post-purchase-flow-split-input)`

A SPLIT step's A/B test.

**fields**

**description** `String`

What it tests.

**id** `String`

The test's id; omit it to add a test.

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

Its name.

**treatments** `[\[PostPurchaseFlowSplitTreatmentInput!\]!](/docs/api-reference/v3/reference/checkout/post-purchase-flow-split-treatment-input)` *required*

Its arms, control first.

**title** `String`

A SEGMENT step's name.

**type** `[PostPurchaseFlowStepType!](/docs/api-reference/v3/reference/checkout/post-purchase-flow-step-type)` *required*

What the step does.

**upsellPageId** `String`

A PAGE step's page.


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