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

# Quickstart

> Start building awesome electronic signature workflow in 7 steps

<Frame>
  <img className="block" src="https://mintcdn.com/alohi/KnYKDC0EFTC2S5WS/resources/get-started/quickstart/quickstart.svg?fit=max&auto=format&n=KnYKDC0EFTC2S5WS&q=85&s=072cad7d397596cd5da95c08efa368b9" alt="Quickstart" width="733" height="314" data-path="resources/get-started/quickstart/quickstart.svg" />
</Frame>

<Steps>
  <Step title="Create a Sign.Plus Account">
    Please sign up on the [Sign.Plus Platform](https://app.sign.plus) to get started.

    <Frame>
      <video controls>
        <source src="https://mintcdn.com/alohi/KnYKDC0EFTC2S5WS/resources/get-started/quickstart/create-account.mp4?fit=max&auto=format&n=KnYKDC0EFTC2S5WS&q=85&s=db6c8c5db88974c7e3812e27fd934372" type="video/mp4" data-path="resources/get-started/quickstart/create-account.mp4" />

        Your browser does not support the video tag.
      </video>
    </Frame>
  </Step>

  <Step title="Get Your API Key">
    Please visit the [Integrations](https://app.sign.plus/profile/integrations) page to activate your API sandbox and get your API key.
  </Step>

  <Step title="Create Your First Envelope">
    ## Create your first envelope

    An **Envelope** is a container for documents to be signed by recipients. Learn more about [Envelope](/concepts/envelope).

    To create a new envelope, see the <a href="/api-reference/endpoints/signplus/create-new-envelope" target="_blank">POST /v2/envelope</a> endpoint documentation.

    ```bash Create envelope theme={null}
    curl --request POST \
      --url https://restapi.sign.plus/v2/envelope \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: application/json' \
      --data '{
      "name": "My wonderful envelope",
      "flow_type": "REQUEST_SIGNATURE",
      "legality_level": "SES",
      "expires_at": 1831280113,
      "sandbox": true
    }'
    ```

    On success, the API will return a response with the envelope ID in a format like `66873403520e051cdb834df`. Get the envelope ID from the response to use in the next steps.
  </Step>

  <Step title="Add a Document into Your Envelope">
    A **Document** is a file that you want to get signed by recipients. You can add one or more documents in an Envelope.
    Learn more about [Documents](/concepts/document).

    To add a document to the envelope, see the <a href="/api-reference/endpoints/signplus/add-envelope-document" target="_blank">POST /v2/envelope/\{envelope\_id}/document</a> endpoint documentation.

    ```bash Add document theme={null}
    curl --request POST \
      --url https://restapi.sign.plus/v2/envelope/{envelope_id}/document \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: multipart/form-data' \
      --form 'file=<string>'
    ```

    On success, the API will return a response with the document ID in a format like `66873403520e051cdb834df`. Get the document ID from the response to use in the next steps.
  </Step>

  <Step title="Set a Recipient to Your Envelope">
    A **Recipient** is a person who will sign the document in the envelope. You can add one or more recipients to an envelope in a specific order using signing steps.
    Learn more about Signing Steps in [Signing Steps](/concepts/signing-steps).

    To add a recipient to the envelope, see the <a href="/api-reference/endpoints/signplus/add-envelope-signing-steps" target="_blank">POST /v2/envelope/\{envelope\_id}/signing\_steps</a> endpoint documentation.

    ```bash Add signing steps 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",
            }
          ]
        }
      ]
    }'
    ```

    On success, the API will return a response with the recipient ID in a format like `66873403520e051cdb834df` under the signing steps. Get the recipient ID from the response to use in the next steps.
  </Step>

  <Step title="Insert a Signature Annotation in Your Document">
    A **Signature Annotation** serves as a designated placeholder within a document where the recipient is required to sign. You can include one or more signature annotations in a document. These annotations can be added alongside other types of annotations, such as text fields, date fields, and checkboxes. For further details, visit [Annotation](/concepts/annotation).

    Before adding the annotation, you need to define your signature in the Sign.Plus platform.

    <Frame>
      <video controls>
        <source src="https://mintcdn.com/alohi/KnYKDC0EFTC2S5WS/resources/get-started/quickstart/define-signature.mp4?fit=max&auto=format&n=KnYKDC0EFTC2S5WS&q=85&s=bada09f54d93facc4827698b1f9041bb" type="video/mp4" data-path="resources/get-started/quickstart/define-signature.mp4" />

        Your browser does not support the video tag.
      </video>
    </Frame>

    To learn how to add a signature annotation to a document, refer to the [POST /v2/document/\{envelope\_id}/annotation](/api-reference/endpoints/signplus/add-envelope-annotation) endpoint documentation.

    ```bash Add annotation theme={null}
    curl --request POST \
      --url https://restapi.sign.plus/v2/envelope/{envelope_id}/annotation \
      --header 'Authorization: Bearer <api-key>' \
      --header 'Content-Type: application/json' \
      --data '{
      "recipient_id": "<string>",
      "document_id": "<string>",
      "page": 1,
      "x": 50,
      "y": 20,
      "width": 20,
      "height": 60,
      "required": true,
      "type": "SIGNATURE",
      "signature": {
        "id": ""
      },
      "initials": null,
      "text": null,
      "datetime": null,
      "checkbox": null
    }'
    ```

    On success, the API will return the inserted annotation.
  </Step>

  <Step title="Send Your Envelope for Signature">
    You successfully created an envelope, added a document, set a recipient, and inserted a signature annotation. Now, it's time to send the envelope for signature.

    To send the envelope for signature, see the <a href="/api-reference/endpoints/signplus/send-envelope-for-signature" target="_blank">POST /v2/envelope/\{envelope\_id}/send</a> endpoint documentation.

    ```bash Send envelope theme={null}
    curl --request POST \
    --url https://restapi.sign.plus/v2/envelope/{envelope_id}/send \
    --header 'Authorization: Bearer <api-key>'
    ```

    On success, the API will send the envelope for signature to the recipient. They will receive an email notification with a link to sign the document.
  </Step>

  <Step title="Get notification when the envelope is completed">
    Now that your envelope is sent for signature, you can get notified when the envelope status changes. You can use the Webhooks feature to get real-time notifications about the envelope status.

    To learn more about Webhooks, visit the [Webhooks](/guides/get-notified-using-webhooks) guide.
  </Step>

  <Step title="Download signed documents">
    Once the recipient signs the envelope, you have two options to retrieve files through the Sign.Plus API:

    To obtain just the Certificate of Completion, use the GET <a href="/api-reference/endpoints/signplus/get-envelope-certificate" target="_blank">GET /v2/envelope/\{envelope\_id}/certificate</a> endpoint.

    To download the signed envelope as a <a href="https://helpx.adobe.com/acrobat/using/overview-pdf-portfolios.html" target="_blank">PDF Portfolio</a>, use the <a href="/api-reference/endpoints/signplus/get-envelope-signed_documents" target="_blank">GET /v2/envelope/\{envelope\_id}/signed\_documents</a> endpoint.

    If you only need one signed file, download an individual signed document: <a href="/api-reference/endpoints/signplus/get-envelope-signed-document" target="_blank">GET /v2/envelope/\{envelope\_id}/signed\_documents/\{document\_id}</a>.
  </Step>
</Steps>

## Go further

* Create a [Template](/guides/create-your-first-template) for frequently used envelope
* Get notified when the envelope status changes with [Webhooks](/guides/get-notified-using-webhooks)
