Using the Solution Reporting API
Learn how to automate Solution Reporting.
Introduction
The Solution Reporting API gives you programmatic access to Vertex Solution Reporting capabilities. You can use the API to:
- Manage report definitions using list, create, update, and archive operations.
- Retrieve, view, and maintain report results.
- List templates, get template report definitions, and view template details and categories.
- Maintain schedules including the ability to list, create, update, and delete.
The API is ideal for automating reporting workflows, integrating with external systems, and streamlining data extraction for analytics and compliance.
This section describes how to:
- Authenticate and configure API requests.
- Access standard and custom reports by using available endpoints.
- Apply filters and parameters to tailor report output.
Use the Solution Reporting API to simplify reporting processes and deliver consistent, accurate data to your business systems.
Prerequisites
Before you start using the Solution Reporting API, ensure that you have:
- Vertex account access
You must have an active Vertex account with access to the Solution Reporting application. - API credentials
Obtain your credentials and access token for the Solution Reporting API. These are required for authentication. - Role permissions
Ensure that your user role includes reporting access. Contact your administrator if you need additional permissions. - Network and security configuration
Confirm that your environment allows outbound HTTPS requests to Vertex API endpoints. - Development environment
Install a REST client or configure your preferred programming language to send HTTP requests (such as cURL, Postman, or SDKs).
API Integration
To integrate the Solution Reporting API into your application:
- Set up authentication
Use your credentials to authenticate requests. Include the token in the Authorization header. - Identify endpoints
Review available endpoints for report retrieval, scheduling, and management. - Configure requests
Send HTTPS requests using your preferred method (such as cURL, Postman, or a language-specific HTTP client). Ensure that all requests use JSON format for payloads and responses. - Handle responses
Parse JSON responses to extract report data. Implement error handling for common HTTP status codes (such as 400, 401, or 500). - Secure your integration
Store credentials securely and follow best practices for API rate limits and retries.
Solution Reporting API requests
The Solution Reporting API contains the following requests:
| Solution Reporting API Task | Solution Reporting API Request | API Method | Solution Reporting API Use |
|---|---|---|---|
| List report definitions | /api/v1/reports | GET | Retrieve a list of report definitions, optionally filtered by template, category, name, and creation date. |
| Create report definition | /api/v1/reports | POST | Create a new saved report definition based on an existing template. DATA_EXTRACT requests provide filters and field configurations, while STANDARD_REPORT requests provide parameter values. |
| Get report definition | /api/v1/reports/{reportId} | GET | Retrieve full metadata for a single report definition. |
| Run report definition | /api/v1/reports/{reportId}/results | POST | Execute a report definition and create a new report result. The report is executed asynchronously, and the generated report result metadata is returned. |
| Update report definition | /api/v1/reports/{reportId} | PUT | Update an existing saved report definition. Only the report name plus DATA_EXTRACT filters/fields/settings or STANDARD_REPORT parameters can be changed. |
| Archive report definition | /api/v1/reports/{reportId} | DELETE | Soft-delete a report definition by moving it to ARCHIVED status. Archiving a report deactivates all of its schedules. Archived reports remain readable but can no longer be updated or run. The operation is idempotent — returns a 204 HTTP status code even if the definition is already archived. |
| List report results for a report definition | /api/v1/reports/{reportId}/results | GET | Retrieve all report results generated for a specific report definition, with optional filters for status, name, and creation date range. |
| Get report result details by result ID only | /api/v1/reports/results/{reportResultId} | GET | Retrieve full metadata for a single report result by its ID, including pre-signed download URL. |
| Get report result details by definition and result ID | /api/v1/reports/{definitionId}/results/{reportResultId} | GET | Retrieve full metadata for a single report result, including pre-signed download URLs. |
| List report results | /api/v1/reports/results | GET | Retrieve a list of report results across all report definitions, optionally filtered by definition, template, category, status, name, and creation date range. |
| Delete report result | /api/v1/reports/results/{reportResultId} | DELETE | Hard-delete a report result and its generated artifact. The operation is idempotent and returns a 204 HTTP status code when the result has already been deleted. |
| Cancel report execution | /api/v1/reports/results/{reportResultId}/cancel | POST | Request cancelation of a report result that is currently PENDING or PROCESSING. The operation is idempotent — repeating it for an already-canceled result returns 204. Results in COMPLETEDor FAILED status cannot be canceled and return a 409 HTTP status code. |
| List templates | /api/v1/templates | GET | Retrieve a list of report templates. |
| Get template for report definition | /api/v1/reports/{reportId}/template | GET | Retrieve the template associated with a specific report definition. The template contains the structure and configuration used by the report. |
| Get template details | /api/v1/templates/{templateId} | GET | Retrieve a single template definition. |
| List template categories | /api/v1/templates/categories | GET | Retrieve a list of all available template categories. Categories are used to organize and group templates. |
| List schedules | /api/v1/schedules | GET | Retrieve a list of schedules for running report definitions, optionally filtered by definition, template, category, status, name, and effective date range. |
| List schedules for report definition | /api/v1/reports/{reportId}/schedules | GET | Retrieve all schedules associated with a specific report definition. |
| Create schedule | /api/v1/schedules | POST | Create a new schedule for running a report definition. |
| Delete all schedules for a report definition | /api/v1/reports/{reportId}/schedules | DELETE | Delete all schedules associated with a specific report definition. |
| Delete a specific schedule for a report definition | /api/v1/reports/{reportId}/schedules/{scheduleId} | DELETE | Delete a specific schedule associated with a given report definition. The schedule must belong to the specified report definition. |
| Update schedule | /api/v1/schedules/{scheduleId} | PUT | Update an existing schedule. All updatable fields are replaced with the values provided in the request. |
| Get schedule | /api/v1/schedules/{scheduleId} | GET | Retrieve full metadata for a single schedule. |
| Delete schedule | /api/v1/schedules/{scheduleId} | DELETE | Delete or permanently disable a schedule. |