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

# Create freeform invite

`POST /document/{document_id}/invite`

This endpoint allows API users to create and send a FreeForm invite to sign a document.

**FreeForm Invite**

A FreeForm invite is an invite with a document that does not contain fields; recipients can add their signature anywhere on the document.
> A FreeForm invite can be sent to the sender's own email address.

**Schedule a freeform invite**

To send a FreeForm invite at a later time, use the [Schedule document invite](/docs/scheduled-document-invite/operations/post-document-scheduled-invite) endpoint with `is_freeform_invite: true`.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `document_id` | string | Yes | ID of the document. |

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "to",
    "from"
  ],
  "properties": {
    "cc": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Email addresses for CC recipients."
    },
    "to": {
      "type": "string",
      "description": "The signer's email address. **Note**: A FreeForm invite can be sent to the sender's own email address."
    },
    "from": {
      "type": "string",
      "description": "Sender's email address. you can use only the email address associated with your SignNow account (login email) as \"from\" address."
    },
    "message": {
      "type": "string",
      "description": "Email body message for the signer."
    },
    "subject": {
      "type": "string",
      "description": "Email subject for the signer."
    },
    "language": {
      "type": "string",
      "description": "Sets the language of the signing session and notification emails for the signer. Possible values: `en` for English, `es` for Spanish, and `fr` for French. If not set, the language is determined by the language of your SignNow account. If emails are branded, you can set up [your own](/docs/guides-branding#language-branding) email texts in different languages."
    },
    "cc_message": {
      "type": "string",
      "description": "CC email body message for the recipients."
    },
    "cc_subject": {
      "type": "string",
      "description": "CC email subject for the recipients."
    },
    "document_id": {
      "type": "string"
    },
    "sms_message": {
      "type": "string",
      "description": "Custom SMS message."
    },
    "redirect_uri": {
      "type": "string",
      "description": "When a document is signed, the signer is redirected to this URI.",
      "x-stoplight": {
        "id": "hx17h6kf77u06"
      }
    },
    "redirect_target": {
      "type": "string",
      "default": "blank",
      "description": "Determines whether to open the redirect link in the new tab in the browser, or in the same tab after the signing session. Possible values: `blank` - opens the link in the new tab, `self` - opens the link in the same tab, default value.",
      "x-stoplight": {
        "id": "n3vxxi91s6n8l"
      }
    },
    "close_redirect_uri": {
      "type": "string",
      "description": "The link that opens after a signer selects the **Close** button.",
      "x-stoplight": {
        "id": "4ij7p7xbcoqi1"
      }
    }
  },
  "x-examples": {
    "Example 1": {
      "cc": [
        "cc-recipient@email.com"
      ],
      "to": "signer@email.com",
      "from": "sender@email.com",
      "message": "You've been invited to sign a document",
      "subject": "You've been invited to sign a document",
      "language": "en",
      "cc_message": "Message for CC",
      "cc_subject": "Subject for CC",
      "document_id": "d9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "sms_message": "{sender_email} your document is here {invite_url}"
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "cc": [
    "cc-recipient@email.com"
  ],
  "to": "signer@email.com",
  "from": "sender@email.com",
  "message": "You have been invited to sign a document",
  "subject": "You have been invited to sign a document",
  "language": "en",
  "cc_message": "Message for CC",
  "cc_subject": "Subject for CC",
  "document_id": "d9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "sms_message": "{sender_email} your document is here {invite_url}",
  "redirect_uri": "https://redirect-uri.com",
  "redirect_target": "blank",
  "close_redirect_uri": "https://close-redirect-uri.com"
}
```

## Responses

### 200

Success

**Example** (`Success`)

```json
{
  "id": "cfXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "result": "success",
  "callback_url": "none"
}
```

### 400

* Incorrect or missing token.
* Invite not found.
* Document not found.
* Incorrect `to` email.
* Incorrect `from` email.
* `from` email is not document owner.
* Document has fields.
* Empty `to` email.
* Empty `from` email.
* `cc` is not an array.
* Empty `cc`.
* `cc` contains incorrect emails.
* `cc_subject` is not a string.
* `cc_subject` is too long.
* UTF 4-byte characters in `cc_subject` are not supported.
* Empty `cc_subject`.
* `cc_message` is not a string.
* `cc_message` is longer than 1000 characters.
* UTF 4-byte characters in `cc_message` are not supported.
* Empty `cc_message`.
* `language` is not a string.
* Incorrect `language`.
* `redirect_uri` is not a string.
* `redirect_uri` is not a correct URL address.
* `redirect_uri` is longer than 2048 characters.
* UTF 4-byte characters in `redirect_uri` are not supported.
* `close_redirect_uri` is not a string.
* Empty `close_redirect_uri`.
* `close_redirect_uri` is not a correct URL address.
* `close_redirect_uri` is longer than 2048 characters.
* `redirect_target` is not a string.
* Incorrect `redirect_target`. Allowed values: `self`, `blank`.
* One of redirect URLs is required if `redirect_target` is added.

**Example** (`Empty `cc` array`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "CC must not be empty."
    }
  ]
}
```

**Example** (`Empty `to` email`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "To must not be empty."
    }
  ]
}
```

**Example** (`Empty cc_message`)

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

**Example** (`Empty cc_subject`)

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

**Example** (`Invite not found`)

```json
{
  "errors": [
    {
      "code": 66502,
      "message": "Field invite not found"
    }
  ]
}
```

**Example** (``cc` not an array`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "CC must be an array."
    }
  ]
}
```

**Example** (`Document not found`)

```json
{
  "errors": [
    {
      "code": 65582,
      "message": "Document not found"
    }
  ]
}
```

**Example** (`Empty `from` email`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "To must not be empty."
    }
  ]
}
```

**Example** (`Incorrect language`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `language` attribute is invalid, allowed values: en, fr, es."
    }
  ]
}
```

**Example** (`Document has fields`)

```json
{
  "errors": [
    {
      "code": 65594,
      "message": "Cannot send invite for document with fields"
    }
  ]
}
```

**Example** (`cc_message too long`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The cc_message value is too long. It should have 1000 character or less."
    }
  ]
}
```

**Example** (`cc_subject too long`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The cc_subject value is too long. It should have 500 character or less."
    }
  ]
}
```

**Example** (`language not string`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `language` must be a string."
    }
  ]
}
```

**Example** (`Incorrect `to` email`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "To must be a valid email."
    }
  ]
}
```

**Example** (`Missing redirect URL`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "One of the `redirect_uri` fields is required when `redirect_target` is added."
    }
  ]
}
```

**Example** (`cc_subject not string`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The cc_subject must be a string."
    }
  ]
}
```

**Example** (`redirect_uri too long`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "Parameter `redirect_uri` must not exceed 2048 characters."
    }
  ]
}
```

**Example** (`Incorrect `from` email`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "From must be a valid email."
    }
  ]
}
```

**Example** (`cc_message not string.`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The cc_message must be a string."
    }
  ]
}
```

**Example** (`redirect_uri not a URL`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "Parameter `redirect_uri` must be a valid URL"
    }
  ]
}
```

**Example** (`redirect_uri not string`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "Parameter `redirect_uri` must be a string"
    }
  ]
}
```

**Example** (`Empty close_redirect_uri`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `close_redirect_uri` field must not be empty."
    }
  ]
}
```

**Example** (`Incorrect or missing token`)

```json
{
  "code": 1537,
  "error": "invalid_token"
}
```

**Example** (`redirect_target not string`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "One of the `redirect_uri` fields is required when `redirect_target` is added."
    }
  ]
}
```

**Example** (`close_redirect_uri too long`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "Parameter `close_redirect_uri` must not exceed 2048 characters."
    }
  ]
}
```

**Example** (`close_redirect_uri not a URL`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `close_redirect_uri` field contains a URL in an invalid format."
    }
  ]
}
```

**Example** (`close_redirect_uri not string`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `close_redirect_uri` field must be a string."
    }
  ]
}
```

**Example** (``cc` contains incorrect emails`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "CC must contain valid emails."
    }
  ]
}
```

**Example** (`Incorrect redirect_target value`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "The `redirect_target` field is invalid, allowed values: self, blank."
    }
  ]
}
```

**Example** (``from` email not document owner`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "Email not found"
    }
  ]
}
```

**Example** (`UTF 4-byte chars in redirect_uri`)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "4-byte characters in `redirect_uri` are not supported\""
    }
  ]
}
```

**Example** (`UTF 4-byte characters in cc_message `)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "4-byte characters in cc_message are not supported."
    }
  ]
}
```

**Example** (`UTF 4-byte characters in cc_subject `)

```json
{
  "errors": [
    {
      "code": 65536,
      "message": "4-byte characters in cc_subject are not supported.."
    }
  ]
}
```

## Code Examples

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

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/document/{document_id}/invite" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cc": ["cc-recipient@email.com"], "to": "signer@email.com", "from": "sender@email.com", "message": "You have been invited to sign a document", "subject": "You have been invited to sign a document", "language": "en", "cc_message": "Message for CC", "cc_subject": "Subject for CC", "document_id": "d9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "sms_message": "{sender_email} your document is here {invite_url}", "redirect_uri": "https://redirect-uri.com", "redirect_target": "blank", "close_redirect_uri": "https://close-redirect-uri.com"}'
```

---
*Full reference: https://docs.signnow.com/docs/doc-freeform-invite/operations/post-freeform-document_id-invite*
