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

# Build signing flow

<Frame>
  <img className="block" src="https://mintcdn.com/alohi/KnYKDC0EFTC2S5WS/resources/guides/build-signing-flow.svg?fit=max&auto=format&n=KnYKDC0EFTC2S5WS&q=85&s=47691990495958d315c99534f0fdd3ad" alt="Build signing flow" width="733" height="314" data-path="resources/guides/build-signing-flow.svg" />
</Frame>

The **Sign.Plus API** allows you to build a custom signing flow for your envelope. The signing flow (also known as signing steps or signing order) defines the order in which recipients sign the document. You can set the signing order for each recipient in the envelope.

All recipient are not required to sign the document. They can also only receives the document. You can set the signing order for each recipient in the envelope.

<AccordionGroup>
  <Accordion title="1 recipient with 1 signing step">
    ```bash 1 recipient with 1 signing step theme={null}
    curl --request POST \
      --url https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: application/json' \
      --data '{
      "signing_steps": [
        {
          "recipients": [
            {
              "name": "John Doe",
              "email": "john.doe@gmail.com",
              "role": "SIGNER",
            }
          ]
        }
      ]
    }'
    ```
  </Accordion>

  <Accordion title="3 recipients with 1 signing step">
    ```bash 3 recipients with 1 signing step theme={null}
    curl --request POST \
      --url https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: application/json' \
      --data '{
      "signing_steps": [
        {
          "recipients": [
            {
              "name": "John Doe",
              "email": "john.doe@gmail.com",
              "role": "SIGNER",
            },
            {
              "name": "Mark Twain",
              "email": "mark.twain@gmail.com",
              "role": "SIGNER",
            },
            {
              "name": "Bob Dylan",
              "email": "bob.dylan@gmail.com",
              "role": "RECEIVES_COPY",
            },

          ]
        }
      ]
    }'
    ```
  </Accordion>

  <Accordion title="6 recipients with 3 signing steps (2 recipient per signing step)">
    Each step will have to be completed before the next step can be started.

    ```bash Three recipients with one signing step theme={null}
    curl --request POST \
      --url https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: application/json' \
      --data '{
      "signing_steps": [
        {
          "recipients": [
            {
              "name": "John Doe",
              "email": "john.doe@gmail.com",
              "role": "SIGNER",
            },
            {
              "name": "Bob Dylan",
              "email": "bob.dylan@gmail.com",
              "role": "RECEIVES_COPY",
            }
          ],
          "recipients": [
            {
              "name": "Alice Doe",
              "email": "alice.doe@gmail.com",
              "role": "SIGNER",
            },
            {
              "name": "Jane Doe",
              "email": "jane.doe@gmail.com",
              "role": "SIGNER",
            }
          ],
          "recipients": [
            {
              "name": "Louis Dupont",
              "email": "louis.dupont@gmail.com",
              "role": "RECEIVES_COPY",
            },
            {
              "name": "Michel Dupont",
              "email": "michel.dupont@gmail.com",
              "role": "RECEIVES_COPY",
            }
          ],
        }
      ]
    }'
    ```
  </Accordion>
</AccordionGroup>
