Templates
Use the Solution Reporting API to access the templates that define the structure, fields, and configuration options available for generating report output. The Templates endpoints let developers retrieve lists of all published templates or fetch detailed template definitions by ID. This provides the foundational metadata that developers need to understand what data each template exposes and how they can customize reports.
Base URL:
https://platform-reporting.vertexcloud.com/api/v1/templates| Templates endpoint | Templates endpoint description |
|---|---|
/templates | GET - Retrieve a list of report templates. |
/reports/{reportId}/template | GET - Retrieve the template associated with a specific report definition. The template contains the structure and configuration used by the report. |
/templates/{templateId} | GET - Retrieve a single template definition. |
/templates/categories | GET - Retrieve a list of all available template categories. Categories are used to organize and group templates. |
List templates
Retrieve a list of report templates, optionally filtered by type, category, product code, and name.
Request URL:
https://platform-reporting.vertexcloud.com/api/v1/templatesList templates request
All request parameters are optional. Passing a request with no parameters returns all available records.
| Parameter name | Parameter format | Parameter description |
|---|---|---|
type | string enum | Filter by template type. Allowed: STANDARD_REPORT or DATA_EXTRACT. |
categoryId | uuid | Filter by category UUID. Supports multiple values (repeated parameter). |
productCode | string enum | Filter by product code. Allowed: OSERIES |
name | string | Filter by template name (case-insensitive substring match). |
displayName | string | Filter by template display name (case-insensitive substring match). |
offset | integer | Number of items to skip (for pagination). Must be greater than or equal to 0. Defaults to 0. |
limit | integer | Maximum number of items to return. Must be between 1 to 500. Defaults to 25. |
sortBy | string enum | Field to sort by. Allowed: NAME, TEMPLATE_TYPE, CATEGORY_NAME.Defaults to NAME. |
sortOrder | string enum | Sort direction. Allowed: ASC or DESC.Defaults to ASC. |
List templates request example
curl --request GET \
--url 'https://platform-reporting.vertexcloud.com/api/v1/templates?type=DATA_EXTRACT&productCode=OSERIES' \
--header 'accept: application/json'List templates response
The API wraps the results in an envelope with these top-level response fields.
| Response field | Type | Description |
|---|---|---|
count | integer | Total number of report results for the specified definition. Must be greater than or equal to 0. |
offset | integer | Number of items skipped. Must be greater than or equal to 0. |
limit | integer | Maximum items per page. Must be greater than or equal to 1. |
value | array of objects | Array of TemplateSummary objects. |
The following table lists the fields you receive inside each item in the value[] array.
| Response field | Type | Description |
|---|---|---|
Id | uuid | Unique identifier of this report result. |
Name | string | Human-readable name of this report result |
displayName | string | Human-readable name of the template. |
description | string | null | Short description of the template. |
category | object | null | Report category. Contains: id (UUID) and name (string) |
productCodes | array of strings | List of product codes associated with this template. |
supportedFormats | array of objects | Supported output formats for this template. File format of the generated report: CSV, HTML, PDF, RTF, XML, XLS, XLSX, TXT. |
templateType | string enum | Template classification: STANDARD_REPORT or DATA_EXTRACT. |
fieldsCount | integer | Number of fields available in this template. Must be greater than or equal to 0. |
List templates response example
{
"count": 0,
"offset": 0,
"limit": 0,
"value": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"displayName": "string",
"description": "string",
"category": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"productCodes": [
"string"
],
"supportedFormats": [
"CSV"
],
"templateType": "DATA_EXTRACT",
"fieldsCount": 0
}
]
}Get template for report definition
Retrieve the template associated with a specific report definition. The template contains the structure and configuration used by the report.
Request URL:
https://platform-reporting.vertexcloud.com/api/v1/reports/{reportId}/templateGet template for report definition request
Only the reportId parameter is required as a path parameter.
| Parameter name | Parameter format | Parameter description |
|---|---|---|
reportId Required | uuid | UUID of the report definition. |
Get template for report definition request example
curl --request GET \
--url https://platform-reporting.vertexcloud.com/api/v1/reports/f81d4fae-7dec-11d0-a765-00a0c91e6bf6/template \
--header 'accept: application/json'Get template for report definition response
The API returns a TemplateDetails object that resolves to StandardTemplateDetails or DataExtractTemplateDetails.
The following fields appear for all template types returned by the endpoint.
| Response field | Type | Description |
|---|---|---|
id | string (UUID) | Unique identifier for the template. |
name | string | Human‑readable template name. |
displayName | string | Human-readable name of the template. |
description | string | Optional description of the template. |
category | object | Contains: id (UUID), name (string). |
productCodes | array of strings | List of product codes associated with the template. |
supportedFormats | array of strings | Supported output formats for the template. |
templateType | string enum | Template classification: STANDARD_REPORT or DATA_EXTRACT. |
The following fields appear only when the template type is STANDARD-REPORT.
| Response field | Type | Description |
|---|---|---|
parameters | array[StandardTemplateParameter] | List of parameters you must or may supply when running the report. |
parameters\[].name | string | The parameter name. |
parameters\[].description | string | Description of the parameter. |
parameters\[].type | DataType | The data type associated with the parameter. |
parameters\[].isRequired | boolean | Indicates whether the parameter must be provided. |
parameters\[].default | string (nullable) | Default value applied if none is provided. |
The following fields appear only when the template type is DATA_EXTRACT.
| Response field | Type | Description |
|---|---|---|
fieldsCount | integer | Number of fields available in this template. Must be greater than or equal to 0. |
fields | array[DataExtractField] | List of fields available in the extract template. |
The following DataType variants are used in both template types. They appear under parameters[].type or fields[].dataType.
| Variant | Description |
|---|---|
Simple | A primitive data type (TEXT, DECIMAL, NUMBER, BOOLEAN, CURRENCY). |
Patterned | A data type with a format or pattern (DATE or TIMESTAMP with formatting). |
Array | A list of values of a specified DataType. |
Get template for report definition response example
The following sample is a DATA_EXTRACT template response.
{
"id": "b278c89e-4e37-4b70-9a63-9c9849bd91dd",
"name": "Transaction Detail Extract",
"description": "Provides detailed transaction-level tax calculation data.",
"category": {
"id": "6f3c0521-5c88-4987-bb23-4fb3467b98fa",
"name": "Data Extracts"
},
"productCodes": [
"OSERIES"
],
"supportedFormats": [
"CSV",
"XML",
"XLSX"
],
"templateType": "DATA_EXTRACT",
"fields": [
{
"name": "TransactionId",
"dataType": {
"type": "simple",
"baseType": "TEXT"
}
},
{
"name": "TransactionDate",
"dataType": {
"type": "patterned",
"baseType": "DATE",
"pattern": "yyyy-MM-dd"
}
},
{
"name": "Jurisdiction",
"dataType": {
"type": "simple",
"baseType": "TEXT"
}
},
{
"name": "TaxAmount",
"dataType": {
"type": "simple",
"baseType": "DECIMAL"
}
}
]
}Get template details
Retrieve a single template definition. The payload shape depends on the template type. STANDARD templates include parameters. DATA_EXTRACT templates include fields.
Request URL:
https://platform-reporting.vertexcloud.com/api/v1/templates/{templateId}Get template details request
Only the templateId parameter is required as a path parameter.
| Parameter name | Parameter format | Parameter description |
|---|---|---|
templateId Required | uuid | Unique identifier of the template. |
Get template details request example
curl --request GET \
--url https://platform-reporting.vertexcloud.com/api/v1/templates/f81d4fae-7dec-11d0-a765-00a0c91e6bf6 \
--header 'accept: application/json'Get template details response
The API returns a TemplateDetails object that resolves to StandardTemplateDetails or DataExtractTemplateDetails.
The following fields appear for all template types returned by the endpoint.
| Response field | Type | Description |
|---|---|---|
id | string (UUID) | Unique identifier for the template. |
name | string | Human‑readable template name. |
displayName | string | Human-readable name of the template. |
description | string | Optional description of the template. |
category | object | Report category. Contains: id (UUID) and name (string) |
productCodes | array of strings | List of product codes associated with the template. |
supportedFormats | array of strings | Supported output formats for the template. |
templateType | string enum | Template classification. Either STANDARD_REPORT or DATA_EXTRACT |
The following fields appear only when the template type is STANDARD_REPORT.
| Response field | Type | Description |
|---|---|---|
parameters | array[StandardTemplateParameter] | List of parameters you must or may supply when running the report. |
parameters\[].name | string | The parameter name. |
parameters\[].description | string | Description of the parameter. |
parameters\[].type | DataType | The data type associated with the parameter. |
parameters\[].isRequired | boolean | Indicates whether the parameter must be provided. |
parameters\[].default | string (nullable) | Default value applied if none is provided. |
The following fields appear only when the template type is DATA_EXTRACT.
| Response field | Type | Description |
|---|---|---|
fields | array[DataExtractField] | List of fields available in the extract template. |
fields\[].name | string | The name of the extract field. |
fields\[].dataType | DataType | The data type associated with the field. |
The following dataType variants are used in both template types. They appear under parameters[].type or fields[].dataType.
| Variant | Description |
|---|---|
Simple | A primitive data type (TEXT, DECIMAL, NUMBER, BOOLEAN, CURRENCY). |
Patterned | A data type with a format or pattern (DATE or TIMESTAMP with formatting). |
Array | A list of values of a specified DataType. |
Get template details response example
The following sample is a STANDARD_REPORT template response.
{
"id": "08a4cb0d-1b2b-4bb2-80c0-1af904205d85",
"name": "Sales Summary Report",
"description": "Provides aggregated sales and tax totals by jurisdiction and period.",
"category": {
"id": "3c2d4e21-08bd-4ea1-8ad8-fd0e3ca72511",
"name": "Sales Reports"
},
"productCodes": [
"OSERIES"
],
"supportedFormats": [
"CSV",
"PDF",
"XLSX"
],
"templateType": "STANDARD_REPORT",
"parameters": [
{
"name": "StartDate",
"description": "Beginning date for the reporting period.",
"type": {
"type": "patterned",
"baseType": "DATE",
"pattern": "yyyy-MM-dd"
},
"isRequired": true,
"default": null
},
{
"name": "EndDate",
"description": "Ending date for the reporting period.",
"type": {
"type": "patterned",
"baseType": "DATE",
"pattern": "yyyy-MM-dd"
},
"isRequired": true,
"default": null
},
{
"name": "IncludeJurisdictionBreakdown",
"description": "Whether to include jurisdiction-level detail.",
"type": {
"type": "simple",
"baseType": "BOOLEAN"
},
"isRequired": false,
"default": "false"
}
]
}List template categories
Retrieve a list of all available template categories. Categories are used to organize and group templates.
Request URL:
https://platform-reporting.vertexcloud.com/api/v1/templates/categoriesList template categories request
The request returns all available template categories.
List template categories request example
curl --request GET \
--url https://platform-reporting.vertexcloud.com/api/v1/templates/categories \
--header 'accept: application/json'List template categories response
The response returns a list of all available template categories, each identifying the category’s unique ID and display name.
The API wraps the results in an envelope with these top-level response fields.
| Response field | Type | Description |
|---|---|---|
count | integer | Total number of report results for the specified definition. |
value | array | Array of TemplateCategory objects. |
The following table lists the TemplateCategory fields you receive inside each item in the value[] array.
| Response field | Type | Description |
|---|---|---|
id | uuid | Unique identifier of the category. |
name | string | Display name for the category. |
List template categories response example
{
"count": 4,
"value": [
{
"id": "3c2d4e21-08bd-4ea1-8ad8-fd0e3ca72511",
"name": "Sales Reports"
},
{
"id": "6f3c0521-5c88-4987-bb23-4fb3467b98fa",
"name": "Data Extracts"
},
{
"id": "a7f4d011-1e46-49b9-8ecf-1fcb46c35900",
"name": "Taxability Reports"
},
{
"id": "c1bc8b17-4a6a-43a9-a7b3-f41a3579a220",
"name": "Configuration Reports"
}
]
}