---
title: "Create a Document"
method: POST
path: "/documents/"
tags: ["documents"]
---

# Create a Document

`POST /documents/`

## Request body

- Document
  - `url` string, uri
  - `team` object
    - `name` string
    - `subdomain` string, slug
    - `url` string, uri
  - `uuid` string
  - `user` User
    - `email` string, email, required
    - `first_name` string
    - `last_name` string
    - `display_name` string
  - `file_as_pdf` string, uri — Temporary URL to original file as PDF, expires in five minutes
  - `name` string, nullable — Defaults to filename, including extension
  - `external_id` string, nullable — ID used to reference document in external system
  - `frontend_id` string, nullable — Shared secret used in conjunction with <a href="#section/Frontend-API/SignRequest-js-client-(beta)">SignRequest-js client</a> to grant user access to a document that's not a member of the document's team
  - `file` string, uri, nullable — Temporary URL to original file, expires in five minutes
  - `file_from_url` string, uri, nullable — Publicly accessible URL of document to be downloaded by SignRequest
  - `events_callback_url` string, uri, nullable — URL at which to receive [event callbacks](#section/Events/Events-callback) for this document
  - `file_from_content` string, nullable — Base64 encoded document content
  - `file_from_content_name` string, nullable — Filename, including extension. Required when using `file_from_content`.
  - `template` string, uri, nullable
  - `prefill_tags` InlinePrefillTags[] — Prefill signer input data, see [prefill tags](#section/Preparing-a-document/Prefill-tags-templates)
    - `external_id` string, nullable
    - `text` string, nullable
    - `checkbox_value` boolean, nullable
    - `date_value` string, date, nullable
  - `integrations` InlineIntegrationData[]
    - `integration` 'mfiles' | 'salesforce' | 'formdesk' | 'zapier' | 'microsoft-flow', nullable
    - `integration_data` object
  - `file_from_sf` FileFromSf, nullable
    - `object_type` string, required
    - `object_id` string, required
    - `uid` string
  - `auto_delete_days` integer, nullable — Number of days after which a finished document (signed/cancelled/declined) will be automatically deleted
  - `auto_expire_days` integer, nullable — Number of days after which a non finished document will be automatically expired
  - `pdf` string, uri, nullable — Temporary URL to signed document as PDF, expires in five minutes
  - `status` 'co' | 'ne' | 'se' | 'vi' | 'si' | 'do' | 'sd' | 'ca' | 'de' | 'ec' | 'es' | 'xp' — `co`: converting, `ne`: new, `se`: sent, `vi`: viewed, `si`: signed, `do`: downloaded, `sd`: signed and downloaded, `ca`: cancelled, `de`: declined, `ec`: error converting, `es`: error sending, `xp`: expired
  - `signrequest` object
    - `from_email` string, email — Email of user sending the SignRequest (must be a validated email)
    - `from_email_name` string, nullable — Name to be used in the `From` email header, e.g. `{from_email_name} <no-reply@signrequest.com>`
    - `is_being_prepared` boolean, nullable — Have the sender of a SignRequest prepare the document before sending the request out, see: [prepare using the web interface](#section/Preparing-a-document/Prepare-using-the-web-interface)
    - `prepare_url` string, uri
    - `redirect_url` string, uri, nullable — URL at which SignRequest will redirect to when a document is signed
    - `redirect_url_declined` string, uri, nullable — URL at which SignRequest will redirect to when a document is declined
    - `required_attachments` RequiredAttachment[]
      - `name` string, required
      - `uuid` string
    - `disable_attachments` boolean — Disable uploading/adding of attachments
    - `disable_text_signatures` boolean — Disable usage of signatures generated by typing (text)
    - `disable_text` boolean — Disable adding of text
    - `disable_date` boolean — Disable adding of dates
    - `disable_emails` boolean — Disable all SignRequest status emails as well as the email that contains the signed documents
    - `disable_upload_signatures` boolean — Disable usage of uploaded signatures (images)
    - `force_signature_color` string, nullable — Force specific color for the signature
    - `disable_blockchain_proof` boolean, nullable — Disables storing timestamp proof hashes in blockchain integrations.
    - `text_message_verification_locked` boolean, nullable — When true a text message verification is needed before the signer can see the document
    - `subject` string, nullable — Subject of SignRequest email
    - `message` string, nullable — Message to include in SignRequest email, may contain the following html tags: `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`
    - `who` 'm' | 'mo' | 'o' — `m`: only me, `mo`: me and others, `o`: only others
    - `send_reminders` boolean — Automatically remind signers to sign a document, see: [automatic reminders](#section/Working-with-a-SignRequest/Automatic-reminders)
    - `signers` Signer[]
      - `email` string, email, required
      - `display_name` string
      - `first_name` string
      - `last_name` string
      - `email_viewed` boolean
      - `viewed` boolean
      - `signed` boolean
      - `downloaded` boolean
      - `signed_on` string, date-time, nullable
      - `needs_to_sign` boolean — When `false` user does not need to sign, but will receive a copy of the signed document and signing log, see: [Copy only](#section/Additional-signing-methods/Copy-only)
      - `approve_only` boolean — Require user to approve the document (without adding a signature), see: [Approve only](#section/Additional-signing-methods/Approve-only)
      - `notify_only` boolean — Send notifications about the document and a copy of the signed document and signing log, but don't require them to take any action, see: [Notify only](#section/Additional-signing-methods/Notify-only)
      - `in_person` boolean — When used in combination with an embed url on the sender, after sender has signed, they will be redirected to the next `in_person` signer, see: [In person signing](#section/Additional-signing-methods/In-person-signing)
      - `order` integer
      - `language` 'en' | 'en-gb' | 'nl' | 'fr' | 'de' | 'he' | 'da' | 'fi' | 'hu' | 'it' | 'no' | 'pl' | 'pt' | 'es' | 'sv' | 'ru' | 'ja', nullable
      - `force_language` boolean
      - `emailed` boolean
      - `verify_phone_number` string, nullable
      - `verify_bank_account` string, nullable
      - `declined` boolean
      - `declined_on` string, date-time, nullable
      - `forwarded` boolean
      - `forwarded_on` string, date-time, nullable
      - `forwarded_to_email` string, email, nullable
      - `forwarded_reason` string, nullable
      - `message` string, nullable
      - `embed_url_user_id` string, nullable
      - `inputs` SignerInputs[]
        - `type` 's' | 'i' | 'n' | 'd' | 't' | 'c', nullable
        - `page_index` integer, required
        - `text` string
        - `checkbox_value` boolean, nullable
        - `date_value` string, date, nullable
        - `external_id` string, nullable
        - `placeholder_uuid` string, nullable
      - `use_stamp_for_approve_only` boolean, nullable — Place an approval stamp on a document when a signer approves a document
      - `embed_url` string, uri
      - `attachments` SignerAttachment[]
        - `uuid` string
        - `name` string — Defaults to filename
        - `file` string, uri, nullable
        - `for_attachment` RequiredAttachment
          - `name` string, required
          - `uuid` string
      - `redirect_url` string, uri, nullable
      - `redirect_url_declined` string, uri, nullable
      - `after_document` string, uri
      - `integrations` InlineDocumentSignerIntegrationData[]
        - `integration` 'mfiles' | 'salesforce' | 'formdesk' | 'zapier' | 'microsoft-flow', nullable
        - `integration_data` object
      - `password` string — Require the signer to enter this password before signing a document. This field is write only.
    - `uuid` string
  - `api_used` boolean — Indicates whether document was created using the API
  - `signing_log` object
    - `pdf` string, uri, nullable — Temporary URL to signing log, expires in five minutes
    - `security_hash` string, nullable — SHA256 hash of PDF contents
  - `security_hash` string, nullable — SHA256 hash of PDF contents
  - `attachments` DocumentAttachment[]
    - `url` string, uri
    - `uuid` string
    - `name` string, nullable — Defaults to filename, including extension
    - `file` string, uri, nullable — Temporary URL to document attachment, expires in five minutes
    - `file_from_content` string, nullable — Base64 encoded document content
    - `file_from_content_name` string, nullable — Filename, including extension. Required when using `file_from_content`.
    - `file_from_url` string, uri, nullable — Publicly accessible URL of document to be downloaded by SignRequest
    - `document` string, uri, required
  - `auto_delete_after` string, date-time, nullable — Date and time calculated using `auto_delete_days` after which a finished document (signed/cancelled/declined) will be automatically deleted
  - `sandbox` boolean, nullable — Indicates whether document was created as part of a sandbox team
  - `auto_expire_after` string, date-time, nullable — Date and time calculated using `auto_expire_days` after which a non finished document will be automatically expired
  - `processing` boolean — Indicates whether a change to the document is processing and the PDF may be out of date. It is recommended to wait until processing has finished before downloading the PDF. Webhooks are not sent until processing has been completed.
  - `short_id` string

## Response `201`

Created

- Document
  - `url` string, uri
  - `team` object
    - `name` string
    - `subdomain` string, slug
    - `url` string, uri
  - `uuid` string
  - `user` User
    - `email` string, email, required
    - `first_name` string
    - `last_name` string
    - `display_name` string
  - `file_as_pdf` string, uri — Temporary URL to original file as PDF, expires in five minutes
  - `name` string, nullable — Defaults to filename, including extension
  - `external_id` string, nullable — ID used to reference document in external system
  - `frontend_id` string, nullable — Shared secret used in conjunction with <a href="#section/Frontend-API/SignRequest-js-client-(beta)">SignRequest-js client</a> to grant user access to a document that's not a member of the document's team
  - `file` string, uri, nullable — Temporary URL to original file, expires in five minutes
  - `file_from_url` string, uri, nullable — Publicly accessible URL of document to be downloaded by SignRequest
  - `events_callback_url` string, uri, nullable — URL at which to receive [event callbacks](#section/Events/Events-callback) for this document
  - `file_from_content` string, nullable — Base64 encoded document content
  - `file_from_content_name` string, nullable — Filename, including extension. Required when using `file_from_content`.
  - `template` string, uri, nullable
  - `prefill_tags` InlinePrefillTags[] — Prefill signer input data, see [prefill tags](#section/Preparing-a-document/Prefill-tags-templates)
    - `external_id` string, nullable
    - `text` string, nullable
    - `checkbox_value` boolean, nullable
    - `date_value` string, date, nullable
  - `integrations` InlineIntegrationData[]
    - `integration` 'mfiles' | 'salesforce' | 'formdesk' | 'zapier' | 'microsoft-flow', nullable
    - `integration_data` object
  - `file_from_sf` FileFromSf, nullable
    - `object_type` string, required
    - `object_id` string, required
    - `uid` string
  - `auto_delete_days` integer, nullable — Number of days after which a finished document (signed/cancelled/declined) will be automatically deleted
  - `auto_expire_days` integer, nullable — Number of days after which a non finished document will be automatically expired
  - `pdf` string, uri, nullable — Temporary URL to signed document as PDF, expires in five minutes
  - `status` 'co' | 'ne' | 'se' | 'vi' | 'si' | 'do' | 'sd' | 'ca' | 'de' | 'ec' | 'es' | 'xp' — `co`: converting, `ne`: new, `se`: sent, `vi`: viewed, `si`: signed, `do`: downloaded, `sd`: signed and downloaded, `ca`: cancelled, `de`: declined, `ec`: error converting, `es`: error sending, `xp`: expired
  - `signrequest` object
    - `from_email` string, email — Email of user sending the SignRequest (must be a validated email)
    - `from_email_name` string, nullable — Name to be used in the `From` email header, e.g. `{from_email_name} <no-reply@signrequest.com>`
    - `is_being_prepared` boolean, nullable — Have the sender of a SignRequest prepare the document before sending the request out, see: [prepare using the web interface](#section/Preparing-a-document/Prepare-using-the-web-interface)
    - `prepare_url` string, uri
    - `redirect_url` string, uri, nullable — URL at which SignRequest will redirect to when a document is signed
    - `redirect_url_declined` string, uri, nullable — URL at which SignRequest will redirect to when a document is declined
    - `required_attachments` RequiredAttachment[]
      - `name` string, required
      - `uuid` string
    - `disable_attachments` boolean — Disable uploading/adding of attachments
    - `disable_text_signatures` boolean — Disable usage of signatures generated by typing (text)
    - `disable_text` boolean — Disable adding of text
    - `disable_date` boolean — Disable adding of dates
    - `disable_emails` boolean — Disable all SignRequest status emails as well as the email that contains the signed documents
    - `disable_upload_signatures` boolean — Disable usage of uploaded signatures (images)
    - `force_signature_color` string, nullable — Force specific color for the signature
    - `disable_blockchain_proof` boolean, nullable — Disables storing timestamp proof hashes in blockchain integrations.
    - `text_message_verification_locked` boolean, nullable — When true a text message verification is needed before the signer can see the document
    - `subject` string, nullable — Subject of SignRequest email
    - `message` string, nullable — Message to include in SignRequest email, may contain the following html tags: `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`
    - `who` 'm' | 'mo' | 'o' — `m`: only me, `mo`: me and others, `o`: only others
    - `send_reminders` boolean — Automatically remind signers to sign a document, see: [automatic reminders](#section/Working-with-a-SignRequest/Automatic-reminders)
    - `signers` Signer[]
      - `email` string, email, required
      - `display_name` string
      - `first_name` string
      - `last_name` string
      - `email_viewed` boolean
      - `viewed` boolean
      - `signed` boolean
      - `downloaded` boolean
      - `signed_on` string, date-time, nullable
      - `needs_to_sign` boolean — When `false` user does not need to sign, but will receive a copy of the signed document and signing log, see: [Copy only](#section/Additional-signing-methods/Copy-only)
      - `approve_only` boolean — Require user to approve the document (without adding a signature), see: [Approve only](#section/Additional-signing-methods/Approve-only)
      - `notify_only` boolean — Send notifications about the document and a copy of the signed document and signing log, but don't require them to take any action, see: [Notify only](#section/Additional-signing-methods/Notify-only)
      - `in_person` boolean — When used in combination with an embed url on the sender, after sender has signed, they will be redirected to the next `in_person` signer, see: [In person signing](#section/Additional-signing-methods/In-person-signing)
      - `order` integer
      - `language` 'en' | 'en-gb' | 'nl' | 'fr' | 'de' | 'he' | 'da' | 'fi' | 'hu' | 'it' | 'no' | 'pl' | 'pt' | 'es' | 'sv' | 'ru' | 'ja', nullable
      - `force_language` boolean
      - `emailed` boolean
      - `verify_phone_number` string, nullable
      - `verify_bank_account` string, nullable
      - `declined` boolean
      - `declined_on` string, date-time, nullable
      - `forwarded` boolean
      - `forwarded_on` string, date-time, nullable
      - `forwarded_to_email` string, email, nullable
      - `forwarded_reason` string, nullable
      - `message` string, nullable
      - `embed_url_user_id` string, nullable
      - `inputs` SignerInputs[]
        - `type` 's' | 'i' | 'n' | 'd' | 't' | 'c', nullable
        - `page_index` integer, required
        - `text` string
        - `checkbox_value` boolean, nullable
        - `date_value` string, date, nullable
        - `external_id` string, nullable
        - `placeholder_uuid` string, nullable
      - `use_stamp_for_approve_only` boolean, nullable — Place an approval stamp on a document when a signer approves a document
      - `embed_url` string, uri
      - `attachments` SignerAttachment[]
        - `uuid` string
        - `name` string — Defaults to filename
        - `file` string, uri, nullable
        - `for_attachment` RequiredAttachment
          - `name` string, required
          - `uuid` string
      - `redirect_url` string, uri, nullable
      - `redirect_url_declined` string, uri, nullable
      - `after_document` string, uri
      - `integrations` InlineDocumentSignerIntegrationData[]
        - `integration` 'mfiles' | 'salesforce' | 'formdesk' | 'zapier' | 'microsoft-flow', nullable
        - `integration_data` object
      - `password` string — Require the signer to enter this password before signing a document. This field is write only.
    - `uuid` string
  - `api_used` boolean — Indicates whether document was created using the API
  - `signing_log` object
    - `pdf` string, uri, nullable — Temporary URL to signing log, expires in five minutes
    - `security_hash` string, nullable — SHA256 hash of PDF contents
  - `security_hash` string, nullable — SHA256 hash of PDF contents
  - `attachments` DocumentAttachment[]
    - `url` string, uri
    - `uuid` string
    - `name` string, nullable — Defaults to filename, including extension
    - `file` string, uri, nullable — Temporary URL to document attachment, expires in five minutes
    - `file_from_content` string, nullable — Base64 encoded document content
    - `file_from_content_name` string, nullable — Filename, including extension. Required when using `file_from_content`.
    - `file_from_url` string, uri, nullable — Publicly accessible URL of document to be downloaded by SignRequest
    - `document` string, uri, required
  - `auto_delete_after` string, date-time, nullable — Date and time calculated using `auto_delete_days` after which a finished document (signed/cancelled/declined) will be automatically deleted
  - `sandbox` boolean, nullable — Indicates whether document was created as part of a sandbox team
  - `auto_expire_after` string, date-time, nullable — Date and time calculated using `auto_expire_days` after which a non finished document will be automatically expired
  - `processing` boolean — Indicates whether a change to the document is processing and the PDF may be out of date. It is recommended to wait until processing has finished before downloading the PDF. Webhooks are not sent until processing has been completed.
  - `short_id` string

---

[API](https://skmtc.net/signrequest/apis/signrequest-api.md) · [All operations](https://skmtc.net/signrequest/apis/signrequest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signrequest/signrequest-api/versions/6bbe20e3fe44/schema)
