> ## Documentation Index
> Fetch the complete documentation index at: https://signatureapi-daf4ee54.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Ceremony

> The ceremony object represents a signing session where a recipient interacts with an envelope.

A ceremony is the session where a recipient authenticates and acts on an envelope. Depending on the recipient type, those actions include signing, approving, or preparing documents.

Each recipient has one active ceremony at a time. Creating a new ceremony for a recipient automatically revokes any previous ceremony.

A ceremony belongs to a [recipient](/docs/api/resources/recipients/object).

## Lifecycle

A ceremony's `status` tracks the recipient's progress. See the [ceremony lifecycle](/docs/api/resources/ceremonies/lifecycle) for details on each status.

## Attributes

<ResponseField name="authentication" type="array of authentication object">
  <Expandable title="Email Link Authentication">
    <div class="mt-4">
      With **email link authentication**, the recipient receives an email with a direct link to the ceremony. Clicking the link authenticates the recipient and opens the signing session.
    </div>

    <ResponseField name="type" type="enum">
      The type of authentication. Available values: `email_link`, `email_code`, and `custom`.

      For email link authentication, this value is `email_link`.
    </ResponseField>

    <ResponseField name="subject_override" type="string | null">
      The custom subject line used for this recipient's invitation email. `null` if the envelope title is used.
    </ResponseField>

    <ResponseField name="message_override" type="string | null">
      The custom message body used for this recipient's invitation email. `null` if the envelope message is used.
    </ResponseField>
  </Expandable>

  <Expandable title="Email Code Authentication">
    <div class="mt-4">
      With **email code authentication**, the recipient receives an email from SignatureAPI containing a 9-digit code. The recipient must enter this code to authenticate and access the ceremony.
    </div>

    <ResponseField name="type" type="enum">
      The type of authentication. Available values: `email_link`, `email_code`, and `custom`.

      For email code authentication, this value is `email_code`.
    </ResponseField>
  </Expandable>

  <Expandable title="Custom Authentication">
    <div class="mt-4">
      With **custom authentication**, your application authenticates the recipient. SignatureAPI provides a ceremony URL that you share or embed in your application to give the recipient access.
    </div>

    <ResponseField name="type" type="enum">
      The type of authentication. Available values: `email_link`, `email_code`, and `custom`.

      For custom authentication, this value is `custom`.
    </ResponseField>

    <ResponseField name="provider" type="string">
      The name of your company or application that authenticated the recipient. This value appears in the envelope audit log as the authentication provider.
    </ResponseField>

    <ResponseField name="data" type="object">
      Key-value pairs with metadata about the authentication event, such as timestamps, session IDs, and user identifiers. These values appear in the envelope audit log.

      <Warning>
        The values in `data` must be sufficient to verify how the recipient was authenticated. You must retain all records needed to prove the recipient's authentication, such as session information. In cases such as legal proceedings, you may need to provide these records to confirm identity.

        Review our [Terms & Conditions](https://signatureapi.com/terms) for details.
      </Warning>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="redirect_url" type="string | null">
  An HTTPS URL to redirect the recipient to after the ceremony finishes.

  Learn more in [Redirect URL](/docs/api/resources/ceremonies/redirect-url).
</ResponseField>

<ResponseField name="redirect_delay" type="integer | null">
  The delay in seconds before the ceremony redirects to `redirect_url` (standalone ceremonies) or emits completion events (embedded ceremonies).

  Defaults to `3`. Allowed range: `0` to `20`.

  Learn more in [Redirect URL](/docs/api/resources/ceremonies/redirect-url).
</ResponseField>

<ResponseField name="url_variant" type="enum">
  The format of the ceremony URL.

  Available options:

  * `standard` (default): Full-length URL. Works for most use cases.
  * `short`: Shortened URL. Use this when sharing through space-constrained channels such as SMS or push notifications.
</ResponseField>

<ResponseField name="embeddable_in" type="array of strings">
  Origins allowed to embed this ceremony in an iframe.

  These values set the `frame-ancestors` directive in the ceremony's Content Security Policy (CSP) header. Sources typically take the form of a scheme and host (for example, `https://app.example.com`). Wildcards are supported (for example, `https://*.example.com`). For all available options, see the [frame-ancestors documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors#sources).

  Defaults to an empty list (`[]`), which means embedding is not allowed. To allow embedding from all origins (not recommended for production), use `["*"]`.

  <Note>Only the origin (scheme and host) is used. Paths are ignored.</Note>
</ResponseField>

<ResponseField name="url" type="string | null">
  The URL where the recipient can access the ceremony. You can share this link with the recipient directly or embed it in your application.

  This property is `null` when:

  * The ceremony uses `email_link` authentication. SignatureAPI delivers the URL by email in that case.
  * The ceremony is not active (for example, it is completed, revoked, or declined).

  The URL expires 30 days after creation, or when a new ceremony is created for the same recipient.
</ResponseField>

<ResponseExample>
  ```json Email Link theme={null}
  {
    "authentication": [
      {
        "type": "email_link",
        "subject_override": null,
        "message_override": null
      }
    ],
    "redirect_url": null,
    "redirect_delay": 3,
    "embeddable_in": [],
    "url_variant": "standard",
    "url": null
  }
  ```

  ```json Email Code theme={null}
  {
    "authentication": [
      {
        "type": "email_code"
      }
    ],
    "redirect_url": null,
    "redirect_delay": 3,
    "embeddable_in": [],
    "url_variant": "standard",
    "url": "https://sign.signatureapi.com/en/start?token=eyJhbGciOiJFUzI1NiIsInR..."
  }
  ```

  ```json Custom Auth theme={null}
  {
    "authentication": [
      {
        "type": "custom",
        "provider": "SuperApp",
        "data": {
          "Session ID": "se_88620999344",
          "Authenticated At": "Dec 31, 2025 23:59:59"
        }
      }
    ],
    "redirect_url": "https://www.example.com/redirect",
    "redirect_delay": 5,
    "embeddable_in": [
      "https://app.example.com"
    ],
    "url_variant": "standard",
    "url": "https://sign.signatureapi.com/en/start?token=eyJhbGciOiJFUzI1NiIsInR..."
  }
  ```
</ResponseExample>
