Dropbox Sign (HelloSign) Unclaimed Draft API

{'$ref': './markdown/en/tags/unclaimed-draft-tag-description.md'}

Operations 4

POST /unclaimed_draft/create Create Unclaimed Draft #
POST /unclaimed_draft/create_embedded Create Embedded Unclaimed Draft #
POST /unclaimed_draft/create_embedded_with_template Create Embedded Unclaimed Draft with Template #
POST /unclaimed_draft/edit_and_resend/{signature_request_id} Edit and Resend Unclaimed Draft #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hellosign-unclaimed-draft-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hellosign-unclaimed-draft-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dropbox Sign Account Unclaimed Draft API
  description: Dropbox Sign v3 API
  termsOfService: https://www.hellosign.com/terms
  contact:
    email: apisupport@hellosign.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 3.0.0
servers:
- url: https://api.hellosign.com/v3
security:
- api_key: []
- oauth2:
  - account_access
  - signature_request_access
  - template_access
  - team_access
  - api_app_access
  - basic_account_info
  - request_signature
tags:
- name: Unclaimed Draft
  description:
    $ref: ./markdown/en/tags/unclaimed-draft-tag-description.md
paths:
  /unclaimed_draft/create:
    post:
      tags:
      - Unclaimed Draft
      summary: Create Unclaimed Draft
      description: Creates a new Draft that can be claimed using the claim URL. The first authenticated user to access the URL will claim the Draft and will be shown either the "Sign and send" or the "Request signature" page with the Draft loaded. Subsequent access to the claim URL will result in a 404.
      operationId: unclaimedDraftCreate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftCreateRequest'
            examples:
              example:
                $ref: '#/components/examples/UnclaimedDraftCreateRequest'
              form_fields_per_document_example:
                $ref: '#/components/examples/UnclaimedDraftCreateRequestFormFieldsPerDocument'
              form_field_groups_example:
                $ref: '#/components/examples/UnclaimedDraftCreateRequestFormFieldGroups'
              form_field_rules_example:
                $ref: '#/components/examples/UnclaimedDraftCreateRequestFormFieldRules'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftCreateRequest'
      responses:
        '200':
          description: successful operation
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/X-Ratelimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnclaimedDraftCreateResponse'
              examples:
                example:
                  $ref: '#/components/examples/UnclaimedDraftCreateResponse'
        4XX:
          description: failed_operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                400_example:
                  $ref: '#/components/examples/Error400Response'
                401_example:
                  $ref: '#/components/examples/Error401Response'
                402_example:
                  $ref: '#/components/examples/Error402Response'
                403_example:
                  $ref: '#/components/examples/Error403Response'
                429_example:
                  $ref: '#/components/examples/Error429Response'
                4XX_example:
                  $ref: '#/components/examples/Error4XXResponse'
      security:
      - api_key: []
      - oauth2:
        - signature_request_access
      x-codeSamples:
      - lang: PHP
        label: PHP
        source:
          $ref: examples/UnclaimedDraftCreateExample.php
      - lang: C#
        label: C#
        source:
          $ref: examples/UnclaimedDraftCreateExample.cs
      - lang: TypeScript
        label: TypeScript
        source:
          $ref: examples/UnclaimedDraftCreateExample.ts
      - lang: Java
        label: Java
        source:
          $ref: examples/UnclaimedDraftCreateExample.java
      - lang: Ruby
        label: Ruby
        source:
          $ref: examples/UnclaimedDraftCreateExample.rb
      - lang: Python
        label: Python
        source:
          $ref: examples/UnclaimedDraftCreateExample.py
      - lang: cURL
        label: cURL
        source:
          $ref: examples/UnclaimedDraftCreateExample.sh
      x-meta:
        seo:
          title: Create Unclaimed Draft | REST API | Dropbox Sign for Developers
          description: The Dropbox Sign API allows you to build eSign integrations. To find out how to create a new Signature Request Draft that can be claimed using the claim URL, click here.
  /unclaimed_draft/create_embedded:
    post:
      tags:
      - Unclaimed Draft
      summary: Create Embedded Unclaimed Draft
      description: 'Creates a new Draft that can be claimed and used in an embedded iFrame. The first authenticated user to access the URL will claim the Draft and will be shown the "Request signature" page with the Draft loaded. Subsequent access to the claim URL will result in a `404`. For this embedded endpoint the `requester_email_address` parameter is required.


        **NOTE:** Embedded unclaimed drafts can only be accessed in embedded iFrames whereas normal drafts can be used and accessed on Dropbox Sign.'
      operationId: unclaimedDraftCreateEmbedded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftCreateEmbeddedRequest'
            examples:
              example:
                $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedRequest'
              form_fields_per_document_example:
                $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedRequestFormFieldsPerDocument'
              form_field_groups_example:
                $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedRequestFormFieldGroups'
              form_field_rules_example:
                $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedRequestFormFieldRules'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftCreateEmbeddedRequest'
      responses:
        '200':
          description: successful operation
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/X-Ratelimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnclaimedDraftCreateResponse'
              examples:
                example:
                  $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedResponse'
        4XX:
          description: failed_operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                400_example:
                  $ref: '#/components/examples/Error400Response'
                401_example:
                  $ref: '#/components/examples/Error401Response'
                402_example:
                  $ref: '#/components/examples/Error402Response'
                403_example:
                  $ref: '#/components/examples/Error403Response'
                429_example:
                  $ref: '#/components/examples/Error429Response'
                404_example:
                  $ref: '#/components/examples/Error404Response'
                409_example:
                  $ref: '#/components/examples/Error409Response'
                4XX_example:
                  $ref: '#/components/examples/Error4XXResponse'
      security:
      - api_key: []
      - oauth2:
        - request_signature
        - signature_request_access
      x-codeSamples:
      - lang: PHP
        label: PHP
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.php
      - lang: C#
        label: C#
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.cs
      - lang: TypeScript
        label: TypeScript
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.ts
      - lang: Java
        label: Java
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.java
      - lang: Ruby
        label: Ruby
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.rb
      - lang: Python
        label: Python
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.py
      - lang: cURL
        label: cURL
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedExample.sh
      x-meta:
        seo:
          title: Create Embedded Unclaimed Draft | Dropbox Sign for Developers
          description: The Dropbox Sign API allows you to build custom integrations. To find out how to create and embed a the creation of a Signature Request in an iFrame, click here.
  /unclaimed_draft/create_embedded_with_template:
    post:
      tags:
      - Unclaimed Draft
      summary: Create Embedded Unclaimed Draft with Template
      description: 'Creates a new Draft with a previously saved template(s) that can be claimed and used in an embedded iFrame. The first authenticated user to access the URL will claim the Draft and will be shown the "Request signature" page with the Draft loaded. Subsequent access to the claim URL will result in a `404`. For this embedded endpoint the `requester_email_address` parameter is required.


        **NOTE:** Embedded unclaimed drafts can only be accessed in embedded iFrames whereas normal drafts can be used and accessed on Dropbox Sign.'
      operationId: unclaimedDraftCreateEmbeddedWithTemplate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftCreateEmbeddedWithTemplateRequest'
            examples:
              example:
                $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedWithTemplateRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftCreateEmbeddedWithTemplateRequest'
      responses:
        '200':
          description: successful operation
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/X-Ratelimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnclaimedDraftCreateResponse'
              examples:
                example:
                  $ref: '#/components/examples/UnclaimedDraftCreateEmbeddedWithTemplateResponse'
        4XX:
          description: failed_operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                400_example:
                  $ref: '#/components/examples/Error400Response'
                401_example:
                  $ref: '#/components/examples/Error401Response'
                402_example:
                  $ref: '#/components/examples/Error402Response'
                403_example:
                  $ref: '#/components/examples/Error403Response'
                429_example:
                  $ref: '#/components/examples/Error429Response'
                404_example:
                  $ref: '#/components/examples/Error404Response'
                409_example:
                  $ref: '#/components/examples/Error409Response'
                4XX_example:
                  $ref: '#/components/examples/Error4XXResponse'
      security:
      - api_key: []
      - oauth2:
        - signature_request_access
      x-codeSamples:
      - lang: PHP
        label: PHP
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.php
      - lang: C#
        label: C#
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.cs
      - lang: TypeScript
        label: TypeScript
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.ts
      - lang: Java
        label: Java
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.java
      - lang: Ruby
        label: Ruby
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.rb
      - lang: Python
        label: Python
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.py
      - lang: cURL
        label: cURL
        source:
          $ref: examples/UnclaimedDraftCreateEmbeddedWithTemplateExample.sh
      x-meta:
        seo:
          title: Embed Unclaimed Draft with Template | Dropbox Sign for Developers
          description: The Dropbox Sign API easily allows you to build custom integrations. To find out how to create a new Draft with a previously saved template, click here.
  /unclaimed_draft/edit_and_resend/{signature_request_id}:
    post:
      tags:
      - Unclaimed Draft
      summary: Edit and Resend Unclaimed Draft
      description: 'Creates a new signature request from an embedded request that can be edited prior to being sent to the recipients. Parameter `test_mode` can be edited prior to request. Signers can be edited in embedded editor. Requester''s email address will remain unchanged if `requester_email_address` parameter is not set.


        **NOTE:** Embedded unclaimed drafts can only be accessed in embedded iFrames whereas normal drafts can be used and accessed on Dropbox Sign.'
      operationId: unclaimedDraftEditAndResend
      parameters:
      - name: signature_request_id
        in: path
        description: The ID of the signature request to edit and resend.
        required: true
        schema:
          type: string
        example: fa5c8a0b0f492d768749333ad6fcc214c111e967
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnclaimedDraftEditAndResendRequest'
            examples:
              example:
                $ref: '#/components/examples/UnclaimedDraftEditAndResendRequest'
      responses:
        '200':
          description: successful operation
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/X-Ratelimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnclaimedDraftCreateResponse'
              examples:
                example:
                  $ref: '#/components/examples/UnclaimedDraftEditAndResend'
        4XX:
          description: failed_operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                400_example:
                  $ref: '#/components/examples/Error400Response'
                401_example:
                  $ref: '#/components/examples/Error401Response'
                402_example:
                  $ref: '#/components/examples/Error402Response'
                403_example:
                  $ref: '#/components/examples/Error403Response'
                429_example:
                  $ref: '#/components/examples/Error429Response'
                404_example:
                  $ref: '#/components/examples/Error404Response'
                409_example:
                  $ref: '#/components/examples/Error409Response'
                410_example:
                  $ref: '#/components/examples/Error410Response'
                4XX_example:
                  $ref: '#/components/examples/Error4XXResponse'
      security:
      - api_key: []
      - oauth2:
        - request_signature
        - signature_request_access
      x-codeSamples:
      - lang: PHP
        label: PHP
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.php
      - lang: C#
        label: C#
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.cs
      - lang: TypeScript
        label: TypeScript
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.ts
      - lang: Java
        label: Java
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.java
      - lang: Ruby
        label: Ruby
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.rb
      - lang: Python
        label: Python
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.py
      - lang: cURL
        label: cURL
        source:
          $ref: examples/UnclaimedDraftEditAndResendExample.sh
      x-meta:
        seo:
          title: Edit and Resend Unclaimed Draft | Dropbox Sign for Developers
          description: The Dropbox Sign API easily allows you to build custom integrations. To find out how to create a new signature request from an embedded request, click here.
components:
  examples:
    UnclaimedDraftCreateRequestFormFieldRules:
      summary: Form Fields Per Document and Rules Example
      value:
        $ref: examples/json/UnclaimedDraftCreateRequestFormFieldRules.json
    Error4XXResponse:
      summary: Error 4XX failed_operation
      value:
        $ref: examples/json/Error4XXResponse.json
    Error403Response:
      summary: Error 403 forbidden
      value:
        $ref: examples/json/Error403Response.json
    UnclaimedDraftCreateResponse:
      summary: Unclaimed Draft Create
      value:
        $ref: examples/json/UnclaimedDraftCreateResponse.json
    UnclaimedDraftCreateEmbeddedWithTemplateResponse:
      summary: Unclaimed Draft Create Embedded With Template
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedWithTemplateResponse.json
    UnclaimedDraftCreateEmbeddedRequestFormFieldRules:
      summary: Form Fields Per Document and Rules Example
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedRequestFormFieldRules.json
    UnclaimedDraftEditAndResend:
      summary: Unclaimed Draft Edit and Resend
      value:
        $ref: examples/json/UnclaimedDraftEditAndResend.json
    Error402Response:
      summary: Error 402 payment_required
      value:
        $ref: examples/json/Error402Response.json
    UnclaimedDraftCreateRequest:
      summary: Default Example
      value:
        $ref: examples/json/UnclaimedDraftCreateRequest.json
    UnclaimedDraftCreateRequestFormFieldsPerDocument:
      summary: Form Fields Per Document Example
      value:
        $ref: examples/json/UnclaimedDraftCreateRequestFormFieldsPerDocument.json
    UnclaimedDraftCreateEmbeddedRequestFormFieldsPerDocument:
      summary: Form Fields Per Document Example
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedRequestFormFieldsPerDocument.json
    UnclaimedDraftCreateRequestFormFieldGroups:
      summary: Form Fields Per Document and Groups Example
      value:
        $ref: examples/json/UnclaimedDraftCreateRequestFormFieldGroups.json
    Error401Response:
      summary: Error 401 unauthorized
      value:
        $ref: examples/json/Error401Response.json
    Error410Response:
      summary: Error 410 deleted
      value:
        $ref: examples/json/Error410Response.json
    Error400Response:
      summary: Error 400 bad_request
      value:
        $ref: examples/json/Error400Response.json
    Error409Response:
      summary: Error 409 conflict
      value:
        $ref: examples/json/Error409Response.json
    Error404Response:
      summary: Error 404 not_found
      value:
        $ref: examples/json/Error404Response.json
    UnclaimedDraftCreateEmbeddedRequest:
      summary: Default Example
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedRequest.json
    UnclaimedDraftCreateEmbeddedRequestFormFieldGroups:
      summary: Form Fields Per Document and Groups Example
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedRequestFormFieldGroups.json
    UnclaimedDraftCreateEmbeddedWithTemplateRequest:
      summary: Default Example
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedWithTemplateRequest.json
    UnclaimedDraftCreateEmbeddedResponse:
      summary: Unclaimed Draft Create Embedded
      value:
        $ref: examples/json/UnclaimedDraftCreateEmbeddedResponse.json
    UnclaimedDraftEditAndResendRequest:
      summary: Default Example
      value:
        $ref: examples/json/UnclaimedDraftEditAndResendRequest.json
    Error429Response:
      summary: Error 429 exceeded_rate
      value:
        $ref: examples/json/Error429Response.json
  schemas:
    ErrorResponseError:
      description: Contains information about an error that occurred.
      required:
      - error_msg
      - error_name
      properties:
        error_msg:
          description: Message describing an error.
          type: string
        error_path:
          description: Path at which an error occurred.
          type: string
        error_name:
          description: Name of the error. See the `x-error-codes` catalog in openapi file for a complete list of possible error codes with detailed information including HTTP status codes, causes, remediation steps, and retry guidance.
          type: string
      type: object
    UnclaimedDraftCreateRequest:
      description: ''
      required:
      - type
      properties:
        files:
          description: 'Use `files[]` to indicate the uploaded file(s) to send for signature.


            This endpoint requires either **files** or **file_urls[]**, but not both.'
          type: array
          items:
            type: string
            format: binary
        file_urls:
          description: 'Use `file_urls[]` to have Dropbox Sign download the file(s) to send for signature.


            This endpoint requires either **files** or **file_urls[]**, but not both.'
          type: array
          items:
            type: string
        allow_decline:
          description: Allows signers to decline to sign a document if `true`. Defaults to `false`.
          type: boolean
          default: false
        attachments:
          description: A list describing the attachments
          type: array
          items:
            $ref: '#/components/schemas/SubAttachment'
        cc_email_addresses:
          description: The email addresses that should be CCed.
          type: array
          items:
            type: string
            format: email
        client_id:
          description: Client id of the app used to create the draft. Used to apply the branding and callback url defined for the app.
          type: string
        custom_fields:
          description: 'When used together with merge fields, `custom_fields` allows users to add pre-filled data to their signature requests.


            Pre-filled data can be used with "send-once" signature requests by adding merge fields with `form_fields_per_document` or [Text Tags](https://app.hellosign.com/api/textTagsWalkthrough#TextTagIntro) while passing values back with `custom_fields` together in one API call.


            For using pre-filled on repeatable signature requests, merge fields are added to templates in the Dropbox Sign UI or by calling [/template/create_embedded_draft](/api/reference/operation/templateCreateEmbeddedDraft) and then passing `custom_fields` on subsequent signature requests referencing that template.'
          type: array
          items:
            $ref: '#/components/schemas/SubCustomField'
        field_options:
          $ref: '#/components/schemas/SubFieldOptions'
        form_field_groups:
          description: Group information for fields defined in `form_fields_per_document`. String-indexed JSON array with `group_label` and `requirement` keys. `form_fields_per_document` must contain fields referencing a group defined in `form_field_groups`.
          type: array
          items:
            $ref: '#/components/schemas/SubFormFieldGroup'
        form_field_rules:
          description: Conditional Logic rules for fields defined in `form_fields_per_document`.
          type: array
          items:
            $ref: '#/components/schemas/SubFormFieldRule'
        form_fields_per_document:
          description: 'The fields that should appear on the document, expressed as an array of objects. (For more details you can read about it here: [Using Form Fields per Document](/docs/openapi/form-fields-per-document).)


            **NOTE:** Fields like **text**, **dropdown**, **checkbox**, **radio**, and **hyperlink** have additional required and optional parameters. Check out the list of [additional parameters](/api/reference/constants/#form-fields-per-document) for these field types.


            * Text Field use `SubFormFieldsPerDocumentText`

            * Dropdown Field use `SubFormFieldsPerDocumentDropdown`

            * Hyperlink Field use `SubFormFieldsPerDocumentHyperlink`

            * Checkbox Field use `SubFormFieldsPerDocumentCheckbox`

            * Radio Field use `SubFormFieldsPerDocumentRadio`

            * Signature Field use `SubFormFieldsPerDocumentSignature`

            * Date Signed Field use `SubFormFieldsPerDocumentDateSigned`

            * Initials Field use `SubFormFieldsPerDocumentInitials`

            * Text Merge Field use `SubFormFieldsPerDocumentTextMerge`

            * Checkbox Merge Field use `SubFormFieldsPerDocumentCheckboxMerge`'
          type: array
          items:
            $ref: '#/components/schemas/SubFormFieldsPerDocumentBase'
        hide_text_tags:
          description: Send with a value of `true` if you wish to enable automatic Text Tag removal. Defaults to `false`. When using Text Tags it is preferred that you set this to `false` and hide your tags with white text or something similar because the automatic removal system can cause unwanted clipping. See the [Text Tags](https://app.hellosign.com/api/textTagsWalkthrough#TextTagIntro) walkthrough for more details.
          type: boolean
          default: false
        message:
          description: The custom message in the email that will be sent to the signers.
          type: string
          maxLength: 5000
        metadata:
          description: 'Key-value data that should be attached to the signature request. This metadata is included in all API responses and events involving the signature request. For example, use the metadata field to store a signer''s order number for look up when receiving events for the signature request.


            Each request can include up to 10 metadata keys (or 50 nested metadata keys), with key names up to 40 characters long and values up to 1000 characters long.'
          type: object
          maxItems: 10
          additionalProperties: {}
        show_progress_stepper:
          description: When only one step remains in the signature request process and this parameter is set to `false` then the progress stepper will be hidden.
          type: boolean
          default: true
        signers:
          description: Add Signers to your Unclaimed Draft Signature Request.
          type: array
          items:
            $ref: '#/components/schemas/SubUnclaimedDraftSigner'
        signing_options:
          $ref: '#/components/schemas/SubSigningOptions'
        signing_redirect_url:
          description: The URL you want signers redirected to after they successfully sign.
          type: string
        subject:
          description: The subject in the email that will be sent to the signers.
          type: string
          maxLength: 200
        test_mode:
          description: Whether this is a test, the signature request created from this draft will not be legally binding if set to `true`. Defaults to `false`.
          type: boolean
          default: false
        type:
          description: The type of unclaimed draft to create. Use `send_document` to create a claimable file, and `request_signature` for a claimable signature request. If the type is `request_signature` then signers name and email_address are not optional.
          type: string
          enum:
          - send_document
          - request_signature
        use_preexisting_fields:
          description: Set `use_text_tags` to `true` to enable [Text Tags](https://app.hellosign.com/api/textTagsWalkthrough#TextTagIntro) parsing in your document (defaults to disabled, or `false`). Alternatively, if your PDF contains pre-defined fields, enable the detection of these fields by setting the `use_preexisting_fields` to `true` (defaults to disabled, or `false`). Currently we only support use of either `use_text_tags` or `use_preexisting_fields` parameter, not both.
          type: boolean
          default: false
        use_text_tags:
          description: Set `use_text_tags` to `true` to enable [Text Tags](https://app.hellosign.com/api/textTagsWalkthrough#TextTagIntro) parsing in your document (defaults to disabled, or `false`). Alternatively, if your PDF contains pre-defined fields, enable the detection of these fields by setting the `use_preexisting_fields` to `true` (defaults to disabled, or `false`). Currently we only support use of either `use_text_tags` or `use_preexisting_fields` parameter, not both.
          type: boolean
          default: false
        expires_at:
          description: 'When the signature request will expire. Unsigned signatures will be moved to the expired status, and no longer signable. See [Signature Request Expiration Date](https://developers.hellosign.com/docs/signature-request/expiration/) for details.


            **NOTE:** This does not correspond to the **expires_at** returned in the response.'
          type:
          - integer
          - 'null'
      type: object
    SubFormFieldsPerDocumentBase:
      description: 'The fields that should appear on the document, expressed as an array of objects. (For more details you can read about it here: [Using Form Fields per Document](/docs/openapi/form-fields-per-document).)


        **NOTE:** Fields like **text**, **dropdown**, **checkbox**, **radio**, and **hyperlink** have additional required and optional parameters. Check out the list of [additional parameters](/api/reference/constants/#form-fields-per-document) for these field types.


        * Text Field use `SubFormFieldsPerDocumentText`

        * Dropdown Field use `SubFormFieldsPerDocumentDropdown`

        * Hyperlink Field use `SubFormFieldsPerDocumentHyperlink`

        * Checkbox Field use `SubFormFieldsPerDocumentCheckbox`

        * Radio Field use `SubFormFieldsPerDocumentRadio`

        * Signature Field use `SubFormFieldsPerDocumentSignature`

        * Date Signed Field use `SubFormFieldsPerDocumentDateSigned`

        * Initials Field use `SubFormFieldsPerDocumentInitials`

        * Text Merge Field use `SubFormFieldsPerDocumentTextMerge`

        * Checkbox Merge Field use `SubFormFieldsPerDocumentCheckboxMerge`'
      required:
      - document_index
      - api_id
      - type
      - required
      - signer
      - width
      - height
      - x
      - y
      properties:
        document_index:
          description: Represents the integer index of the `file` or `file_url` document the field should be attached to.
          type: integer
        api_id:
          description: An identifier for the field that is unique across all documents in the request.
          type: string
        height:
          description: Size of the field in pixels.
          type: integer
        name:
          description: Display name for the field.
          type: string
        page:
          description: 'Page in the document where the field should be placed (requires documents be PDF files).


            - When the page number parameter is supplied, the API will use the new coordinate system.

            - Check out the differences between both [coordinate systems](https://faq.hellosign.com/hc/en-us/articles/217115577) and how to use them.'
          type:
          - integer
          - 'null'
        required:
          description: Whether this field is required.
          type: boolean
        signer:
          description: 'Signer index identified by the offset in the signers parameter (0-based indexing), indicating which signer should fill out the fie

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hellosign/refs/heads/main/openapi/hellosign-unclaimed-draft-api-openapi.yml