# Exemption Certificate Management — API Reference

Exemption Certificate Management (ECM), also known as CertCapture, helps you collect, validate, and store exemption certificates in one place. It reduces manual work and keeps certificate data accurate and easy to retrieve for audits.

Source: https://developer.avalara.com/products/ecm/api/
**Total endpoints:** 72 across 1 APIs

---

## Avalara CertCapture RESTful APIs

This is the defined documentation for RESTful APIs for CertCapture 6.X and beyond..

**Version:** v2
**Base URL:** https://sbx-api.certcapture.com/v2/
**Endpoints:** 72

### Endpoints

#### Attribute Groups

##### Retrieve all attribute groups.

`GET /v2/attribute-groups`

Retrieve all attribute groups for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create an attribute group.

`POST /v2/attribute-groups`

Create an attribute group for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The attribute group object you wish to update. |

##### Retrieve an attribute group.

`GET /v2/attribute-groups/{id}`

Retrieves the details of an attribute group.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the attribute group. |

##### Update an attribute group.

`PUT /v2/attribute-groups/{id}`

Update the details of an attribute group.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the attribute group |
| `body` |  | body | No | The attribute group object you wish to update. |

##### Delete an attribute group.

`DELETE /v2/attribute-groups/{id}`

Delete an attribute group from a company.  Note - An attribute group can not be deleted if it is in use.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the attribute group object. |


#### Attributes

##### Retrieve all attributes

`GET /v2/attributes`

Retrieve all attributes for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create an attribute.

`POST /v2/attributes`

Create an attribute for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The attribute object you wish to create. |

##### Retrieve an attribute.

`GET /v2/attributes/{id}`

Retrieve an attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the attribute object returned by /v2/attributes |

##### Update an attribute.

`PUT /v2/attributes/{id}`

Update an attribute for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the attribute object |
| `body` |  | body | No | The attribute object you wish to update. |

##### Delete an attribute.

`DELETE /v2/attributes/{id}`

Delete an attribute from a company.  Note:  You can not delete an attribute that is in use.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the attribute object returned by /v2/attributes |


#### eCommerce Token

##### Create an eCommerce Token.

`POST /v2/auth/get-token`

Create an eCommerce Token.  You can generate an eCommerce token using API user credentials (username/password), company id and customer number, this token will be used to launch CertCapture eCommerce plugin.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `x-customer-number` | integer | header | Yes | The customer number for whom you want to create an eCommerce token for. |

##### Refresh an eCommerce Token.

`POST /v2/auth/refresh-token`

Refresh an eCommerce Token.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `x-customer-number` | integer | header | Yes | The customer number for whom you want to refresh an eCommerce token for. |


#### Bearer Token

##### Provides a bearer token that will last for an hour.

`POST /v2/auth/get-token `

Provides a bearer token that will last for an hour.  You can use /v2/auth/refresh-token to extend the time.
      Note:  This is NOT for eCommerce.  Please refer to to the eCommerce section.

##### Refreshes a bearer token for an hour.

`POST /v2/auth/refresh-token `

Refreshes a bearer token for an hour.  To refresh your token, make this call but for authorization use you bearer token rather than your REST API credentials.
     To test this out in swagger, get a bearer token and then use the Authenticate button, at the top of the page, and authenticate using your bearer token, and then come back here and click Try it Now.
     Note:  This is NOT for eCommerce.  Please refer to to the eCommerce section.


#### Certificate Attribute

##### List_All_Certificate_Attributes

`GET /v2/certificate-attributes`

Retrieve all Certificate Attributes for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create_Certificate_Attribute

`POST /v2/certificate-attributes`

Create a certificate attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The certificate attribute group object you wish to update. |

##### Retrieve_Certificate_Attribute

`GET /v2/certificate-attributes/{id}`

Retrieving a single certificate attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate attribute. |

##### Update_Certificate_Attribute

`PUT /v2/certificate-attributes/{id}`

Update a certificate attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate attribute |
| `body` |  | body | No | The certificate attribute object you wish to update. |

##### Remove_Certificate_Attribute

`DELETE /v2/certificate-attributes/{id}`

Delete a certificate attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate attribute object. |


#### Certificates

##### Retrieve all certificates.

`GET /v2/certificates`

Retrieve all certificates for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a certificate.

`POST /v2/certificates`

Minimum Fields Required To Create A Certificate:filenameORpdf (urlencoded base64 pdf)ORpages (an array of urlencoded base64 images.)ANDexposure_zoneSubmitting A New Certificate To A Stack:
       If you wish to submit a created certificate to a stack, simply add the below value to your post request and it will appear in Data Entry.submit_to_stack=true

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `filename` | string | formData | No | The certificate file name that was uploaded. |
| `signed_date` | string | formData | No | Date of when the record was signed. |
| `expiration_date` | string | formData | No | Date of when the record expires. |
| `tax_number` | string | formData | No | The tax number for the certificate. |
| `tax_number_type` | string | formData | No | The type of tax number being provided. |
| `valid` | boolean | formData | No | Designates if a certificate is valid. |
| `is_single` | boolean | formData | No | Designates if certificate is single. |
| `exposure_zone` | array | formData | No | The exposure zone that the certificate covers. |
| `expected_tax_code` | array | formData | No | The expected tax code of the certificate. |

##### Retrieve a certificate.

`GET /v2/certificates/{id}`

Retrieve a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate object to get. |

##### Update a certificate.

`PUT /v2/certificates/{id}`

Update the data points for a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate object |
| `filename` | string | formData | No | The certificate file name that was uploaded. |
| `signed_date` | string | formData | No | Date of when the record was signed. |
| `expiration_date` | string | formData | No | Date of when the record expires. |
| `tax_number` | string | formData | No | The tax number for the certificate. |
| `tax_number_type` | string | formData | No | The type of tax number being provided. |
| `valid` | boolean | formData | No | Designates if a certificate is valid. |
| `is_single` | boolean | formData | No | Designates if certificate is single. |
| `exposure_zone` | array | formData | No | The exposure zone that the certificate covers. |
| `expected_tax_code` | array | formData | No | The expected tax code of the certificate. |

##### Delete a certificate.

`DELETE /v2/certificates/{id}`

Delete a certificate from a company.  Note:  You can not delete a certificate that has customers associated with it.  Use the /v2/certificates//customers endpoint to remove a customer from a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details ->  Company ID |
| `id` |  | path | Yes | The id of the certificate object. |

##### Retrieve a certificate's attributes.

`GET /v2/certificates/{id}/attributes`

Retrieve all attributes for a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |

##### Associate an attribute to a certificate.

`PUT /v2/certificates/{id}/attributes`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `attributes` | array | query | Yes | Need to pass in the attribute id that you want to associate with your certificate. |

##### Delete a certificate's attribute.

`DELETE /v2/certificates/{id}/attributes`

Delete an attribute from a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `attributes` | array | query | Yes | Need to pass in the attribute id that you want to remove from your certificate. |

##### Retrieve all custom fields for a certificate.

`GET /v2/certificates/{id}/custom-fields`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate. |

##### Update a certificate's custom field value.

`PUT /v2/certificates/{id}/custom-fields`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `custom_fields` | array | query | Yes | Need to pass in the custom field id, and new value that you want to update. |

##### Delete a certificate's custom field.

`DELETE /v2/certificates/{id}/custom-fields`

Delete a custom field from a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `custom_fields` | array | query | Yes | Need to pass in the custom field id that you want to associate with your certificate. |

##### Add a custom field to a certificate.

`PUT /v2/certificates/{id}/custom-fields `

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `custom_fields` | array | query | Yes | Need to pass in the custom field id that you want to associate with your certificate. |

##### Retrieve all customers.

`GET /v2/certificates/{id}/customers`

Retrieve all customers associated with a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |

##### Associate a customer with a certificate.

`PUT /v2/certificates/{id}/customers`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate. |
| `customers` | array | query | Yes | Need to pass in the customer number that you want to associate with your certificate. |

##### Delete a customer from a certificate.

`DELETE /v2/certificates/{id}/customers`

Delete a customer from a certificate.  Note - This does not remove the customer from the system.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `customers` | array | query | Yes | Need to pass in the customer number that you want to remove from your certificate. |

##### Retrieve certificates image.

`GET /v2/certificates/{id}/get-image`

Retrieve the image of the certificate as binary.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate. |

##### Retrieve the certificate's pdf.

`GET /v2/certificates/{id}/get-pdf`

Retrieve the pdf of the certificate

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate. |

##### Retrieve the certificate's histories.

`GET /v2/certificates/{id}/histories`

Retrieve the history of a certificate.  Relationship:  Read Only.  Histories are generated internally and are read-only.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate object. |

##### Retrieve a certificate's invalid reasons.

`GET /v2/certificates/{id}/invalid-reasons`

Retrieve all invalid reasons for a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |

##### Associate an invalid reason with a certificate.

`PUT /v2/certificates/{id}/invalid-reasons`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate. |
| `invalid_reasons` | array | query | Yes | Need to pass in the invalid reason id that you want to associate with your certificate. |

##### Delete an invalid reason from a certificate.

`DELETE /v2/certificates/{id}/invalid-reasons`

Delete an invalid reason from a certificate.  Note - This does not remove the invalid reason from the system.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate. |
| `invalid_reasons` | array | query | Yes | Need to pass in the invalid reason  id that you want to associate with your certificate. |

##### Retrieve a certificate's jobs.

`GET /v2/certificates/{id}/jobs`

Retrieve all jobs for a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |

##### Associate a job to a certificate.

`PUT /v2/certificates/{id}/jobs`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `jobs` | array | query | Yes | Need to pass in the jobs id that you want to associate with your certificate. |

##### Delete a job.

`DELETE /v2/certificates/{id}/jobs`

Delete a job from a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `jobs` | array | query | Yes | Need to pass in the jobs id that you want to associate with your certificate. |

##### Retrieve the certificate's logs.

`GET /v2/certificates/{id}/logs`

Retrieve all logs for a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate. |

##### Create a certificate log.

`PUT /v2/certificates/{id}/logs`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `logs` | array | query | Yes | Need to pass in the account, the user listed as adding the log entry, and the entry that you want to associate with your certificate. |

##### Delete a certificate's log.

`DELETE /v2/certificates/{id}/logs`

Delete a certificate's log entry.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `logs` | array | query | Yes | Need to pass in the log id that you want to remove from your certificate. |

##### Retrieve the certificates that are related via a multi jurisdictional certificate.

`GET /v2/certificates/{id}/multis`

Retrieve the multi relationships of a certificate.  Relationship: One To Many

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate object. |

##### Retrieve po-numbers for a certificate.

`GET /v2/certificates/{id}/po-numbers`

Retrieve all associated po-numbers for a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |

##### Add a po-number to a certificate.

`POST /v2/certificates/{id}/po-numbers`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `po_numbers` | array | query | Yes | The purchase order number that is associated with your certificate. |

##### Update a certificate's po-number.

`PUT /v2/certificates/{id}/po-numbers`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate. |
| `po_numbers` | array | query | Yes | The purchase order id number and it's new value, that you want to update for your certificate. |

##### Delete a po-number.

`DELETE /v2/certificates/{id}/po-numbers`

Delete a po-number from a certificate.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the certificate object. |
| `po_numbers` | array | query | Yes | The id of the purchase order number that you want to remove from your certificate. |

##### Upload an image using base64.

`PUT /v2/certificates/{id}/upload-images`

Upload certificate images by page in urlencoded base64 format to create/update current certificate images on file.Note:
          Uploading new certificate images will overwrite any uploaded PDF currently on file.Supported Image Types - JPEG, TIFF, PNG.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate object. |

##### Upload a pdf using base64.

`PUT /v2/certificates/{id}/upload-pdf`

Upload a pdf to a certificate.  NOTE:  Certificate images will be automatically generated upon a successful upload.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the certificate object. |


#### Clients

##### Retrieve all clients.

`GET /v2/clients`

Retrieve all clients/companies for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Retrieve a client.

`GET /v2/clients/{id}`

Retrieve a client from an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the client object. |


#### Countries

##### Retrieve all countries.

`GET /v2/countries`

Get a list of all countries for a given company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |

##### Create a country.

`POST /v2/countries`

Create a country.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details  -> Company Details -> Company ID. |
| `body` |  | body | No | The county object you wish to create. |

##### Retrieve a country.

`GET /v2/countries/{id}`

Retrieve a country from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details  -> Company Details -> Company ID. |
| `id` | integer | path | Yes | The id of the country object returned by /v2/countries |

##### Update a country.

`PUT /v2/countries/{id}`

Update a country for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details  -> Company Details -> Company ID. |
| `id` | integer | path | Yes | The id of the country object |
| `body` |  | body | No | The country object you wish to update. |

##### Delete a country.

`DELETE /v2/countries/{id}`

Delete a country from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details  -> Company Details -> Company ID. |
| `id` |  | path | Yes | The id of the Country object returned by v2/countries |


#### Cover Letter

##### Delete a cover letter.

`DELETE /v2/cover-letter/{id}`

Delete a cover letter from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `id` |  | path | Yes | The id of the cover letter object. |

##### Retrieve all cover letters.

`GET /v2/cover-letters`

Retrieve all cover letters, at the company level.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID. |

##### Create a cover letter.

`POST /v2/cover-letters`

Create a cover letter at the company level.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `body` |  | body | No | The cover letter object you wish to create. |

##### Retrieve an cover letter.

`GET /v2/cover-letters/{id}`

Retrieve a single cover letter from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `id` | integer | path | Yes | The id of the cover letter. |

##### Update cover letter.

`PUT /v2/cover-letters/{id}`

Update a cover letter for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `id` | integer | path | Yes | The id of the cover letter |
| `body` |  | body | No | The cover letter object you wish to update. |


#### Customer Attribute

##### Retrieve all customer attributes.

`GET /v2/customer-attributes`

Retrieve all Customer Attributes for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a customer attribute.

`POST /v2/customer-attributes`

Create a customer attribute that can be associated with a customer later.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The customer attribute group object you wish to update. |

##### Retrieve a customer attribute.

`GET /v2/customer-attributes/{id}`

Retrieve the details of a customer attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the customer attribute. |

##### Update a customer attribute.

`PUT /v2/customer-attributes/{id}`

Update the details of a customer attribute.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the customer attribute |
| `body` |  | body | No | The customer attribute object you wish to update. |

##### Delete a customer attribute.

`DELETE /v2/customer-attributes/{id}`

Delete a customer attribute from a company.  Note - A customer attribute can not be removed if it is currently in use.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer attribute. |


#### Customers

##### Retrieve all customers.

`GET /v2/customers`

Retrieve all customers from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a customer.

`POST /v2/customers`

Create a customer within a company. Minimum Fields Required To Create a Customer:  customer_number Want To Add A Vendor Record?  Use is_vendor = true in the body of your POST request.States with Duplicate Initials:  CertCapture has state information for a number of countries that have duplicate state initials.
       Washington and Western Australia,Hawaii and HidalgoIf you are creating a customer in Washington, simply include the country as well or use the states full name.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details |
| `customer_number` | string | formData | No | The customer number is a unique number, per company, for a customer. |
| `alternate_id` | string | formData | No | An alternate id for a customer. |
| `name` | string | formData | No | The name of the Customer. |
| `attn_name` | string | formData | No | An optional attention name field for your customer. |
| `address_line1` | string | formData | No | The first line of the customers address. |
| `address_line2` | string | formData | No | The second line of the customers address. |
| `city` | string | formData | No | The city field of the customers address. |
| `zip` | string | formData | No | The zip field of the customers address. |
| `phone_number` | string | formData | No | The phone number for the customer. |
| `fax_number` | string | formData | No | The fax number for the customer. |
| `email_address` | string | formData | No | The email_address of the customer. |
| `contact_name` | string | formData | No | The contact name of the customer. |
| `state` | array | formData | No | The state where the customer resides. |
| `country` | array | formData | No | The country where the customer resides. |

##### Upsert a customer.

`PUT /v2/customers`

Rather than checking to see if a customer record exists before creating, you can make an upsert call instead.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `customer_number` | string | formData | No | The customer number is a unique number, per company, for a customer. |
| `alternate_id` | string | formData | No | An alternate id for a customer. |
| `name` | string | formData | No | The name of the Customer. |
| `attn_name` | string | formData | No | An optional attention name field for your customer. |
| `address_line1` | string | formData | No | The first line of the customers address. |
| `address_line2` | string | formData | No | The second line of the customers address. |
| `city` | string | formData | No | The city field of the customers address. |
| `zip` | string | formData | No | The zip field of the customers address. |
| `phone_number` | string | formData | No | The phone number for the customer. |
| `fax_number` | string | formData | No | The fax number for the customer. |
| `email_address` | string | formData | No | The email_address of the customer. |
| `contact_name` | string | formData | No | The contact name of the customer. |
| `state` | array | formData | No | The state where the customer resides. |
| `country` | array | formData | No | The country where the customer resides. |

##### Generate a customer number.

`POST /v2/customers/generate-customer-number`

Use this to have the system generate a new incremental customer number.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details |

##### Retrieve a customer.

`GET /v2/customers/{id}`

Retrieve a customer record from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the customer record you which to obtain. |

##### Update a customer.

`PUT /v2/customers/{id}`

Update a customer record for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the customer object |
| `customer_number` | string | formData | No | The customer number is a unique number, per company, for a customer. |
| `alternate_id` | string | formData | No | An alternate id for a customer. |
| `name` | string | formData | No | The name of the Customer. |
| `attn_name` | string | formData | No | An optional attention name field for your customer. |
| `address_line1` | string | formData | No | The first line of the customers address. |
| `address_line2` | string | formData | No | The second line of the customers address. |
| `city` | string | formData | No | The city field of the customers address. |
| `zip` | string | formData | No | The zip field of the customers address. |
| `phone_number` | string | formData | No | The phone number for the customer. |
| `fax_number` | string | formData | No | The fax number for the customer. |
| `email_address` | string | formData | No | The email_address of the customer. |
| `contact_name` | string | formData | No | The contact name of the customer. |
| `state` | array | formData | No | The state where the customer resides. |
| `country` | array | formData | No | The country where the customer resides. |

##### Delete a customer.

`DELETE /v2/customers/{id}`

Delete a customer record from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object you wish to delete. |

##### Retrieve a customers active certificates.

`GET /v2/customers/{id}/active-certificates`

Retrieve a customers active certificates.  Active certificates are generated internally and are read-only.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |

##### Retrieve all attributes.

`GET /v2/customers/{id}/attributes`

Retrieve all attributes for a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Associate attributes to a customer.

`PUT /v2/customers/{id}/attributes`

Associate attributes to a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `attributes` | array | query | Yes | Need to pass in the customer attribute id that you want to associate with your customer.  To get a list, use /v2/customer-attributes. |

##### Remove a customer attribute from a customer.

`DELETE /v2/customers/{id}/attributes`

Remove a customer attribute from a customer.  Note - This breaks the association, but does not delete the customer attribute from the system.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `attributes` | array | query | Yes | Need to pass in the attribute id that you want to associate with your customer. |

##### Associate a billto customer to a customer.

`PUT /v2/customers/{id}/billto`

Associate a customer to a customer, in a bill to relationship.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `bill_tos` | array | query | Yes | Need to pass in the customer id that you want to associate with your customer. |

##### Unassociate a billto customer.

`DELETE /v2/customers/{id}/billto`

Unassociate a billto customer from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `bill_tos` | array | query | Yes | Need to pass in the customer id that you want to associate with your customer. |

##### Retrieve all billto customers associated with a customer.

`GET /v2/customers/{id}/billtos`

Retrieve all billto customers, and their data, associated with a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Retrieve all certificates for a customer.

`GET /v2/customers/{id}/certificates`

Retrieve all certificates, and associated data, for a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |

##### Associate a certificate to a customer.

`PUT /v2/customers/{id}/certificates`

Associate a certificate to a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `certificates` | array | query | Yes | Need to pass in the certificates id that you want to associate with your customer. |

##### Unassociate a certificate.

`DELETE /v2/customers/{id}/certificates`

Unassociate a certificate from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `certificates` | array | query | Yes | Need to pass in the certificate id that you want to unassociate from your customer. |

##### Retrieve all custom-fields associated with a customer.

`GET /v2/customers/{id}/custom-fields`

Retrieve all custom-fields, and their data points, associated with a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Associate a custom-field to a customer.

`PUT /v2/customers/{id}/custom-fields`

Associate a custom-field to a customer.  You can use this endpoint to both add a value to a custom-field, as well as update a custom-fields value.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `custom_fields` | array | query | Yes | Need to pass in the custom field id and it's value that you want to associate with your customer. |

##### Delete a custom field.

`DELETE /v2/customers/{id}/custom-fields`

Delete a custom field from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `custom_fields` | array | query | Yes | Need to pass in the custom field id. |

##### Retrieve a customers exempt-reasons.

`GET /v2/customers/{id}/exempt-reasons`

Retrieve all exempt-reasons associated with a customer.  Note - Exempt Reasons are generated internally and are read-only

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Retrieve a customers exposure-zones.

`GET /v2/customers/{id}/exposure-zones`

Retrieve all exposure-zones associated with a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Associate an exposure zone with a customer.

`PUT /v2/customers/{id}/exposure-zones`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `exposure_zones` | array | query | Yes | Need to pass in the exposure-zone id that you want to add your customer.  NOTE:  When testing below, you will need to wrap the object in [ ]'s. |

##### Remove an exposure-zone from a customer.

`DELETE /v2/customers/{id}/exposure-zones`

Remove an exposure-zone from a customer.  NOTE - This does not remove the exposure zone from the system.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `exposure_zones` | array | query | Yes | Need to pass in the exposure-zone id that you want to remove from your customer. |

##### Retrieve all histories associated with a customer.

`GET /v2/customers/{id}/histories`

Retrieve all histories associated with a customer.  Histories are generated internally and are read-only.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Retrieve a customers inactive certificates.

`GET /v2/customers/{id}/inactive-certificates`

Retrieve a customers inactive certificates.  Inactive certificates are generated internally and are read-only.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |

##### Retrieve all jobs for a customer.

`GET /v2/customers/{id}/jobs`

Retrieve all jobs for a customer from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |

##### Associate a job with a customer.

`POST /v2/customers/{id}/jobs`

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |
| `jobs` | array | query | Yes | Need to pass in the jobs id that you want to associate with your customer. |

##### Remove a job.

`DELETE /v2/customers/{id}/jobs`

Remove a job from a customer. Note - Pass in Jobs object w Job ID to delete:  jobs=[{"id":"1"}]

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |
| `jobs` | array | query | Yes | Need to pass in the jobs id that you want to remove from your customer. |

##### Retrieve all logs for a customer.

`GET /v2/customers/{id}/logs`

Retrieve all logs for a customer from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |

##### Create a customer log.

`POST /v2/customers/{id}/logs`

Create a log and attach it to a customer.  Note:  Pass in log object, with account and entry:  logs=[{"account":"api log name", "entry":"test entry one"}]

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |
| `logs` | array | query | Yes | Need to pass in the account used to create the log, and the entry itself, that you want to associate with your customer. |

##### Delete a customer log.

`DELETE /v2/customers/{id}/logs`

Delete a log from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |
| `logs` | array | query | Yes | Need to pass in the jobs id that you want to associate with your certificate. |

##### Retrieve all manual-overrides for a customer.

`GET /v2/customers/{id}/manual-overrides`

Retrieve all manual-overrides a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Create a customer manual-override.

`POST /v2/customers/{id}/manual-overrides`

Create a customer manual-override.  You will need to provide the following:  license_number, exposure_zone_id, tax_code_id.  Note:  n the certcapture system exempt reasons are considered tax codes. So please provide an exposure_zone_id and a tax_code_id when creating a customer manual tax override.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `manual_overrides` | array | query | Yes | Need to pass in the certificate id that you want to unassociate from your customer. |

##### Delete a manual-override.

`DELETE /v2/customers/{id}/manual-overrides`

Delete a manual-overrides from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer object. |
| `manual_overrides` | array | query | Yes | Need to pass in the manual overrides id that you want to unassociate from your customer. |

##### Retrieve all same-as customers.

`GET /v2/customers/{id}/same-as`

Retrieve all same-as customers associated with a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Associate a same-as customer to a customer.

`PUT /v2/customers/{id}/same-as`

Associate a customer with a customer, in a same-as relationship.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `same_as` | array | query | Yes | Need to pass in the customer number that you want to set as a same-as customer with your customer. |

##### Unassociate a same-as customer.

`DELETE /v2/customers/{id}/same-as`

Unassociate a same-as customer from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `same-as` | array | query | Yes | Need to pass in the same-as id that you want to unassociate with your customer. |

##### Retrieve all shipto customers associated with a customer.

`GET /v2/customers/{id}/shiptos`

Retrieve all shipto customers, and their associated data, from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Associate a customer to a customer.

`PUT /v2/customers/{id}/shiptos`

Associate a customer to another customer, as a ship to customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `ship_tos` | array | query | Yes | Need to pass in the customer id that you want to associate with your customer. |

##### Unassociate a customer from a customer.

`DELETE /v2/customers/{id}/shiptos`

Unassociate a ship to customer from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `ship_tos` | array | query | Yes | Need to pass in the customer id that you want to unassociate with your customer. |

##### Retrieve all shipto states associated with a customer.

`GET /v2/customers/{id}/shiptostates`

Retrieve all shipto states, and their data, associated with a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |

##### Associate a shipto state to a customer.

`PUT /v2/customers/{id}/shiptostates`

Associate a state to a customer as a ship to state.  NOTE: Adding and removing Ship-to States will automatically Add and Remove Exposure Zones associated with that State that have the auto_ship_to value set to true.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `ship_to_states` | array | query | Yes | Need to pass in the state name that you want to set as shipto state for your customer. |

##### Unassociate a shipto state from a customer.

`DELETE /v2/customers/{id}/shiptostates`

Unassociate a shipto state from a customer.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the customer. |
| `ship_to_states` | array | query | Yes | Need to pass in the shipto state id that you want to unassociate with your customer. |


#### Exempt Reason

##### Retrieve all exempt reasons.

`GET /v2/exempt-reasons`

Retrieve all the exempt reasons for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create an exempt reason.

`POST /v2/exempt-reasons`

Create an exempt reason for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `name` | string | formData | No | The name of the Exempt Reason. |
| `description` | string | formData | No | The description of the Exempt Reason. |
| `denotes_exposure` | boolean | formData | No | Designates if the Exempt Reason denotes a exposure. |
| `denotes_exemption` | boolean | formData | No | Designates if the Exempt Reason denotes a exemption. |
| `use_in_data_entry` | boolean | formData | No | Designates if the Exempt Reason is used in data entry. |
| `use_in_default_search` | boolean | formData | No | Designates if the Exempt Reason is used in default search. |
| `active_exposure` | boolean | formData | No | Designates if the Exempt Reason is active or not. |
| `mark_actual` | boolean | formData | No | Designates if the Exempt Reason is active or not. |
| `system_code` | boolean | formData | No | Designates if the Exempt Reason was system generated or not.. |
| `tag` | boolean | formData | No | Designates the name of the tag |
| `enabled` | boolean | formData | No | Designates if the Exempt Reason is active or not. |
| `document_types` | object | formData | No | The document type of the exempt reason. |

##### Retrieve an exempt reason.

`GET /v2/exempt-reasons/{id}`

Retrieve an exempt reason for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the exempt reason you want to retrieve. |

##### Update an exempt reason.

`PUT /v2/exempt-reasons/{id}`

Update an exempt reason for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the exempt reason you wish to update |
| `name` | string | formData | No | The name of the Exempt Reason. |
| `description` | string | formData | No | The description of the Exempt Reason. |
| `denotes_exposure` | boolean | formData | No | Designates if the Exempt Reason denotes a exposure. |
| `denotes_exemption` | boolean | formData | No | Designates if the Exempt Reason denotes a exemption. |
| `use_in_data_entry` | boolean | formData | No | Designates if the Exempt Reason is used in data entry. |
| `use_in_default_search` | boolean | formData | No | Designates if the Exempt Reason is used in default search. |
| `active_exposure` | boolean | formData | No | Designates if the Exempt Reason is active or not. |
| `mark_actual` | boolean | formData | No | Designates if the Exempt Reason is active or not. |
| `system_code` | boolean | formData | No | Designates if the Exempt Reason was system generated or not.. |
| `tag` | boolean | formData | No | Designates the name of the tag |
| `enabled` | boolean | formData | No | Designates if the Exempt Reason is active or not. |
| `document_types` | object | formData | No | The document type of the exempt reason. |

##### Delete an exempt reason.

`DELETE /v2/exempt-reasons/{id}`

Delete an exempt reason from an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the exempt reason object. |

##### Retrieve the document type.

`GET /v2/exempt-reasons/{id}/document-types`

Retrieve the document types of an exempt reason.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the exempt reason whose document type you want to view. |

##### Update a document type.

`PUT /v2/exempt-reasons/{id}/document-types`

Update the document type of an exempt reason.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the exempt reason object you wish to update. |
| `document_types` | array | formData | No | The document type associated with the exempt reason. |

##### Delete a document type from an exempt reason.

`DELETE /v2/exempt-reasons/{id}/document-types`

Delete a document type from an exempt reason.  Note - If you remove all document types from an exempt reason, it will no longer display in the UI.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the exempt reason document type object. |
| `document_types` | array | formData | No | The document type associated with the exempt reason. |


#### Exposure Zones

##### Retrieve all exposure zones

`GET /v2/exposure-zones`

Retrieve all exposure zones for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID. |

##### Create an exposure zone.

`POST /v2/exposure-zones`

Create a new exposure zone for a company.  NOTE: Creating an Exposure Zone without a Document Type or removing an Exposure Zone's Document Type will cause it to be hidden from the CertCapture UI.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `name` | string | formData | No | The name of the Exposure Zone. |
| `description` | string | formData | No | The description of the Exposure Zone. |
| `auto_ship_to` | boolean | formData | No | If enabled, will add a corresponding ship to state when this exempt reason is used. |
| `tag` | string | formData | No | A short description of the exposure zone. |
| `state` | object | formData | No | The document type of the invalid reason. |
| `country` | object | formData | No | CertCaptures COUNTRY model |

##### Retrieve an exposure zone.

`GET /v2/exposure-zones/{id}`

Retrieve an exposure zone from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `id` | integer | path | Yes | The id of the exposure_zone object that you want to get. |

##### Update an exposure zone.

`PUT /v2/exposure-zones/{id}`

NOTE: Creating an Exposure Zone without a Document Type or removing an Exposure Zones Document Type will cause it to be hidden from the CertCapture UI.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID. |
| `id` | integer | path | Yes | The id of the exposure_zone object you want to update. |
| `name` | string | formData | No | The name of the Exposure Zone. |
| `description` | string | formData | No | The description of the Exposure Zone. |
| `auto_ship_to` | boolean | formData | No | If enabled, will add a corresponding ship to state when this exempt reason is used. |
| `tag` | string | formData | No | A short description of the exposure zone. |
| `state` | object | formData | No | The document type of the invalid reason. |
| `country` | object | formData | No | CertCaptures COUNTRY model |

##### Delete an exposure zone.

`DELETE /v2/exposure-zones/{id}`

Delete an exposure zone from a company.  Note - You can not delete an exposure zone that is currently in use.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID -> Company ID. |
| `id` |  | path | Yes | The id of the exposure_zone object you want to delete. |


#### Invalid Reason

##### Retrieve all invalid reasons.

`GET /v2/invalid-reasons`

Retrieve all Invalid Reasons for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a invalid reason.

`POST /v2/invalid-reasons`

Create an invalid reason for an account.  This will be shared with all companies/clients of the account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `name` | string | formData | Yes | The name of the Invalid Reason. |
| `description` | string | formData | Yes | The description of the Invalid Reason. |
| `document_types` | object | formData | Yes | The document type of the invalid reason. |

##### Retrieve an invalid reason.

`GET /v2/invalid-reasons/{id}`

Retrieving an invalid reason from an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the invalid reason. |

##### Update an invalid reason.

`PUT /v2/invalid-reasons/{id}`

Update an invalid reason for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the invalid reason |
| `name` | string | formData | Yes | The name of the Invalid Reason. |
| `description` | string | formData | Yes | The description of the Invalid Reason. |
| `document_types` | object | formData | Yes | The document type of the invalid reason. |

##### Delete an invalid reason.

`DELETE /v2/invalid-reasons/{id}`

Delete an invalid reason from an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the invalid reason object. |

##### Retrieve an invalid reasons document type.

`GET /v2/invalid-reasons/{id}/document-types`

Retrieving the document type of an invalid reason.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the invalid reason. |

##### Update the document type for an invalid reason.

`PUT /v2/invalid-reasons/{id}/document-types`

Update the document type of an invalid reason for an account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the invalid reason that you want to update. |
| `document_types` | array | query | Yes | Need to pass in the document type id that you want to update your invalid reason with. |

##### Remove the document type from an invalid reason.

`DELETE /v2/invalid-reasons/{id}/document-types`

Remove the document type from an invalid reason in an account.  Note - Removing document types from an invalid reason will make the invalid reason not appear in the UI.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the invalid reason document type object. |
| `document_types` | array | query | Yes | Need to pass in the document_types id that you want to remove from  your invalid reason. |


#### Jobs

##### Retrieve all jobs.

`GET /v2/jobs`

Retrieve all jobs, and their associated details, for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a job.

`POST /v2/jobs`

Create a job for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The job object you wish to create. |

##### Retrieve a job.

`GET /v2/jobs/{id}`

Retrieve a job, and all its associated details.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the job object. |

##### Update a job.

`PUT /v2/jobs/{id}`

Update a jobs details.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the job object |
| `body` |  | body | No | The job object you wish to update. |

##### Delete a job.

`DELETE /v2/jobs/{id}`

Delete a job from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the job object. |


#### Exemption Matrix

##### Retrieve the details from the exemption matrix.

`GET /v2/matrix`

Get all data elements from the exemption matrix.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Get a single matrix element from the exemption matrix.

`GET /v2/matrix/{id}`

Get all the information for a specific exposure zone, exempt reason data set, from the exemption matrix.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the matrix object. |


#### Requests

##### Get a list of all of the requests.

`GET /v2/requests`

Get a list of all of the requests for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a request - Send Cover Letter Only.

`POST /v2/requests`

Create a request - Send Cover Letter Only.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The request object you wish to create. |

##### Get request.

`GET /v2/requests/{id}`

Get all information for a request by its id.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |


#### States

##### Retrieve all states.

`GET /v2/states`

Retrieve all the states, and their associated details for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a state.

`POST /v2/states`

Create a state for a specific company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The state object you wish to update. |

##### Retrieve a state.

`GET /v2/states/{id}`

Retrieve a state and all its associated details, from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the state object. |

##### Update a state.

`PUT /v2/states/{id}`

Update the details for a state.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the state object |
| `body` |  | body | No | The state object you wish to update. |

##### Delete a state.

`DELETE /v2/states/{id}`

Delete a state from a company.  NOTE:  You can not delete a state that is in use.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The id of the state object. |


#### Webportal Accounts

##### Retrieve all webportal accounts.

`GET /v2/webportal-accounts`

Retrieve all webportal-accounts for a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access your companies client ID, it is available from Company Settings -> Company Details -> Company ID |

##### Create a webportal account.

`POST /v2/webportal-accounts`

Create a webportal account, for CertExpress, to provide to your customers.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `body` |  | body | No | The webportal account object you wish to create. |

##### Retrieve a webportal account.

`GET /v2/webportal-accounts/{id}`

Retrieve the details of a webportal account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The system generated id of the webportal account. |

##### Update a webportal account.

`PUT /v2/webportal-accounts/{id}`

Update the details of a webportal account.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` | integer | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` | integer | path | Yes | The id of the webportal account. |
| `body` |  | body | No | The webportal account object you wish to update. |

##### Delete a webportal account.

`DELETE /v2/webportal-accounts/{id}`

Delete a webportal account from a company.

**Parameters:**

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-client-id` |  | header | Yes | To access a client ID, it is available from Company Settings -> Company Details -> Company ID |
| `id` |  | path | Yes | The system generated id of the webportal account |

### Models

#### AttributeGroups

Attribute-Groups Model

| Property | Type | Description |
|---|---|---|
| `created` | string | DateTime of when the record was created. |
| `description` | string | The description of the Attribute Group. |
| `id` | integer | System Generated Attribute Group id |
| `modified` | string | DateTime of when the record was modified. |
| `name` | string | The name of the Attribute Group. |
| `system_code` | string | Designates if the attribute group was created when the account was created. |

#### AttributeGroupsResource

CertCapture Attribute-Groups resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### AttributeResource

CertCapture resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### Attributes

Attributes Model

| Property | Type | Description |
|---|---|---|
| `attribute_group_id` | integer | System Generated Attribute Group id. |
| `description` | string | The description of the Attribute. |
| `name` | string | The name of the Attribute. |

#### AttributesResponse

Attributes Response Model

| Property | Type | Description |
|---|---|---|
| `attribute_group_id` | integer | System Generated Attribute Group id. |
| `created` | string | DateTime of when the record was created. |
| `description` | string | The description of the Attribute. |
| `id` | integer | System Generated Attributes id |
| `modified` | string | DateTime of when the record was modified. |
| `name` | string | The name of the Attribute. |
| `system_code` | boolean | States if the Attribute was system generated or not. |

#### BearerTokenGet

The CertCapture API can also handle authentication by Bearer token, you will still need a username/password to generate a token and that token will last for an hour.
       NOTE: This authentication method cannot be used for eCommerce plugin, please refer eCommerce Token section to generate eCommerce token using API user credentials.

| Property | Type | Description |
|---|---|---|
| `response` | array |  |

#### BearerTokenRefresh

The CertCapture API can also handle authentication by Bearer token, you will still need a username/password to generate a token and that token will last for an hour.
       NOTE: This authentication method cannot be used for eCommerce plugin, please refer eCommerce Token section to generate eCommerce token using API user credentials.

| Property | Type | Description |
|---|---|---|
| `response` | array |  |

#### Certificate

Certificate Model

| Property | Type | Description |
|---|---|---|
| `expected_tax_code` | array | The expected tax code of the certificate. |
| `expiration_date` | string | Date of when the record expires. |
| `exposure_zone` | array | The exposure zone that the certificate covers. |
| `filename` | string | The certificate file name that was uploaded. |
| `is_single` | boolean | Designates if certificate is single. |
| `signed_date` | string | Date of when the record was signed. |
| `tax_number` | string | The tax number for the certificate. |
| `tax_number_type` | string | The type of tax number being provided. |
| `valid` | boolean | Designates if a certificate is valid. |

#### CertificateAttribute

Certificate Attribute Model

| Property | Type | Description |
|---|---|---|
| `description` | string | The description of the Certificate Attribute. |
| `id` | integer | System Generated Certificate Attribute id |
| `name` | string | The name of the Certificate Attribute. |
| `system_code` | boolean | Designates if the Certificate Attribute was system generated or not. |

#### CertificateAttributeResource

CertCapture Certificate Attribute resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateCustomFields

Certificate Custom Fields

| Property | Type | Description |
|---|---|---|
| `client_id` | integer | The internal id of the client |
| `document_type_id` | integer | ID corresponding with the document type |
| `field_name` | string | The field name of the custom field. |
| `id` | integer | System Generated Record ID |
| `legacy_field` | string |  |
| `legacy_field_internal_name` | string |  |
| `possible_values` | string |  |
| `required_in_data_entry` | boolean | Indicates if data entry requires custom field. |
| `type` | string | The type of custom field. |
| `uses_data_entry` | boolean | Indicates if data entry uses custom field. |
| `uses_gencert` | boolean | Indicates if custom fields is used in gencert. |
| `value` | string | Custom field value |

#### CertificateCustomFieldsResource

CertCapture certificate custom fields resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateGetHistory

Certificate Model

| Property | Type | Description |
|---|---|---|
| `account` | string | Account name of the user that made the change. |
| `created` | string | DateTime of when the record was created. |
| `field` | string | Field of certificate that was changed. |
| `new_value` | string | New value of the field. |
| `old_value` | string | Previous value of field. |

#### CertificateGetHistoryResource

CertCapture certificate get history resource

| Property | Type | Description |
|---|---|---|
| `data` | CertificateGetHistory |  |

#### CertificateGetImage

Certificate Get Image Model

| Property | Type | Description |
|---|---|---|
| `` | string |  |

#### CertificateGetImageResource

CertCapture certificate get image resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateGetMulti

Certificate Model

| Property | Type | Description |
|---|---|---|
| `certificate` | Certificate |  |
| `certificate_id` | integer | System Generated certificate id. |
| `glue_id` | integer | System Generated glue id. |
| `id` | integer | System Generated Certificate id. |
| `represented_by` | integer | ID of the represented by jurisdiction. |

#### CertificateGetMultiResource

CertCapture certificate get multi resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateGetPdf

Certificate Get Pdf Model

| Property | Type | Description |
|---|---|---|
| `` | string |  |

#### CertificateGetPdfResource

CertCapture certificate get pdf resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateLog

Certificate Log Model

| Property | Type | Description |
|---|---|---|
| `account` | string | The user account whose actions generated the log. |
| `certificate_id` | integer | The internal id of the certificate |
| `created` | string | DateTime of when the record was created. |
| `entry` | string | The log entry text. |
| `id` | integer | System Generated Record ID |
| `log_type` | array | The type of log being generated. |

#### CertificateLogResource

CertCapture certificate log resource

| Property | Type | Description |
|---|---|---|
| `data` | object | Data wrapper |

#### CertificatePoNumber

Certificate Po-Number Model

| Property | Type | Description |
|---|---|---|
| `certificate_id` | integer | The id for the certificate. |
| `id` | integer | System Generated Record ID |
| `po_number` | string | The po-number for the certificate. |

#### CertificatePoNumberResource

CertCapture certificate Po-numbers resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateResource

CertCapture certificate resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateResponse

Certificate Response Model

| Property | Type | Description |
|---|---|---|
| `actual_tax_code` | array | The actual tax code of the certificate. |
| `anonymous_customer_id` | integer | The id of the anonymous customer who created this certificate, if applicable. |
| `barcode_read` | boolean | Used to indicate if this certificate contains a barcode for the system to read. |
| `business_number` | integer | business number associated with certificate. |
| `business_number_type` | string | From the SST form, the purchaser's type of business selected |
| `calc_id` | integer | id associated with calc account. |
| `certificate_number` | string | The certificate number. |
| `client_id` | integer | The system generated company id. |
| `communication_id` | integer |  |
| `created` | string | DateTime of when the record was created. |
| `document_type` | array | Designates the document type. |
| `exempt_reason_description` | string | From the SST form, reason for exemption selected. |
| `exmpt_percent` | number | The percentage that this certificate will exempt. |
| `expected_tax_code` | array | The expected tax code of the certificate. |
| `expiration_date` | string | Date of when the record expires. |
| `exposure_zone` | ExposureZone |  |
| `filename` | string | The certificate file name that was uploaded. |
| `id` | integer | System Generated Certificate id. |
| `is_single` | boolean | Designates if certificate is single. |
| `legacy_certificate_id` | string |  |
| `location_id` | integer | The id of the location, if applicable, where this certificate was generated. |
| `modified` | string | DateTime of when the record was modified. |
| `never_renew` | boolean | Designates if a certificate can be renewed. |
| `page_count` | integer | number of pages certificates contains. |
| `renewable` | boolean | Designates if a certificate can be renewed. |
| `s3_document_exists` | boolean | Designates if certificate exists in s3. |
| `signed_date` | string | Date of when the record was signed. |
| `sst_metadata` | string | The SST data collected |
| `status` | array | Status of the certificate. |
| `tax_number` | string | The tax number used on the certificate. |
| `tax_number_type` | string | The type of tax number used on the certificate. |
| `unused_multi_cert` | boolean |  |
| `valid` | boolean | Designates if a certificate is valid. |
| `verification_number` | string | The verification number used for the certificate. |
| `verified` | boolean | Designates if a certificate has been verified. |

#### CertificateUploadImage

Certificate Upload Pdf Model

| Property | Type | Description |
|---|---|---|
| `` | string |  |

#### CertificateUploadImageResource

CertCapture certificate image upload

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CertificateUploadPdf

Certificate Upload Pdf Model

| Property | Type | Description |
|---|---|---|
| `` | string |  |

#### CertificateUploadPdfResource

CertCapture certificate pdf upload

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### Client

Client Model

| Property | Type | Description |
|---|---|---|
| `active` | boolean | Designates if the company is active or not. |
| `avalara_avatax_company_id` | integer |  |
| `avatax_account_id` | integer | The id of the Avatax account this is associated with |
| `avatax_company_id` | integer | The id of the Avatax company this is associated with. |
| `company_id` | integer |  |
| `created` | string | DateTime of when the record was created. |
| `display_name` | string | Company name. |
| `id` | integer | System Generated Client id |
| `modified` | string | DateTime of when the record was modified. |
| `test` | boolean | Designates that this is a test company. |

#### ClientsResource

CertCapture Client resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CountriesResource

CertCapture Country resource

| Property | Type | Description |
|---|---|---|
| `data` | CountryResponse |  |

#### Country

Country Model

| Property | Type | Description |
|---|---|---|
| `abbreviation` | string | The 3 digit abbreviation for the Country. |
| `initials` | string | The 2 digit initials for the Country. |
| `name` | string | The name of the Country. |

#### CountryResponse

Country Response Model

| Property | Type | Description |
|---|---|---|
| `abbreviation` | string | The 3 digit abbreviation for the Country. |
| `id` | integer | System Generated Country id |
| `initials` | string | The 2 digit initials for the Country. |
| `name` | string | The name of the Country. |

#### CoverLetter

Cover Letter Model

| Property | Type | Description |
|---|---|---|
| `active` | boolean | Status of Cover Letter |
| `client_id` | integer | ID of the client in context |
| `created` | string | Timestamp of when cover letter was generated |
| `description` | string | Description of the Cover Letter |
| `id` | integer | System Generated Cover Letter id |
| `modified` | string | Timestamp of when cover letter was last updated |
| `page_count` | integer | Count of Cover Letter Pages |
| `subject` | string | The subject of the Cover Letter |
| `template_filename` | string | The filename of the cover letter template, if applicable. |
| `title` | string | Title of the Cover Letter |

#### CoverLetterResource

CertCapture cover letter resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CoverLetterResponse

Cover Letter Response Model

| Property | Type | Description |
|---|---|---|
| `active` | boolean | Status of Cover Letter |
| `client_id` | integer | ID of the client in context |
| `created` | string | Timestamp of when cover letter was generated |
| `description` | string | Description of the Cover Letter |
| `id` | integer | System Generated Cover Letter id |
| `modified` | string | Timestamp of when cover letter was last updated |
| `page_count` | integer | Count of Cover Letter Pages |
| `subject` | string | The subject of the Cover Letter |
| `template_filename` | string | The filename of the cover letter template, if applicable. |
| `title` | string | Title of the Cover Letter |

#### Customer

Customer Model

| Property | Type | Description |
|---|---|---|
| `address_line1` | string | The first line of the customers address. |
| `address_line2` | string | The second line of the customers address. |
| `alternate_id` | string | An alternate id for a customer. |
| `attn_name` | string | An optional attention name field for your customer. |
| `city` | string | The city field of the customers address. |
| `contact_name` | string | The contact name of the customer. |
| `country` | array | The country where the customer resides. |
| `customer_number` | string | The customer number is a unique number, per company, for a customer. |
| `email_address` | string | The email_address of the customer. |
| `fax_number` | string | The fax number for the customer. |
| `name` | string | The name of the Customer. |
| `phone_number` | string | The phone number for the customer. |
| `state` | array | The state where the customer resides. |
| `zip` | string | The zip field of the customers address. |

#### CustomerActiveCertificateResource

The object returned from the /v2/customers/{id}/active-certificates call.  This is read-only.  If you need to create a certificate, use the Certificate model.

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CustomerActiveCertificates

Get a customer's active certificates.  Note - Active certificates are generated internally and are read-only.

| Property | Type | Description |
|---|---|---|
| `actual_tax_code` | array | The tax_code for a certificate.. |
| `actual_tax_number` | string | The tax number for a certificate. |
| `certificate` | array | The certificate details. |
| `created` | string | DateTime of when the record was created. |
| `expected_tax_code` | array | The last known tax_code for a certificate.. |
| `expected_tax_number` | string | The last known tax number for a certificate. |
| `exposure_zone` | array | The exposure zone that a certificate covers. |
| `id` | integer | System Generated ID |
| `modified` | string | DateTime of when the record was last modified. |

#### CustomerAttribute

Customer Attribute Model

| Property | Type | Description |
|---|---|---|
| `changeable` | boolean | Designates if the Customer Attribute is changeable or not. |
| `description` | string | The description of the Customer Attribute. |
| `id` | integer | System Generated Customer Attribute id |
| `name` | string | The name of the Customer Attribute. |
| `nondeliver` | boolean | Designates if the Customer Attribute is non-deliverable or not. |
| `system_code` | boolean | Designates if the Customer Attribute Designates was system generated or not. |

#### CustomerAttributeResource

CertCapture Customer Attribute resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CustomerCertificate

The object returned from the /v2/customers/{id}/certificates call.  The certificate nodel w customer pivot points is returned.  Note - to create a new certificate, you will need to use the Certificate Model.

| Property | Type | Description |
|---|---|---|
| `actual_tax_code` | array | The actual tax code of the certificate. |
| `anonymous_customer_id` | integer |  |
| `barcode_read` | boolean |  |
| `business_number` | integer | business number associated with certificate. |
| `business_number_type` | string |  |
| `calc_id` | integer | id associated with calc account. |
| `certificate_number` | string |  |
| `client_id` | integer | The system generated company id. |
| `communication_id` | integer |  |
| `created` | string | DateTime of when the record was created. |
| `direct` | boolean |  |
| `document_type` | array | Designates the document type. |
| `exempt_reason_description` | string |  |
| `exmpt_percent` | number |  |
| `expected_tax_code` | array | The expected tax code of the certificate. |
| `expiration_date` | string | Date of when the record expires. |
| `explicit` | boolean |  |
| `exposure_zone` | ExposureZone |  |
| `filename` | string | The certificate file name that was uploaded. |
| `id` | integer | System Generated Certificate id. |
| `is_single` | boolean | Designates if certificate is single. |
| `legacy_certificate_id` | string |  |
| `location_id` | integer |  |
| `modified` | string | DateTime of when the record was modified. |
| `never_renew` | boolean | Designates if a certificate can be renewed. |
| `page_count` | integer | number of pages certificates contains. |
| `renewable` | boolean | Designates if a certificate can be renewed. |
| `s3_document_exists` | boolean | Designates if certificate exists in s3. |
| `signed_date` | string | Date of when the record was signed. |
| `sst_metadata` | string |  |
| `status` | array | Status of the certificate. |
| `tax_number` | string |  |
| `tax_number_type` | string |  |
| `unused_multi_cert` | boolean |  |
| `valid` | boolean | Designates if a certificate is valid. |
| `verification_number` | string |  |
| `verified` | boolean | Designates if a certificate has been verified. |

#### CustomerCertificateResource

CertCapture customer certificate resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CustomerCustomField

Customer Custom Fields

| Property | Type | Description |
|---|---|---|
| `client_id` | integer | The internal id of the client |
| `field_name` | string | The field name of the custom field. |
| `gencert_lock` | boolean |  |
| `id` | integer | System Generated Record ID |
| `is_editable` | boolean | Indicates if the custom field can be edited. |
| `system_code` | boolean | Indicates if the custom field is a system code. |
| `type` | string | The type of custom field. |
| `uses_gencert` | boolean | Indicates if the custom field will be included in gencert. |
| `value` | string | The value of the custom field. |

#### CustomerExemptReason

The object returned by /v2/customers/{id}/exempt-reasons.

| Property | Type | Description |
|---|---|---|
| `actual_tax_code` | array |  |
| `actual_tax_number` | string | Current Tax Number |
| `certificate` | Certificate |  |
| `created` | string | Date-Time when the record was created |
| `expected_tax_code` | array |  |
| `expected_tax_number` | string | Previous Tax Number |
| `exposure_zone` | array | The jurisdiction the exempt reason is tied to. |
| `id` | integer | System Generated id |
| `modified` | string | Date-Time when the record was last modified |

#### CustomerGenerateCustomerNumber

Customer Model

| Property | Type | Description |
|---|---|---|
| `customer_number` | string | System Generated Customer Number |

#### CustomerGenerateCustomerNumberResource

CertCapture generate customer number resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CustomerLog

Customer Log Model

| Property | Type | Description |
|---|---|---|
| `logs` | array | The log entry you want to create. |

#### CustomerLogResource

CertCapture customer log resource

| Property | Type | Description |
|---|---|---|
| `data` | CustomerLogResponse |  |

#### CustomerLogResponse

Customer Log Response Model

| Property | Type | Description |
|---|---|---|
| `account` | string | The user account whose actions generated the log. |
| `created` | string | DateTime of when the record was created. |
| `customer_id` | integer | The internal id of the customer |
| `entry` | string | The log entry text. |
| `id` | integer | System Generated Record ID |
| `log_type` | array | The type of log being generated. |

#### CustomerManualOverride

Customer Manual Override Model

| Property | Type | Description |
|---|---|---|
| `created` | string | DateTime of when the record was created. |
| `effective_date` | string | The date of when the manual override begins. |
| `exempt_reason` | array | The exempt reason for the manual override. |
| `expiration_date` | string | The date of when the manual override ends. |
| `exposure_zone` | array | CertCaptures exposure zone model |
| `id` | integer | System Generated ID |
| `license_number` | string | The license number associated with the manual override. |
| `log` | CustomerLog |  |

#### CustomerManualOverrideResource

CertCapture customer log resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### CustomerRequests

Customer Requests

| Property | Type | Description |
|---|---|---|
| `address_line1` | string | The first line of the customers address. |
| `address_line2` | string | The second line of the customers address. |
| `alternate_id` | string | An alternate id for a customer. |
| `attn_name` | string | An optional attention name field for your customer. |
| `city` | string | The city field of the customers address. |
| `client_id` | integer | The system generated company id. |
| `contact_name` | string | The contact name of the customer. |
| `created` | string | DateTime of when the record was created. |
| `customer_number` | string | The customer number is a unique number, per company, for a customer. |
| `email_address` | string | The email_address of the customer. |
| `fax_number` | string | The fax number for the customer. |
| `fein_number` | string | The customers fein number. |
| `id` | integer | System Generated Customer id |
| `is_bill` | boolean | Designates if the customer is a bill to customer or not. |
| `is_ship` | boolean | Designates if the customer is a ship to customer or not. |
| `is_vendor` | boolean | States whether or not the customer record is a vendor record. |
| `last_transaction` | string | An optional field for adding the date of your last transaction with this customer.  This is NOT tied to AvaTax. |
| `location_id` | integer | The location id of the customer.  Only generated when customer is created via Retail, with a location setup. |
| `modified` | string | DateTime of when the record was modified. |
| `name` | string | The name of the Customer. |
| `phone_number` | string | The phone number for the customer. |
| `welcome_letter_status` | string | The status on the Welcome Letter (option not enabled by default.) |
| `zip` | string | The zip field of the customers address. |

#### CustomerResource

CertCapture customer resource

| Property | Type | Description |
|---|---|---|
| `data` | CustomerResponse |  |

#### CustomerResponse

Customer Response Model

| Property | Type | Description |
|---|---|---|
| `address_line1` | string | The first line of the customers address. |
| `address_line2` | string | The second line of the customers address. |
| `alternate_id` | string | An alternate id for a customer. |
| `attn_name` | string | An optional attention name field for your customer. |
| `city` | string | The city field of the customers address. |
| `client_id` | integer | The system generated company id. |
| `contact_name` | string | The contact name of the customer. |
| `country` | Country |  |
| `created` | string | DateTime of when the record was created. |
| `customer_number` | string | The customer number is a unique number, per company, for a customer. |
| `email_address` | string | The email_address of the customer. |
| `fax_number` | string | The fax number for the customer. |
| `fein_number` | string | The customers fein number. |
| `id` | integer | System Generated Customer id |
| `is_bill` | boolean | Designates if the customer is a bill to customer or not. |
| `is_ship` | boolean | Designates if the customer is a ship to customer or not. |
| `is_vendor` | boolean | States whether or not the customer record is a vendor record. |
| `last_transaction` | string | An optional field for adding the date of your last transaction with this customer.  This is NOT tied to AvaTax. |
| `location_id` | integer | The location id of the customer.  Only generated when customer is created via Retail, with a location setup. |
| `modified` | string | DateTime of when the record was modified. |
| `name` | string | The name of the Customer. |
| `phone_number` | string | The phone number for the customer. |
| `state` | State |  |
| `welcome_letter_status` | string | The status on the Welcome Letter (option not enabled by default.) |
| `zip` | string | The zip field of the customers address. |

#### CustomerSameAs

The object returned by /v2/customers/{id}/same-as.

| Property | Type | Description |
|---|---|---|
| `glue_id` | integer |  |
| `id` | integer | System Generated id |
| `same_as_customers` | array |  |

#### DocumentType

Document Type Model

| Property | Type | Description |
|---|---|---|
| `description` | string | The description of the Document Type. |
| `id` | integer | System Generated Document Type id |
| `name` | string | The name of the Document Type. |

#### ECommerceToken

ECommerce Token Model

| Property | Type | Description |
|---|---|---|
| `clientIds` | integer | List of the client ids that the token is good for. |
| `created_at` | string | DateTime of when the token was created. |
| `expires_at` | string | DateTime of when the token expires. |
| `token` | integer | Token created |

#### ECommerceTokenResource

CertCapture eCommerce Token resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### ExemptReason

Exempt Reason Model

| Property | Type | Description |
|---|---|---|
| `active_exposure` | boolean | Designates if the Exempt Reason is active or not. |
| `denotes_exemption` | boolean | Designates if the Exempt Reason denotes a exemption. |
| `denotes_exposure` | boolean | Designates if the Exempt Reason denotes a exposure. |
| `description` | string | The description of the Exempt Reason. |
| `document_types` | object | The document type of the exempt reason. |
| `enabled` | boolean | Designates if the Exempt Reason is active or not. |
| `mark_actual` | boolean | Designates if the Exempt Reason is active or not. |
| `name` | string | The name of the Exempt Reason. |
| `system_code` | boolean | Designates if the Exempt Reason was system generated or not.. |
| `tag` | boolean | Designates the name of the tag |
| `use_in_data_entry` | boolean | Designates if the Exempt Reason is used in data entry. |
| `use_in_default_search` | boolean | Designates if the Exempt Reason is used in default search. |

#### ExemptReasonDocumentType

Exempt Reason Document Type Model

| Property | Type | Description |
|---|---|---|
| `document_types` | array | The document type associated with the exempt reason. |

#### ExemptReasonDocumentTypeResponse

Exempt Reason Document Type Response Model

| Property | Type | Description |
|---|---|---|
| `abbreviation` | string | The abbreviation of the Exempt Reason Document Type. |
| `active` | boolean | States if the Exempt Reason Doc Type is active or not. |
| `description` | string | The description of the Exempt Reason Document Type. |
| `display_order` | integer | The display order of the Exempt Reason Document Type. |
| `id` | integer | System Generated Exempt Reason Document Type id |
| `name` | string | The name of the Exempt Reason Document Type. |
| `outgoing` | boolean | States if the Exempt Reason Doc Type was outgoing or not. |

#### ExemptReasonResource

CertCapture exempt reason resource

| Property | Type | Description |
|---|---|---|
| `data` | ExemptReasonResponse |  |

#### ExemptReasonResponse

Exempt Reason Response Model

| Property | Type | Description |
|---|---|---|
| `active_exposure` | boolean | Designates if the Exempt Reason is active or not. |
| `denotes_exemption` | boolean | Designates if the Exempt Reason denotes a exemption. |
| `denotes_exposure` | boolean | Designates if the Exempt Reason denotes a exposure. |
| `description` | string | The description of the Exempt Reason. |
| `enabled` | boolean | Designates if the Exempt Reason is active or not. |
| `id` | integer | System Generated Exempt Reason id |
| `mark_actual` | boolean | Designates if the Exempt Reason is active or not. |
| `name` | string | The name of the Exempt Reason. |
| `system_code` | boolean | Designates if the Exempt Reason was system generated or not.. |
| `tag` | boolean | Designates the name of the tag |
| `use_in_data_entry` | boolean | Designates if the Exempt Reason is used in data entry. |
| `use_in_default_search` | boolean | Designates if the Exempt Reason is used in default search. |

#### ExposureZone

Exposure Zone Model

| Property | Type | Description |
|---|---|---|
| `auto_ship_to` | boolean | If enabled, will add a corresponding ship to state when this exempt reason is used. |
| `country` | object | CertCaptures COUNTRY model |
| `description` | string | The description of the Exposure Zone. |
| `name` | string | The name of the Exposure Zone. |
| `state` | object | The document type of the invalid reason. |
| `tag` | string | A short description of the exposure zone. |

#### ExposureZoneResource

CertCapture resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### ExposureZoneResponse

Exposure Zone Response Model

| Property | Type | Description |
|---|---|---|
| `attributes` | Attributes |  |
| `auto_ship_to` | boolean |  |
| `country` | Country |  |
| `description` | string | The description of the Exposure Zone. |
| `document_type` | DocumentType |  |
| `id` | integer | System Generated Exposure Zone id |
| `name` | string | The name of the Exposure Zone. |
| `state` | State |  |
| `tag` | string |  |

#### InvalidReason

Invalid Reason Model

| Property | Type | Description |
|---|---|---|
| `description` | string | The description of the Invalid Reason. |
| `document_types` | object | The document type of the invalid reason. |
| `name` | string | The name of the Invalid Reason. |

#### InvalidReasonDocumentType

Invalid Reason Document Type Model

| Property | Type | Description |
|---|---|---|
| `abbreviation` | string | The abbreviation of the Invalid Reason Document Type. |
| `active` | boolean | States if the Invalid Reason Doc Type is active or not. |
| `description` | string | The description of the Invalid Reason Document Type. |
| `display_order` | integer | The display order of the Invalid Reason Document Type. |
| `id` | integer | System Generated Invalid Reason Document Type id |
| `name` | string | The name of the Invalid Reason Document Type. |
| `outgoing` | boolean | States if the Invalid Reason Doc Type was outgoing or not. |

#### InvalidReasonDocumentTypeResponse

Invalid Reason Document Type Response Model

| Property | Type | Description |
|---|---|---|
| `abbreviation` | string | The abbreviation of the Invalid Reason Document Type. |
| `active` | boolean | States if the Invalid Reason Doc Type is active or not. |
| `description` | string | The description of the Invalid Reason Document Type. |
| `display_order` | integer | The display order of the Invalid Reason Document Type. |
| `id` | integer | System Generated Invalid Reason Document Type id |
| `name` | string | The name of the Invalid Reason Document Type. |
| `outgoing` | boolean | States if the Invalid Reason Doc Type was outgoing or not. |

#### InvalidReasonResource

CertCapture invalid reason resource

| Property | Type | Description |
|---|---|---|
| `data` | InvalidReasonResponse |  |

#### InvalidReasonResponse

Invalid Reason Response Model

| Property | Type | Description |
|---|---|---|
| `created` | string | DateTime of when the record was created. |
| `description` | string | The description of the Invalid Reason. |
| `id` | integer | System Generated Invalid Reason id |
| `modified` | string | DateTime of when the record was modified. |
| `name` | string | The name of the Invalid Reason. |
| `system_code` | boolean | Designates if the Invalid Reason is active or not. |

#### Job

Job Model

| Property | Type | Description |
|---|---|---|
| `exposure_zone` | object | CertCaptures exposure zone model |
| `job_number` | string | Customer provided job number. |
| `name` | string | The name of the job. |

#### JobResource

CertCapture job resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### JobResponse

Job Response Model

| Property | Type | Description |
|---|---|---|
| `created` | string | DateTime of when the record was created. |
| `exposure_zone` | ExposureZone |  |
| `id` | integer | System Generated job id |
| `job_number` | string | Customer provided job number. |
| `modified` | string | DateTime of when the record was modified. |
| `name` | string | The name of the job. |

#### Matrix

Matrix Model

| Property | Type | Description |
|---|---|---|
| `api_taxcode` | string |  |
| `exempt_reason` | array | The exempt reason for the matrix. |
| `exposure_zone` | ExposureZone |  |
| `help_content` | string |  |
| `id` | integer | System Generated matrix id |
| `matrix_tax_id` | integer |  |
| `orig_template_file` | string |  |
| `question` | string | The question is used for the exposure zone in the matrix. |
| `set_to_default` | boolean |  |
| `static_file` | string |  |
| `template_tag` | string |  |
| `time_length` | string | The time length is how long until the certificate with the exposure zone expires. |

#### MatrixResource

CertCapture matrix resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### Requests

Requests Model

| Property | Type | Description |
|---|---|---|
| `account_id` | integer | System Generated Account id |
| `campaign_round_id` | integer |  |
| `client_id` | integer | System Generated Client id |
| `cover_letter` | array | The cover letter used in the request. |
| `cover_letter_id` | integer | System Generated Cover Letter id |
| `cover_letters_only` | boolean |  |
| `created` | string | DateTime of when the record was created. |
| `custom_message` | string |  |
| `customer` | Customer |  |
| `customer_id` | integer | System Generated Customer id |
| `customer_sheet` | boolean |  |
| `delivery_method` | string | The delivery method of the request. |
| `document_type_id` | integer | Document Type id for the request |
| `email_address` | string |  |
| `email_signature` | string | Signature for the email. |
| `email_text` | string | Text in the email. |
| `expand_address` | boolean |  |
| `fax_number` | string |  |
| `fax_poll_count` | integer |  |
| `fdfs` | string |  |
| `id` | integer | System Generated request id |
| `include_invalid` | boolean |  |
| `legacy_certificate_received` | string |  |
| `legacy_customer_responded` | string |  |
| `location_id` | integer | System Generated Location id |
| `modified` | string | DateTime of when the record was modified. |
| `return_date` | string |  |
| `single_cert_requests` | boolean |  |
| `status` | string | The status of the request. |
| `version_number` | integer |  |
| `zones` | boolean |  |

#### RequestsResource

CertCapture requests resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### RequestsSendCoverLetterOnly

Requests Model

| Property | Type | Description |
|---|---|---|
| `account_id` | integer | System Generated Account id |
| `client_id` | integer | System Generated Client id |
| `cover_letter` | array | The cover letter used in the request. |
| `cover_letter_id` | integer | System Generated Cover Letter id |
| `created` | string | DateTime of when the record was created. |
| `customer` | CustomerRequests |  |
| `customer_id` | integer | System Generated Customer id |
| `delivery_method` | string | The delivery method of the request. |
| `email_address` | string |  |
| `id` | integer | System Generated request id |
| `modified` | string | DateTime of when the record was modified. |

#### State

States Model

| Property | Type | Description |
|---|---|---|
| `country` | integer | The country the state belongs to. |
| `initials` | string | The states initials. |
| `name` | string | The name of the state. |

#### StateResponse

States Response Model

| Property | Type | Description |
|---|---|---|
| `id` | integer | System Generated State id |
| `initials` | string | The states initials. |
| `name` | string | The name of the state. |

#### StatesResource

CertCapture State resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |

#### WebportalAccount

Webportal Accounts Model

| Property | Type | Description |
|---|---|---|
| `created` | string | DateTime of when the record was created. |
| `customer_number` | string | The customer number associated with the webportal account. |
| `expiration_date` | string | The expiration date of the webportal link. |
| `id` | integer | System Generated webportal account id |
| `modified` | string | DateTime of when the record was modified. |
| `password` | string | The webportal password. |
| `url` | string | The url of the webportal. |

#### WebportalAccountResource

CertCapture WebportalAccount resource

| Property | Type | Description |
|---|---|---|
| `data` | array | Data wrapper |
