# CreateCertExpressInvitation

Create a CertExpress invitation

`POST /api/v2/companies/{companyId}/customers/{customerCode}/certexpressinvites`

**API:** AvaTax API
**Tag:** CertExpressInvites
**API Version:** v2
**Base URL:** https://sandbox-rest.avatax.com/
**Content-Type:** `application/json`
**Accepts:** `application/json`
**Authentication:** API Key (`Authorization` in header) or OAuth 2.0 or Basic (username + license key)

Source: https://developer.avalara.com/products/avatax/api/methods/CertExpressInvites/CreateCertExpressInvitation/

## Description

Creates an invitation for a customer to self-report certificates using the CertExpress website.
            
This invitation is delivered by your choice of method, or you can present a hyperlink to the user
directly in your connector.  Your customer will be redirected to https://app.certexpress.com/ where
they can follow a step-by-step guide to enter information about their exemption certificates.  The
certificates entered will be recorded and automatically linked to their customer record.
            
The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
your company so that they can be used for tax exemptions.
            
Before you can use any exemption certificates endpoints, you must set up your company for exemption certificate data storage.
Companies that do not have this storage system set up will see `CertCaptureNotConfiguredError` when they call exemption
certificate related APIs. To check if this is set up for a company, call `GetCertificateSetup`.  To request setup of exemption
certificate storage for this company, call `RequestCertificateSetup`.

### Security Policies

* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, AvaTaxOnlyAccountAdmin, AvaTaxOnlyAccountUser, AvaTaxOnlyCompanyAdmin, AvaTaxOnlyCompanyUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
* This API depends on the following active services:*Required* (all):  AvaTaxPro, ECMEssentials, ECMPro, ECMPremium, VEMPro, VEMPremium, ECMProComms, ECMPremiumComms.

## Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `companyId` | integer | path | Yes | The unique ID number of the company that will record certificates |
| `customerCode` | string | path | Yes | The number of the customer where the request is sent to |
| `X-Avalara-Client` | string | header | No | Identifies the software you are using to call this API.  For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) . |

## Request Body

**Schema:** `CreateCertExpressInvitationModel[]`

Represents an invitation for a customer to use CertExpress to self-report their own certificates.
This invitation is delivered by your choice of method, or you can present a hyperlink to the user
directly in your connector.  Your customer will be redirected to https://app.certexpress.com/ where
they can follow a step-by-step guide to enter information about their exemption certificates.  The
certificates entered will be recorded and automatically linked to their customer record.

| Property | Type | Required | Description |
|---|---|---|---|
| `recipient` | string | No | If the value of `deliveryMethod` is set to `Email`, please specify the email address of the recipient
for the request. Example: `bob@example.org`. |
| `coverLetterTitle` | string | No | If this invitation is sent via email or download, please specify the cover letter to use when building this
invitation.  For a list of cover letters, please call `ListCoverLetters`. Example: `STANDARD_REQUEST`. |
| `exposureZones` | integer[] | No | You may optionally specify a list of exposure zones to request in this CertExpress invitation.  If you list
more than one exposure zone, the customer will be prompted to provide an exemption certificate for each one.
If you do not provide a list of exposure zones, the customer will be prompted to select an exposure zone.
            
For a list of available exposure zones, please call `ListCertificateExposureZones`. |
| `exemptReasons` | integer[] | No | You may optionally specify a list of exemption reasons to pre-populate in this CertExpress invitation.
If you list exemption reasons, the customer will have part of their form already filled in when they visit
the CertExpress website.
            
For a list of available exemption reasons, please call `ListCertificateExemptReasons`. |
| `deliveryMethod` | string | No | Specify the type of invitation.  CertExpress invitations can be delivered via email, web link, or
facsimile.
            
* If you specify `Email`, the invitation will be delivered via email.  Please ask the customer to ensure that
* If you specify `Fax`, the invitation will be sent via fax to the customer's fax number on file.
* If you specify `Download`, the invitation will be prepared as a web link that you can display to the customer. Values: `Email`, `Fax`, `Download`. Example: `Email`. |

## Responses

| Status | Description | Schema |
|---|---|---|
| 200 | Success |  |
| 400 | Bad Request | `ProblemDetails` |
| 401 | Unauthorized | `ProblemDetails` |

## Example Request

```bash
curl -X POST "https://sandbox-rest.avatax.com/api/v2/companies/{companyId}/customers/{customerCode}/certexpressinvites" \
  -H "Authorization: Basic <credentials>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '[
  {
    "recipient": "bob@example.org",
    "coverLetterTitle": "STANDARD_REQUEST",
    "exposureZones": [
      89
    ],
    "exemptReasons": [
      70
    ],
    "deliveryMethod": "Download"
  }
]'
```