# Invitations

An invitation gives a participant access to the hosted Sign UI. For each participant, choose one or more delivery methods:

- **Email** — Docue emails the signing link to the participant.
- **SMS** — Docue sends the signing link by text message.
- **Manual** — Docue returns the signing link to your backend, and you deliver it through your own channel.


## Configure invitations when creating a session

Add a `deliveries` array to each participant when you [create a signing session](/embed-api/openapi/signing/createsigningsession). At least one delivery method is required for every participant.

```json
{
  "start": true,
  "participants": [
    {
      "name": "John Doe",
      "signing_order": 0,
      "deliveries": [
        {
          "type": "email",
          "target": "john.doe@example.org",
          "message": "Please sign by Friday."
        },
        {
          "type": "sms",
          "target": "+358401234567"
        }
      ]
    }
  ]
}
```

For `email` and `sms`, `target` is required. Use an email address or a phone number in E.164 format, such as `+358401234567`. The optional `message` can contain up to 500 characters. It is displayed with the signing link inside Docue's fixed email or SMS template; it does not replace the complete message body.

## When invitations are sent

Email and SMS invitations are queued until the signing session starts:

- Set `start: true` when creating the session to start it and send the first invitations immediately.
- Omit `start`, or set it to `false`, to keep the session in the `pending` state. When the session is ready, call [`POST /sign/sessions/{session_id}/start`](/embed-api/openapi/signing/startsigningsession). Starting the session locks its files and sends the queued invitations.


If you use `signing_order`, participants are invited in ascending order. Participants with the same value are invited together and can sign in parallel. After every participant in the current group has signed, Docue invites the next group.

## Deliver the signing link yourself

Use `type: manual` when your application should deliver the invitation. Docue does not send an email or SMS for a manual invitation.

```json
{
  "type": "manual"
}
```

The invitation response includes a `signing_url`:

```json
{
  "data": {
    "id": "019f1833-f214-745e-a87c-fdf627b8bc6c",
    "signing_url": "https://sign.docue.com/s/#access-code",
    "delivery": {
      "type": "manual",
      "target": null
    },
    "timeline": {
      "created_at": "2026-06-30T11:04:45.331Z",
      "sent_at": null,
      "opened_at": null,
      "revoked_at": null
    }
  }
}
```

You can create a manual invitation while the session is `pending` or `started`, but its signing URL works only after the session has started. Treat the URL as sensitive: anyone who receives it may be able to open the signing flow, subject to any view gate configured for the participant.

## Resend an invitation

To remind a signer without changing their link, call [`POST /sign/sessions/{session_id}/participants/{participant_id}/invitations/{invitation_id}/resend`](/embed-api/openapi/signing/resendsigningsessionparticipantinvitation).

Docue sends the same email or SMS again with the same signing link. No new invitation is created and existing links keep working.

Resending works only for email and SMS invitations that were already sent and are not revoked, and only while the signer can sign, meaning they haven't signed or declined and it's their turn. Otherwise the call returns `422 Unprocessable Content`.

You can resend the same invitation once per minute. Earlier attempts return `429 Too Many Requests` with a `Retry-After` header.

Each resend is delivered as an `invitation.resent` webhook. Resends are not recorded in the audit log.

## Send another invitation

To use another delivery channel or a fresh link, call [`POST /sign/sessions/{session_id}/participants/{participant_id}/invitations`](/embed-api/openapi/signing/createsigningsessionparticipantinvitation).

```http
POST /sign/sessions/{session_id}/participants/{participant_id}/invitations
Content-Type: application/json

{
  "type": "email",
  "target": "john.doe@example.org",
  "message": "Reminder: please sign by Friday."
}
```

Email and SMS invitations can be created only after the session has started. Manual invitations can also be created while it is pending. Every call creates a separate invitation with its own ID and signing URL, but the API returns `signing_url` only for manual delivery.

## Revoke an invitation

If an invitation was sent to the wrong recipient or its link must no longer work, call [`DELETE /sign/sessions/{session_id}/participants/{participant_id}/invitations/{invitation_id}`](/embed-api/openapi/signing/deletesigningsessionparticipantinvitation).

Revocation invalidates that invitation's signing URL immediately. Other invitations for the same participant remain active.

## Other participant notifications

Docue also uses each participant's configured email and SMS delivery channels to notify them when:

- The document is completed after all participants have signed.
- The signing session is cancelled.
- The signing session expires before it is completed.


Participants configured only for manual delivery do not receive these notifications from Docue. Notify them through your own delivery channel instead.

## Track delivery and activity

Invitation responses include a `timeline`:

- `created_at` — when the invitation was created
- `sent_at` — when Docue sent it, or `null` if it has not been sent
- `opened_at` — when the recipient first opened the signing link, or `null`
- `revoked_at` — when the invitation was revoked, or `null` while it remains active


For event-driven tracking, configure [webhooks](/embed-api/signing/webhooks). Invitation webhooks report invitation activity. Participant webhooks report signing progress.