---
title: "Create scheduled invite"
url: "https://docs.signnow.com/docs/scheduled-document-invite/operations/post-document-scheduled-invite"
type: "endpoint"
section: "scheduled-document-invite"
slug: "scheduled-document-invite/operations/post-document-scheduled-invite"
method: "POST"
path: "/document/{document_id}/scheduled-invite"
operation_id: "post-document-scheduled-invite"
authorization: "bearer"
---

# Create scheduled invite

`POST /document/{document_id}/scheduled-invite`

This endpoint allows API users to create a scheduled document invite. At the moment specified by `scheduled_timestamp`, the invite is sent to recipients automatically. Both freeform invite and field invite can be sent.

**Notes**

* A paid API plan or Site License is required to create a scheduled invite.
* `scheduled_timestamp` must be a Unix timestamp (in seconds) that points to a moment in the future.
* The invite type is detected from the `invite_data` payload shape:
    * If the document does **not** contain fields, pass a [freeform invite payload](/docs/document-field-invite/operations/post-field_invite) in `invite_data`.
    * If the document contains fields, pass a [field invite payload](/docs/document-field-invite/operations/post-field_invite) in `invite_data`.
* Each document can have only one scheduled invite in the `active` status.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `document_id` | string | Yes | ID of the document for which the scheduled invite is created. |

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "scheduled_timestamp",
    "invite_data"
  ],
  "properties": {
    "invite_data": {
      "type": "object",
      "description": "The full document invite payload. The invite type is detected from the payload shape:\n\n* Send the same body as the [Create freeform invite](/docs/document-field-invite/operations/post-field_invite) endpoint when the document does not contain fields.\n* Send the same body as the [Create field invite](/docs/document-field-invite/operations/post-field_invite) endpoint when the document contains fields."
    },
    "scheduled_timestamp": {
      "type": "integer",
      "example": 1820000000,
      "description": "Unix timestamp (in seconds) of the moment when the prepared invite must be sent. Must be a positive integer that points to a moment in the future."
    }
  },
  "x-examples": {
    "Field invite (document with fields)": {
      "invite_data": {
        "cc": [
          "cc-recipient@email.com"
        ],
        "to": [
          {
            "role": "Signer",
            "email": "signer1@email.com",
            "order": 2,
            "message": "Hi, please sign this document.",
            "subject": "New signature request",
            "password": "123456",
            "reminder": {
              "remind_after": 5,
              "remind_before": 3,
              "remind_repeat": 2
            },
            "redirect_uri": "https://example.com/",
            "expiration_days": 30,
            "redirect_target": "blank",
            "authentication_type": "password",
            "decline_redirect_uri": "https://example.com/"
          }
        ],
        "from": "sender@email.com",
        "message": "Please sign the attached document.",
        "subject": "Needs your signature",
        "viewers": [
          {
            "role": "Viewer",
            "email": "viewer@email.com",
            "order": 3,
            "message": "Please review the document.",
            "subject": "Document for your review"
          }
        ],
        "approvers": [
          {
            "role": "Approver",
            "email": "approver@email.com",
            "order": 1,
            "phone": "+12025550123",
            "method": "phone_call",
            "message": "Review and approve before sending to the signer.",
            "subject": "Please approve the document",
            "redirect_uri": "https://example.com/",
            "expiration_days": 30,
            "redirect_target": "blank",
            "authentication_type": "phone"
          }
        ],
        "cc_message": "CC on a signature request.",
        "cc_subject": "Signature requested"
      },
      "scheduled_timestamp": 1820000000
    },
    "Freeform invite (document without fields)": {
      "invite_data": {
        "cc": [
          "cc-recipient@email.com"
        ],
        "to": "signer1@email.com",
        "from": "sender@email.com",
        "message": "Please sign this document.",
        "subject": "Please sign this document",
        "language": "en",
        "cc_message": "CC on a signature request.",
        "cc_subject": "Signature requested",
        "redirect_uri": "https://example.com/",
        "redirect_target": "blank"
      },
      "scheduled_timestamp": 1820000000
    }
  }
}
```

**Example** (`Field invite (document with fields)`)

```json
{
  "invite_data": {
    "cc": [
      "cc-recipient@email.com"
    ],
    "to": [
      {
        "role": "Signer",
        "email": "signer1@email.com",
        "order": 2,
        "message": "Hi, please sign this document.",
        "subject": "New signature request",
        "password": "123456",
        "reminder": {
          "remind_after": 5,
          "remind_before": 3,
          "remind_repeat": 2
        },
        "redirect_uri": "https://example.com/",
        "expiration_days": 30,
        "redirect_target": "blank",
        "authentication_type": "password",
        "decline_redirect_uri": "https://example.com/"
      }
    ],
    "from": "sender@email.com",
    "message": "Please sign the attached document.",
    "subject": "Needs your signature",
    "viewers": [
      {
        "role": "Viewer",
        "email": "viewer@email.com",
        "order": 3,
        "message": "Please review the document.",
        "subject": "Document for your review"
      }
    ],
    "approvers": [
      {
        "role": "Approver",
        "email": "approver@email.com",
        "order": 1,
        "phone": "+12025550123",
        "method": "phone_call",
        "message": "Review and approve before sending to the signer.",
        "subject": "Please approve the document",
        "redirect_uri": "https://example.com/",
        "expiration_days": 30,
        "redirect_target": "blank",
        "authentication_type": "phone"
      }
    ],
    "cc_message": "CC on a signature request.",
    "cc_subject": "Signature requested"
  },
  "scheduled_timestamp": 1820000000
}
```

**Example** (`Freeform invite (document without fields)`)

```json
{
  "invite_data": {
    "cc": [
      "cc-recipient@email.com"
    ],
    "to": "signer1@email.com",
    "from": "sender@email.com",
    "message": "Please sign this document.",
    "subject": "Please sign this document",
    "language": "en",
    "cc_message": "CC on a signature request.",
    "cc_subject": "Signature requested",
    "redirect_uri": "https://example.com/",
    "redirect_target": "blank"
  },
  "scheduled_timestamp": 1820000000
}
```

## Responses

### 204

Returned when the scheduled invite passes validation and is stored with the `active` status. The response body is empty.

### 400

Validation errors for the scheduled invite payload:

* `scheduled_timestamp` is missing, null, not an integer, or points to a moment in the past.
* `invite_data` is missing, null, of the wrong type, or empty.
* The document already has an active scheduled invite.
* The user is not the document owner.

In addition, all validation errors that apply to the regular invite payload also apply to the contents of `invite_data`.

**Example** (`invite_data is null`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `invite_data` value should not be null."
    }
  ]
}
```

**Example** (`invite_data is empty`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `invite_data` value must not be an empty array."
    }
  ]
}
```

**Example** (`invite_data wrong type`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `invite_data` value should be of type array."
    }
  ]
}
```

**Example** (`Incorrect scheduled time`)

```json
{
  "errors": [
    {
      "code": 65582,
      "message": "Incorrect scheduled time for invite."
    }
  ]
}
```

**Example** (`User is not document owner`)

```json
{
  "errors": [
    {
      "code": 65582,
      "message": "User is not document owner"
    }
  ]
}
```

**Example** (`scheduled_timestamp is null`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `scheduled_timestamp` value should not be null."
    }
  ]
}
```

**Example** (`scheduled_timestamp wrong type`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `scheduled_timestamp` value should be of type int."
    }
  ]
}
```

**Example** (`Scheduled invite already exists`)

```json
{
  "errors": [
    {
      "code": 65582,
      "message": "A scheduled invite already exists."
    }
  ]
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/document/{document_id}/scheduled-invite" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"invite_data": {"cc": ["cc-recipient@email.com"], "to": [{"role": "Signer", "email": "signer1@email.com", "order": 2, "message": "Hi, please sign this document.", "subject": "New signature request", "password": "123456", "reminder": {"remind_after": 5, "remind_before": 3, "remind_repeat": 2}, "redirect_uri": "https://example.com/", "expiration_days": 30, "redirect_target": "blank", "authentication_type": "password", "decline_redirect_uri": "https://example.com/"}], "from": "sender@email.com", "message": "Please sign the attached document.", "subject": "Needs your signature", "viewers": [{"role": "Viewer", "email": "viewer@email.com", "order": 3, "message": "Please review the document.", "subject": "Document for your review"}], "approvers": [{"role": "Approver", "email": "approver@email.com", "order": 1, "phone": "+12025550123", "method": "phone_call", "message": "Review and approve before sending to the signer.", "subject": "Please approve the document", "redirect_uri": "https://example.com/", "expiration_days": 30, "redirect_target": "blank", "authentication_type": "phone"}], "cc_message": "CC on a signature request.", "cc_subject": "Signature requested"}, "scheduled_timestamp": 1820000000}'
```

---
*Full reference: https://docs.signnow.com/docs/scheduled-document-invite/operations/post-document-scheduled-invite*
