Certificates
Use the Certificate Center API to retrieve, create, and update certificates. You can also generate an Exemption Wizard Gateway Link to collect certificates.
Base URL:
https://ccservices.vertexsmb.com/certificate-center/v1/
| Certificates endpoint | Certificates description |
|---|---|
/certificates | GET - Retrieve a list of certificates based on filter criteria, pagination, and sorting parameters. |
/certificate/{uuid} | GET - Retrieve a certificate by the assigned UUID. |
/certificate/{uuid} | PUT - Update a certificate for the assigned UUID. |
/certificate | POST - Create a certificate. |
/certificate/gateway-wizard-link | POST - Generate and return an Exemption Wizard Gateway Link URL for certificate submission, based on provided customer and seller information. |
Retrieve certificates
Retrieve a list of certificates based on filter criteria, pagination, and sorting parameters. By default, certificates are sorted by their creation date in descending order.
Request
All request parameters are optional. Passing a request with no parameters returns all available records.
| Retrieve certificates request parameter name | Retrieve certificates request parameter format | Retrieve certificates request parameter description |
|---|---|---|
top | int64 | Number of returned records to display per page. Default = 20. |
skip | int64 | Number of records to skip before displaying records. Must be 0 or greater. Default = 0. |
filter | string | Limit the returned records to those including the filter criteria, such as customer name. |
count | Boolean | If set to true, returns a count of the total records found. Default = false. |
orderBy | string | Order the results according to any response field by entering it here. Results are in alphabetical or numerical order depending on the field format. |
Example request
curl --request GET \
--url https://ccservices.vertexsmb.com:8095/certificate-center/v1/certificates \
--header 'accept: application/json'
Response
A response includes any number of certificates. Each certificate record can include some or all of these fields.
| Retrieve certificates response field | Retrieve certificates response description |
|---|---|
odata.count | The number of certificate records retrieved. |
value | An array of objects, one for each certificate record retrieved. |
UUID | Unique identifier. |
certificateId | ID assigned to the certificate. |
replacedById | ID of a matching new certificate that replaces an expired certificate. |
createdDateTime | Date and time the certificate was created. |
startDate | Date the certificate became active. |
endDate | Date the certificate is no longer active, if any. |
class | The class of certificate, such as Exemption Certificate, Direct Pay Permit, Net Export Certificate, Special Condition. |
status | Certificate status of Pending, Approved, Invalid, or Rejected. |
source | The method used to add the certificate, such as (ECW) or Exemption Certificate Manager (ECM). |
reason | The reason for the certificate, such as Agricultural, Manufacturing, Resale, and so on. Reasons can be Vertex-defined or user-defined. |
scope | The scope of the certificate coverage, such as Blanket, Limited, or Single-Use. |
taxResult | The resulting tax category, either Exempt or Zero Rate. |
transactionTypes | For Supplies business events, the transaction types are Sale, Rental, and Lease. For Procurement business events, the transaction types are Purchase, Rental, and Lease. |
customFields | User-defined fields, if any, include ID, label, and value. |
contact | Contact information associated with this certificate. Identified by UUID. |
customer | Customer information associated with this certificate. Includes UUID, code, and name. |
seller | Seller information associated with this certificate. Includes UUID, code, and name. |
coverages | Jurisdictions that are active for this certificate. |
Example response
{
"odata.count": 0,
"value": [
{
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"certificateId": 0,
"replacedById": 0,
"createdDateTime": "2025-09-11T02:30:01.218Z",
"startDate": "2025-09-11",
"endDate": "2025-09-11",
"class": "Exemption Certificate",
"status": "Approved",
"source": "ECW",
"reason": "Agricultural",
"scope": "Blanket",
"taxResult": "Zero Rate",
"transactionTypes": [
"Sale"
],
"customFields": [
{
"id": 0,
"label": "string",
"value": "string"
}
],
"contact": {
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"customer": {
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"name": "string"
},
"seller": {
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"name": "string"
},
"coverages": "string"
}
]
}
Retrieve certificate by UUID
Retrieve one certificate record by the UUID.
Request parameter
The only parameter, UUID, is required as a path parameter.
| Retrieve certificate by UUID request parameter name | Retrieve certificate by UUID request parameter format | Retrieve certificate by UUID request parameter description |
|---|---|---|
UUID | uuid | Include the unique identifier as a path parameter. |
Example request
curl --request GET \
--url https://vertex-enterprise-group.readme.io/certificate-center/v1/certificate/3fa85f64-5717-4562-b3fc-2c963f66afa6 \
--header 'accept: application/json'
Response
A response includes one certificate record identified by the UUID.
| Retrieve certificate by UUID response field | Retrieve certificate by UUID response description |
|---|---|
UUID | Unique identifier. |
certificateId | ID assigned to the certificate. |
replacedById | ID of a matching new certificate that replaces an expired certificate. |
createdDateTime | Date and time the certificate was created. |
startDate | Date the certificate became active. |
endDate | Date the certificate is no longer active, if any. |
class | The class of certificate, such as Exemption Certificate, Direct Pay Permit, Net Export Certificate, Special Condition. |
status | Certificate status of Pending, Approved, Invalid, or Rejected. |
source | The method used to add the certificate, such as (ECW) or Exemption Certificate Manager (ECM). |
reason | The reason for the certificate, such as Agricultural, Manufacturing, Resale, and so on. Reasons can be Vertex-defined or user-defined. |
scope | The scope of the certificate coverage, such as Blanket, Limited, or Single-Use. |
taxResult | The resulting tax category, either Exempt or Zero Rate. |
transactionTypes | For Supplies business events, the transaction types are Sale, Rental, and Lease. For Procurement business events, the transaction types are Purchase, Rental, and Lease. |
customFields | User-defined fields, if any, include ID, label, and value. |
contact | Contact information associated with this certificate. Identified by UUID. |
coverages | Jurisdictions that are active for this certificate. |
lastUpdatedDateTime | The last time this certificate was updated. |
rejectionDate | The rejection date of this certificate, if any. |
specialConditionCategory | The special condition category for this certificate, including ID and name. |
products | Products associated with this certificate. |
notes | Notes about this certificate, if any. |
documentNumber | The document number of this certificate. |
customer | Customer information associated with this certificate. Includes UUID, code, and name. |
seller | Seller information associated with this certificate. Includes UUID, code, and name. |
taxabilityDrivers | Taxability drivers associated with this certificate. |
primaryImage | The primary image of this certificate, including name, location, and content type. |
supportingImages | Supporting images for this certificate, if any, including name, location, and content type. |
Example response
{
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"certificateId": 0,
"replacedById": 0,
"createdDateTime": "2025-09-11T02:30:01.218Z",
"startDate": "2025-09-11",
"endDate": "2025-09-11",
"class": "Exemption Certificate",
"status": "Approved",
"source": "ECW",
"reason": "Agricultural",
"scope": "Blanket",
"taxResult": "Zero Rate",
"transactionTypes": [
"Sale"
],
"customFields": [
{
"id": 0,
"label": "string",
"value": "string"
}
],
"contact": {
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"coverages": [
{
"jurisdictionId": 0,
"certificateNumber": "string",
"reviewDate": "2025-09-11",
"issueDate": "2025-09-11",
"expirationDate": "2025-09-11",
"jurisdictionName": "string",
"jurisdictionAbbreviation": "string"
}
],
"lastUpdatedDateTime": "2025-09-11T02:30:01.218Z",
"rejectionDate": "2025-09-11",
"specialConditionCategory": {
"id": 0,
"name": "string"
},
"products": [
"string"
],
"notes": "string",
"documentNumber": "string",
"customer": {
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"name": "string"
},
"seller": {
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"name": "string"
},
"taxabilityDrivers": [
{
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"name": "string"
}
],
"primaryImage": {
"name": "string",
"location": "string",
"contentType": "string"
},
"supportingImages": [
{
"name": "string",
"location": "string",
"contentType": "string"
}
]
}
Update a certificate
Update an existing certificate record.
Request
Supply these request parameters to update an existing certificate record. Required parameters are in bold.
| Update a certificate request parameter name | Update a certificate request parameter format | Update a certificate request parameter description |
|---|---|---|
UUID | uuid | Include the unique identifier as a path parameter. |
startDate | date | Date the certificate became active. |
endDate | date | Date the certificate is no longer active, if any. |
class | string enum | The class of certificate, such as Exemption Certificate, Direct Pay Permit, Net Export Certificate, Special Condition. |
reason | string enum | The reason for the certificate. Reasons can be Vertex-defined or user-defined. Possible values include Agricultural, Charitable, Contractor, Direct Mail, Direct Pay Permit, Educational, Federal Government, Foreign Diplomat, Manufacturing, Native American, Packaging, Religious, Resale, State or Local or Provincial Government, or Other. |
scope | string enum | The scope of the certificate coverage, such as Blanket, Limited, or Single-Use. |
taxResult | string enum | The resulting tax category, either Exempt or Zero Rate. |
transactionTypes | array of strings | For Supplies business events, the transaction types are Sale, Rental, and Lease. For Procurement business events, the transaction types are Purchase, Rental, and Lease. |
customFields | array of objects | User-defined fields, if any, include ID, label, and value. |
contact | object | Contact information associated with this certificate. Identified by UUID. |
coverages | array of objects | Jurisdictions that are active for this certificate. Coverages require a jurisdiction ID. Optional parameters are certificate number, review date, issue date, and expiration date. |
specialConditionCategory | object | Category ID is required when the class is Special Condition. |
notes | string | Notes about the certificate. Notes can range from 1 to 140 characters. |
documentNumber | string | Required when scope is Single-Use. The D documentNumber must be less than or equal to 50 characters. |
customer | object | Customer associated with this certificate. Requires UUID. |
taxabilityDrivers | array of objects | Required when scope is Limited. Taxability drivers with the same selected customer taxpayer and any higher-level taxpayers with an effectivity range that includes the certificate start date. Requires UUID. |
seller | object | Seller information to associate this certificate. Requires UUID. |
primaryImage | file | The primary image of this certificate. |
supportingImages | array of files | Supporting images for this certificate. |
Example request
curl --request PUT \
--url https://ccservices.vertexsmb.com/certificate-center/v1/certificate/uuid \
--header 'accept: application/json' \
--header 'content-type: multipart/form-data' \
--form 'class=Exemption Certificate' \
--form reason=Agricultural \
--form scope=Blanket \
--form 'taxResult=Zero Rate'
Response
A successful response consists of one link to the updated resource.
| Update a certificate response field | Update a certificate response description |
|---|---|
location | A link to the updated resource including the UUID. |
Create certificate
Create a new certificate record.
Request
Supply these request parameters to create a new certificate record. Required parameters are in bold.
| Create certificate request parameter name | Create certificate request parameter format | Create certificate request parameter description |
|---|---|---|
startDate | date | Date the certificate became active. |
endDate | date | Date the certificate is no longer active, if any. |
class | string enum | The class of certificate, such as Exemption Certificate, Direct Pay Permit, Net Export Certificate, Special Condition. |
reason | string enum | The reason for the certificate. Reasons can be Vertex-defined or user-defined. Possible values include Agricultural, Charitable, Contractor, Direct Mail, Direct Pay Permit, Educational, Federal Government, Foreign Diplomat, Manufacturing, Native American, Packaging, Religious, Resale, State or Local or Provincial Government, or Other. |
scope | string enum | The scope of the certificate coverage, such as Blanket, Limited, or Single-Use. |
taxResult | string enum | The resulting tax category, either Exempt or Zero Rate. |
transactionTypes | array of strings | For Supplies business events, the transaction types are Sale, Rental, and Lease. For Procurement business events, the transaction types are Purchase, Rental, and Lease. |
customFields | array of objects | User-defined fields, if added, must include ID (int64), and value (string). The custom filed value must be between 1 and 60 characters. |
contact | object | Contact information associated with this certificate. Identified by UUID. |
coverages | array of objects | Jurisdictions that are active for this certificate. Coverages require a jurisdiction ID. Optional parameters are certificate number, review date, issue date, and expiration date. |
specialConditionCategory | object | Category ID is required when the class is Special Condition. |
notes | string | Notes about the certificate. Notes can range from 1 to 140 characters. |
customer | object | Customer to associate with this certificate. Requires UUID. |
taxabilityDrivers | array of objects | Required when scope is Limited. Taxability drivers with the same selected customer taxpayer and any higher-level taxpayers with an effectivity range that includes the certificate start date. Requires UUID. |
seller | object | Seller information to associate this certificate. Requires UUID. |
primaryImage | file | The primary image of this certificate. |
supportingImages | array of files | Supporting images for this certificate. |
Example request
curl --request POST \
--url https://ccservices.vertexsmb.com/certificate-center/v1/certificate \
--header 'accept: application/json' \
--header 'content-type: multipart/form-data' \
--form 'class=Exemption Certificate' \
--form reason=Agricultural \
--form scope=Blanket \
--form 'taxResult=Zero Rate'
Response
A successful response consists of one link to the created resource.
| Create certificate response field | Create certificate response description |
|---|---|
location | A link to the created resource including the UUID. |
Generate an Exemption Wizard Gateway Link
Generate and return an Exemption Wizard Gateway Link URL for certificate submission. You need to provide customer and seller information. The sellerCode parameter must match an existing seller record in Certificate Center.
Do not specify a label field for custom fields.
If included, the ID parameter values for a Customer Custom Field or Certificate Custom Field must match the corresponding value of the Custom Field configuration in Certificate Center.
Request
Supply these request parameters to create a new certificate record. Required parameters are in bold.
| Generate an Exemption Wizard Gateway Link request parameter name | Generate an Exemption Wizard Gateway Link request parameter format | Generate an Exemption Wizard Gateway Link request parameter description |
|---|---|---|
customerCode | string | Unique code identifying the customer. |
customerName | string | Name of the customer. |
sellerCode | string | Unique code for the seller. |
contactEmail | string | Email address for contact and verification. |
customerCustomFields | array of objects | List of customer custom fields. See the Customer Custom Field Configuration API for details. User-defined fields, if added, must include ID (int64) and value (string). The custom field value must be between 1 and 60 characters. |
certificateCustomFields | array of objects | List of certificate custom fields. See the Certificate Custom Field Configuration API for details. User-defined fields, if added, must include ID (int64) and value (string). The custom field value must be between 1 and 60 characters. |
Example request
curl --request POST \
--url https://ccservices.vertexsmb.com/certificate-center/v1/certificate/gateway-wizard-link \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"customerCode": "CUST123",
"customerName": "Acme Corp",
"sellerCode": "SELL456",
"contactEmail": "[email protected]"
}
'
Response
A successful response consists of one link to the created resource.
| Generate an Exemption Wizard Gateway Link response field | Generate an Exemption Wizard Gateway Link response description |
|---|---|
location | A link to the created resource including the UUID. |
Example response
https://prefix.example.net/b4347ef1-0ba6-4861-bebe-547f12a3220d
