> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a sign request with a template

> Create a Box Sign template in the web app, list it through the API, and send a request with template_id and prefill tags.

export const MultiRelatedLinks = ({sections = []}) => {
  if (!sections || sections.length === 0) {
    return null;
  }
  return <div className="space-y-8">
      {sections.map((section, index) => <RelatedLinks key={index} title={section.title} items={section.items} />)}
    </div>;
};

export const RelatedLinks = ({title, items = []}) => {
  const getBadgeClass = badge => {
    if (!badge) return "badge-default";
    const badgeType = badge.toLowerCase().replace(/\s+/g, "-");
    return `badge-${badge === "ガイド" ? "guide" : badgeType}`;
  };
  if (!items || items.length === 0) {
    return null;
  }
  return <div className="my-8">
      {}
      <h3 className="text-sm font-bold uppercase tracking-wider mb-4">{title}</h3>

      {}
      <div className="flex flex-col gap-3">
        {items.map((item, index) => <a key={index} href={item.href} className="py-2 px-3 rounded related_link hover:bg-[#f2f2f2] dark:hover:bg-[#111827] flex items-center gap-3 group no-underline hover:no-underline border-b-0">
            {}
            <span className={`px-2 py-1 rounded-full text-xs font-semibold uppercase tracking-wide flex-shrink-0 ${getBadgeClass(item.badge)}`}>
              {item.badge}
            </span>

            {}
            <span className="text-base">{item.label}</span>
          </a>)}
      </div>
    </div>;
};

A Box Sign template is a document that already has signature and initials fields, signer
roles, and optional email settings. You create and manage templates in the Box
web app. The API can list templates and create sign requests from them. It
cannot create, edit, or delete templates.

Signature and initials fields on a template belong to a specific signer. They can be required or
optional. Your app can prefill them when you create a request from the template, but the signer who owns a field can still change it when they open the request.

You can also [verify signer identity](/guides/box-sign/signer-verification) for a template recipient.

For every create-time option, see [Create a Box Sign request](/guides/box-sign/create-sign-request).

## Create a template

In Box Sign, open **Sign** and select **Templates**. Select **New Template**, then
choose or upload a document.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-template-navigate.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=0861e0d0d88acd0544cc7ef6db75b36e" alt="Navigating to templates under Box Sign" width="4064" height="2334" data-path="images/guides/box-sign/sign-template-navigate.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-template-selecting-template.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=588df5517d1170c6ca99a886f663c86c" alt="Selecting a document when creating a template" width="659" height="639" data-path="images/guides/box-sign/sign-template-selecting-template.png" />
</Frame>

Place the signature and initials fields you need, such as date, name, and signature, then save the
template.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-template-signature-props.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=317283bf64e7b82e533646f84f9be08f" alt="Adding the signature, name, and date to the template" width="3976" height="2246" data-path="images/guides/box-sign/sign-template-signature-props.png" />
</Frame>

See the [Creating templates in Box Sign](https://support.box.com/hc/en-us/articles/4404094944915-Creating-templates) support article for UI details.

## Get the template ID

Use the [list Box Sign templates](/reference/get-sign-templates) endpoint to find the `template_id`.

```sh theme={null}
curl -i -X GET "https://api.box.com/2.0/sign_templates" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
```

The response is similar to this abbreviated example. For the full schema, see the [List Box Sign templates](/reference/get-sign-templates) endpoint.

```json theme={null}
{
  "entries": [
    {
      "id": "6ae28666-03c4-4ac1-80db-06a90d3b1361",
      "name": "Contract.pdf",
      "parent_folder": {
        "id": "157064745449",
        "type": "folder",
        "name": "My Sign Requests"
      },
      "signers": [
        {
          "email": "",
          "label": "reader",
          "role": "final_copy_reader"
        },
        {
          "email": "",
          "label": "signer1",
          "role": "signer"
        },
        {
          "email": "",
          "label": "signer2",
          "role": "signer",
          "inputs": [
            {
              "document_tag_id": "signer2_full_name",
              "type": "text",
              "content_type": "full_name"
            },
            {
              "document_tag_id": null,
              "type": "signature"
            },
            {
              "document_tag_id": null,
              "type": "date"
            }
          ]
        }
      ]
    }
  ]
}
```

To inspect one template, including every input and `document_tag_id`, use the [get Box Sign template by ID](/reference/get-sign-templates-id) endpoint.

```sh theme={null}
curl -i -X GET "https://api.box.com/2.0/sign_templates/6ae28666-03c4-4ac1-80db-06a90d3b1361" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
```

## Create the sign request

Pass `template_id`, `parent_folder`, and signer emails when you create the request. You do not need
`source_files` when the template already references the document. Keep signer
order in the `POST` body the same as the order on the template.

In the template editor, assign a tag ID to any signature or initials field you want to prefill, then
send `prefill_tags` with that `document_tag_id`.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-template-add-id-to-name-prop.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=bd6ff39b401a308aa5422e6457c09d74" alt="Assigning a tag id to a signature property input" width="4064" height="2334" data-path="images/guides/box-sign/sign-template-add-id-to-name-prop.png" />
</Frame>

```json theme={null}
{
  "template_id": "6ae28666-03c4-4ac1-80db-06a90d3b1361",
  "parent_folder": {
    "id": "123456789000",
    "type": "folder"
  },
  "signers": [
    {
      "email": "signer1@example.com",
      "role": "signer"
    },
    {
      "email": "signer2@example.com",
      "role": "signer"
    }
  ],
  "prefill_tags": [
    {
      "document_tag_id": "signer1_full_name",
      "text_value": "Ebenezer Scrooge"
    },
    {
      "document_tag_id": "signer2_full_name",
      "text_value": "Bob Cratchit"
    }
  ]
}
```

```sh theme={null}
curl -i -X POST "https://api.box.com/2.0/sign_requests" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "template_id": "6ae28666-03c4-4ac1-80db-06a90d3b1361",
       "parent_folder": {
         "type": "folder",
         "id": "123456789000"
       },
       "signers": [
         {
           "email": "signer1@example.com",
           "role": "signer"
         },
         {
           "email": "signer2@example.com",
           "role": "signer"
         }
       ],
       "prefill_tags": [
         {
           "document_tag_id": "signer1_full_name",
           "text_value": "Ebenezer Scrooge"
         },
         {
           "document_tag_id": "signer2_full_name",
           "text_value": "Bob Cratchit"
         }
       ]
     }'
```

The response includes the new request `id`, `template_id`, and the prefill
values. Preparation is not needed when the template already placed the signature and initials fields.
The date field, if present, is populated with the current date. Signers can still
change values they own.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-template-name-populated.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=0ad5a40095fb4341e9c29cc7dbc1f0cb" alt="Signing the document with a prefilled name" width="4064" height="2334" data-path="images/guides/box-sign/sign-template-name-populated.png" />
</Frame>

If the document already includes signature and initials tags and you do not want to manage a
template in the web app, see [Signing structured docs](/guides/box-sign/document-types/structured).

<RelatedLinks
  title="RELATED APIS"
  items={[
{ label: translate("List Box Sign templates"), href: "/reference/get-sign-templates", badge: "GET" },
{ label: translate("Get Box Sign template by ID"), href: "/reference/get-sign-templates-id", badge: "GET" },
{ label: translate("Create Box Sign request"), href: "/reference/post-sign-requests", badge: "POST" }
]}
/>

<RelatedLinks
  title="RELATED GUIDES"
  items={[
{ label: translate("Create Box Sign request"), href: "/guides/box-sign/create-sign-request", badge: "GUIDE" },
{ label: translate("Signing structured docs"), href: "/guides/box-sign/document-types/structured", badge: "GUIDE" }
]}
/>
