# docspring

DocSpring - JavaScript client for docspring
Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: v1
- Package version: 3.0.0
- Generator version: 7.16.0-DOCSPRING
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install docspring --save
```

Finally, you need to build the module:

```shell
npm run build
```

##### Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:

```shell
npm install
```

Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:

```shell
npm link
```

To use the link you just defined in your project, switch to the directory you want to use your docspring from, and run:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

Finally, you need to build the module:

```shell
npm run build
```

#### git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

### Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:

```javascript
module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var DocSpring = require('docspring');

var defaultClient = DocSpring.ApiClient.instance;
// Configure HTTP basic authorization: api_token_basic
var api_token_basic = defaultClient.authentications['api_token_basic'];
api_token_basic.username = 'YOUR USERNAME'
api_token_basic.password = 'YOUR PASSWORD'

var api = new DocSpring.Client()
var template_id = "tpl_1234567890abcdef02"; // {String} 
var data = new DocSpring.AddFieldsData(); // {AddFieldsData} 
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.addFieldsToTemplate(template_id, data, callback);

```

## Documentation for API Endpoints

All URIs are relative to *https://sync.api.docspring.com/api/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DocSpring.Client* | [**addFieldsToTemplate**](docs/Client.md#addFieldsToTemplate) | **PUT** /templates/{template_id}/add_fields | Add new fields to a Template
*DocSpring.Client* | [**batchGeneratePdfs**](docs/Client.md#batchGeneratePdfs) | **POST** /submissions/batches | Generate multiple PDFs
*DocSpring.Client* | [**combinePdfs**](docs/Client.md#combinePdfs) | **POST** /combined_submissions | Merge submission PDFs, template PDFs, or custom files
*DocSpring.Client* | [**copyTemplate**](docs/Client.md#copyTemplate) | **POST** /templates/{template_id}/copy | Copy a template
*DocSpring.Client* | [**createCustomFileFromUpload**](docs/Client.md#createCustomFileFromUpload) | **POST** /custom_files | Create a new custom file from a cached S3 upload
*DocSpring.Client* | [**createDataRequestEvent**](docs/Client.md#createDataRequestEvent) | **POST** /data_requests/{data_request_id}/events | Create a new event for emailing a signee a request for signature
*DocSpring.Client* | [**createDataRequestToken**](docs/Client.md#createDataRequestToken) | **POST** /data_requests/{data_request_id}/tokens | Create a new data request token for form authentication
*DocSpring.Client* | [**createFolder**](docs/Client.md#createFolder) | **POST** /folders/ | Create a folder
*DocSpring.Client* | [**createHtmlTemplate**](docs/Client.md#createHtmlTemplate) | **POST** /templates?endpoint_variant&#x3D;create_html_template | Create a new HTML template
*DocSpring.Client* | [**createPdfTemplate**](docs/Client.md#createPdfTemplate) | **POST** /templates | Create a new PDF template with a form POST file upload
*DocSpring.Client* | [**createPdfTemplateFromUpload**](docs/Client.md#createPdfTemplateFromUpload) | **POST** /templates?endpoint_variant&#x3D;create_template_from_cached_upload | Create a new PDF template from a cached S3 file upload
*DocSpring.Client* | [**deleteFolder**](docs/Client.md#deleteFolder) | **DELETE** /folders/{folder_id} | Delete a folder
*DocSpring.Client* | [**deleteTemplate**](docs/Client.md#deleteTemplate) | **DELETE** /templates/{template_id} | Delete a template
*DocSpring.Client* | [**expireCombinedSubmission**](docs/Client.md#expireCombinedSubmission) | **DELETE** /combined_submissions/{combined_submission_id} | Expire a combined submission
*DocSpring.Client* | [**expireSubmission**](docs/Client.md#expireSubmission) | **DELETE** /submissions/{submission_id} | Expire a PDF submission
*DocSpring.Client* | [**generatePdf**](docs/Client.md#generatePdf) | **POST** /templates/{template_id}/submissions | Generate a PDF
*DocSpring.Client* | [**generatePreview**](docs/Client.md#generatePreview) | **POST** /submissions/{submission_id}/generate_preview | Generate a preview PDF for partially completed data requests
*DocSpring.Client* | [**getCombinedSubmission**](docs/Client.md#getCombinedSubmission) | **GET** /combined_submissions/{combined_submission_id} | Check the status of a combined submission (merged PDFs)
*DocSpring.Client* | [**getDataRequest**](docs/Client.md#getDataRequest) | **GET** /data_requests/{data_request_id} | Look up a submission data request
*DocSpring.Client* | [**getFullTemplate**](docs/Client.md#getFullTemplate) | **GET** /templates/{template_id}?full&#x3D;true | Fetch the full attributes for a PDF template
*DocSpring.Client* | [**getPresignUrl**](docs/Client.md#getPresignUrl) | **GET** /uploads/presign | Get a presigned S3 URL for direct file upload
*DocSpring.Client* | [**getSubmission**](docs/Client.md#getSubmission) | **GET** /submissions/{submission_id} | Check the status of a PDF
*DocSpring.Client* | [**getSubmissionBatch**](docs/Client.md#getSubmissionBatch) | **GET** /submissions/batches/{submission_batch_id} | Check the status of a submission batch job
*DocSpring.Client* | [**getTemplate**](docs/Client.md#getTemplate) | **GET** /templates/{template_id} | Check the status of an uploaded template
*DocSpring.Client* | [**getTemplateSchema**](docs/Client.md#getTemplateSchema) | **GET** /templates/{template_id}/schema | Fetch the JSON schema for a template
*DocSpring.Client* | [**listCombinedSubmissions**](docs/Client.md#listCombinedSubmissions) | **GET** /combined_submissions | Get a list of all combined submissions
*DocSpring.Client* | [**listFolders**](docs/Client.md#listFolders) | **GET** /folders/ | Get a list of all folders
*DocSpring.Client* | [**listSubmissions**](docs/Client.md#listSubmissions) | **GET** /submissions | List all submissions
*DocSpring.Client* | [**listTemplateSubmissions**](docs/Client.md#listTemplateSubmissions) | **GET** /templates/{template_id}/submissions | List all submissions for a given template
*DocSpring.Client* | [**listTemplates**](docs/Client.md#listTemplates) | **GET** /templates | Get a list of all templates
*DocSpring.Client* | [**moveFolderToFolder**](docs/Client.md#moveFolderToFolder) | **POST** /folders/{folder_id}/move | Move a folder
*DocSpring.Client* | [**moveTemplateToFolder**](docs/Client.md#moveTemplateToFolder) | **POST** /templates/{template_id}/move | Move Template to folder
*DocSpring.Client* | [**publishTemplateVersion**](docs/Client.md#publishTemplateVersion) | **POST** /templates/{template_id}/publish_version | Publish a template version
*DocSpring.Client* | [**renameFolder**](docs/Client.md#renameFolder) | **POST** /folders/{folder_id}/rename | Rename a folder
*DocSpring.Client* | [**restoreTemplateVersion**](docs/Client.md#restoreTemplateVersion) | **POST** /templates/{template_id}/restore_version | Restore a template version
*DocSpring.Client* | [**testAuthentication**](docs/Client.md#testAuthentication) | **GET** /authentication | Test authentication
*DocSpring.Client* | [**updateDataRequest**](docs/Client.md#updateDataRequest) | **PUT** /data_requests/{data_request_id} | Update a submission data request
*DocSpring.Client* | [**updateTemplate**](docs/Client.md#updateTemplate) | **PUT** /templates/{template_id} | Update a Template
*DocSpring.Client* | [**updateTemplateDocument**](docs/Client.md#updateTemplateDocument) | **PUT** /templates/{template_id}?endpoint_variant&#x3D;update_template_pdf_with_form_post | Update a template&#39;s document with a form POST file upload
*DocSpring.Client* | [**updateTemplateDocumentFromUpload**](docs/Client.md#updateTemplateDocumentFromUpload) | **PUT** /templates/{template_id}?endpoint_variant&#x3D;update_template_pdf_with_cached_upload | Update a template&#39;s document with a cached S3 file upload


## Documentation for Models

 - [DocSpring.AddFieldsData](docs/AddFieldsData.md)
 - [DocSpring.BatchGeneratePdfs201Response](docs/BatchGeneratePdfs201Response.md)
 - [DocSpring.CombinePdfsData](docs/CombinePdfsData.md)
 - [DocSpring.CombinedSubmission](docs/CombinedSubmission.md)
 - [DocSpring.CombinedSubmissionAction](docs/CombinedSubmissionAction.md)
 - [DocSpring.CopyTemplateOptions](docs/CopyTemplateOptions.md)
 - [DocSpring.CreateCombinedSubmissionResponse](docs/CreateCombinedSubmissionResponse.md)
 - [DocSpring.CreateCustomFileData](docs/CreateCustomFileData.md)
 - [DocSpring.CreateCustomFileResponse](docs/CreateCustomFileResponse.md)
 - [DocSpring.CreateFolderData](docs/CreateFolderData.md)
 - [DocSpring.CreateHtmlTemplate](docs/CreateHtmlTemplate.md)
 - [DocSpring.CreatePdfSubmissionData](docs/CreatePdfSubmissionData.md)
 - [DocSpring.CreatePdfTemplate](docs/CreatePdfTemplate.md)
 - [DocSpring.CreateSubmissionDataRequestData](docs/CreateSubmissionDataRequestData.md)
 - [DocSpring.CreateSubmissionDataRequestEventRequest](docs/CreateSubmissionDataRequestEventRequest.md)
 - [DocSpring.CreateSubmissionDataRequestEventResponse](docs/CreateSubmissionDataRequestEventResponse.md)
 - [DocSpring.CreateSubmissionDataRequestResponse](docs/CreateSubmissionDataRequestResponse.md)
 - [DocSpring.CreateSubmissionDataRequestTokenResponse](docs/CreateSubmissionDataRequestTokenResponse.md)
 - [DocSpring.CreateSubmissionResponse](docs/CreateSubmissionResponse.md)
 - [DocSpring.CustomFile](docs/CustomFile.md)
 - [DocSpring.ErrorOrMultipleErrorsResponse](docs/ErrorOrMultipleErrorsResponse.md)
 - [DocSpring.ErrorResponse](docs/ErrorResponse.md)
 - [DocSpring.Folder](docs/Folder.md)
 - [DocSpring.JsonSchema](docs/JsonSchema.md)
 - [DocSpring.ListSubmissionsResponse](docs/ListSubmissionsResponse.md)
 - [DocSpring.MoveFolderData](docs/MoveFolderData.md)
 - [DocSpring.MoveTemplateData](docs/MoveTemplateData.md)
 - [DocSpring.MultipleErrorsResponse](docs/MultipleErrorsResponse.md)
 - [DocSpring.PublishVersionData](docs/PublishVersionData.md)
 - [DocSpring.RenameFolderData](docs/RenameFolderData.md)
 - [DocSpring.RestoreVersionData](docs/RestoreVersionData.md)
 - [DocSpring.Submission](docs/Submission.md)
 - [DocSpring.Submission422Response](docs/Submission422Response.md)
 - [DocSpring.SubmissionAction](docs/SubmissionAction.md)
 - [DocSpring.SubmissionBatch](docs/SubmissionBatch.md)
 - [DocSpring.SubmissionBatchData](docs/SubmissionBatchData.md)
 - [DocSpring.SubmissionBatchWithSubmissions](docs/SubmissionBatchWithSubmissions.md)
 - [DocSpring.SubmissionDataRequest](docs/SubmissionDataRequest.md)
 - [DocSpring.SubmissionDataRequestEvent](docs/SubmissionDataRequestEvent.md)
 - [DocSpring.SubmissionDataRequestShow](docs/SubmissionDataRequestShow.md)
 - [DocSpring.SubmissionDataRequestToken](docs/SubmissionDataRequestToken.md)
 - [DocSpring.SubmissionPreview](docs/SubmissionPreview.md)
 - [DocSpring.SuccessErrorResponse](docs/SuccessErrorResponse.md)
 - [DocSpring.SuccessMultipleErrorsResponse](docs/SuccessMultipleErrorsResponse.md)
 - [DocSpring.Template](docs/Template.md)
 - [DocSpring.TemplateAddFieldsResponse](docs/TemplateAddFieldsResponse.md)
 - [DocSpring.TemplateDeleteResponse](docs/TemplateDeleteResponse.md)
 - [DocSpring.TemplatePreview](docs/TemplatePreview.md)
 - [DocSpring.TemplatePublishVersionResponse](docs/TemplatePublishVersionResponse.md)
 - [DocSpring.UpdateHtmlTemplate](docs/UpdateHtmlTemplate.md)
 - [DocSpring.UpdatePdfTemplate](docs/UpdatePdfTemplate.md)
 - [DocSpring.UpdateSubmissionDataRequestData](docs/UpdateSubmissionDataRequestData.md)
 - [DocSpring.UploadPresignResponse](docs/UploadPresignResponse.md)


## Documentation for Authorization


Authentication schemes defined for the API:
### api_token_basic

- **Type**: HTTP basic authentication

