# Verify shipment

Source: https://developer.avalara.com/avatax-for-bevalc/understanding-shipping-verification/verify-shipment/

# Verify shipment

The [VerifyShipment](https://rest.avatax.com/swagger/ui/index.html?urls.primaryName=Alcohol%20Shipping%20Verification#/Shipping%20Verification/get_api_v2_companies__companyCode__transactions__transactionCode__shipment_verify) endpoint is used to determine whether a beverage alcohol Sales Invoice transaction is compliant and can be shipped. AvaTax will look at the jurisdictions associated with each beverage alcohol line and validate the line's compliance against the rules in those jurisdictions. AvaTax will then return a response showing whether the transaction is compliant as well as any warning messages that help the integrator determine whether to make a different choice in the transaction. If the transaction is not compliant, the`failureMessages` line will show the specific part(s) of the transaction that were not compliant.

AvaTax will take no other action with this transaction other than verifying compliance. This means that you still have to call the registration endpoint in order to get the volume recorded.

When verifying shipments for Return Invoices, be sure to include`documentType=ReturnInvoice` in the request URL as shown in the upcoming [Refund purchase](/companion/shipping-verification-bevalc/example-refund/) example. You will get a "Document not found" error if you omit this because the document type defaults to`SalesInvoice`.

## Endpoint

GET /api/v2/companies/{companyCode}/transactions/{transactionCode}/shipment/verify

## Request

```
curl    -X GET    -H 'Accept: application/json'    -H 'Authorization: Basic aHR0cHdhdQNoOmY='    -H 'Content-Type: application/json' 'https://sandbox-rest.avatax.com/api/v2/companies/DEFAULT/transactions/12343439084/shipment/verify'
```

## Response

The response returns`"compliant": true` if the transaction is compliant, and the`successMessages` describes how each check in the transaction passed compliance verification. If the transaction is not compliant, the response returns`"compliant":false`, and  the`failureMessages` line in the response will describe the reason.

```
{ "compliant": true, "warningCodes": [], "message": "Transaction is compliant", "successMessages": "Line \"1\": A current license exists for KENTUCKY; The recipient is older than 21 years of age; The purchaser is older than 21 years of age; The Per Individual volume limit in KENTUCKY is 90 Litre(s) per 1 month. Including registered shipments, 90 Litre(s) would be shipped to this Individual in a 1 month timeframe. Therefore, the volume in this transaction is under the volume limit.\n", "failureMessages": "", "failureCodes": [], "lines": [    { "resultCode": "Compliant", "lineNumber": "1", "message": "Line is compliant", "successMessages": "A current license exists for KENTUCKY; The recipient is older than 21 years of age; The purchaser is older than 21 years of age; The Per Individual volume limit in KENTUCKY is 90 Litre(s) per 1 month. Including registered shipments, 90 Litre(s) would be shipped to this Individual in a 1 month timeframe. Therefore, the volume in this transaction is under the volume limit.", "failureMessages": "", "failureCodes": []    }  ]}
```

[Previous](/avatax-for-bevalc/understanding-shipping-verification/parameters)

[Next](/avatax-for-bevalc/understanding-shipping-verification/register-shipment)