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

# Quickstart

> Start building an integration with Inkless's e-sign tool

## Get your API key

Email [hello@useinkless.com](mailto:hello@useinkless.com) a request for an API key. Make sure to include:

* Your use case
* Your estimated monthly volume
* Any additional feature requests

### Create a template using our Inkless webapp

<Note>
  We recommend selecting "Auto-release signatures when complete". When enabled, this setting automatically sends the final PDF with signatures once everyone has signed. If this is not enabled, you will need to manually review and release signatures even after everyone has signed.
</Note>

Create an account, login, upload a PDF, and create a template at [https://app.useinkless.com/templates](https://app.useinkless.com/templates). The webapp is so that you can use our UI to drag and drop fields, then you will use our API and the template to programatically send PDFs to recipients via email to sign.

<img src="https://mintcdn.com/inkless/DSfu6zFEKFNF7JkJ/CleanShot2025-04-01at20.36.31@2x.png?fit=max&auto=format&n=DSfu6zFEKFNF7JkJ&q=85&s=af1c5945a3e02f9e1f255c0c6fbcda8f" alt="CleanShot 2025-04-01 at 20.36.31@2x.png" width="2880" height="1570" data-path="CleanShot2025-04-01at20.36.31@2x.png" />

### After creating a template, grab the template ID.

<img src="https://mintcdn.com/inkless/DSfu6zFEKFNF7JkJ/CleanShot2025-04-01at20.39.48@2x.png?fit=max&auto=format&n=DSfu6zFEKFNF7JkJ&q=85&s=2776e8ddfa9fe473e1a955e722a69302" alt="CleanShot 2025-04-01 at 20.39.48@2x.png" width="2880" height="1574" data-path="CleanShot2025-04-01at20.39.48@2x.png" />

## Using your API key, call the `createFromTemplate` API

Call the `createFromTemplate` API and specify your templateId and list of recipients with their email and name. The number of recipients must match the number of recipients in the template you created!

```typescript theme={null}
import axios from 'axios';

async function sendTemplateEmail(): Promise<void> {
  const url = 'https://api.useinkless.com/createFromTemplate';
  const apiKey = 'test_api_key';

  const data = {
    templateId: 'your_template_id',
    recipients: [
      {
        email: 'hello@useinkless.com',
        name: 'Test User'
      }
    ]
  };

  try {
    const response = await axios.post(url, data, {
      headers: {
        'Content-Type': 'application/json',
        'x-api-key': apiKey
      }
    });

    console.log('Response status:', response.status);
    console.log('Response data:', response.data);
  } catch (error: unknown) {
    if (axios.isAxiosError(error)) {
      console.error('API Error:');
      console.error('Status:', error.response?.status);
      console.error('Data:', error.response?.data);
    } else {
      console.error('Error during API test:', error);
    }
  }
}

sendTemplateEmail();
```
