--- title: "Report Library API" source_url: https://dev.digicert.com/certcentral-apis/report-library-api.html --- The DigiCert CertCentral® Report Library API allows you to build reports that run automatically to get customized sets of data from your DigiCert CertCentral® account. This API is for teams that need to integrate compliance and operational reporting into existing dashboards or audit workflows. ## Available Report Types Use the Report Library API to create reports for: - Certificate orders - Domains - Organizations - Audit logs - Balance history - FQDNS and wildcard usage - Users ## Why use it The Report Library API integrates with your systems to: - Automate audit reporting across teams or business units. - Track certificate expiration or renewal trends. - Integrate reports into compliance dashboards. - Reduce manual data export from the DigiCert CertCentral® platform. ## Authentication The Report Library API uses header-based API keys for authentication and authorization. To authenticate to the Report Library API service, use your CertCentral API key. For step-by-step instructions on creating an API key, see [Authentication](https://dev.digicert.com/md/certcentral-apis/authentication.md). In requests to the Report Library API, place your API key in the custom HTTP header `X-DC-DEVKEY` . For example, here's a sample request to the List report history endpoint: ``` curl --request GET 'https://api.digicert.com/reports/v1/report/history' \ --header 'X-DC-DEVKEY: {{api_key}}' \ --header 'Content-Type: application/json' ``` > **Info** > > Only CertCentral admins can use the Report Library API. The API key in your requests must belong to a CertCentral user with the Administrator access role. Also, verify that your account has the necessary permissions to execute specific API request. For more information, see [Check permission](https://dev.digicert.com/md/certcentral-apis/services-api/authorization/check-permission.md). ## Base URL Use this base URL when constructing Report Library API requests: ``` https://api.digicert.com/reports/v1/ ``` ## URL query strings Some `GET` requests return a list of records that you can filter, sort, and paginate using URL query strings. The syntax for query strings is `{{name}}={{value}}`. To apply multiple filters, append each query string to the request URL with an `&` character. For example, this request to the [List report history](https://dev.digicert.com/md/certcentral-apis/report-library-api/list-report-history.md) endpoint uses two filters: - `report_type=orders`: Limits response to order reports. - `schedule=MONTHLY`: Limits response to reports that run on a monthly schedule. ``` https://api.digicert.com/reports/v1/report/history?report_type=orders&schedule=MONTHLY ``` To create a filter that matches more than one value, provide a comma-separated list of each value that meets your filter criteria. For example, this request to the same **List report history** endpoint uses a filter that matches against multiple values: - `report_display=test,example`: Limits response to records with a display name of test or example. ``` https://api.digicert.com/reports/v1/report/history?report_display_name=test,example ``` ## Requests All requests you submit to the Report Library API use RESTful URLs and REST features, including header-based authentication and JSON/XML request types. The data character set encoding for requests is UTF-8. A well-formed request uses port 443 and has the user-agent and content-length headers specified. ## Methods - `GET` - `POST` - `PUT` - `DELETE` ## Body Requests that require a payload accept JSON-formatted data. Include the header `content-type: application/json` in your request. ## Responses Responses consist of headers and a body. Response headers are based on the RFC 2616 specification. The body is formatted based on the `content-type` specified in the request. See [Glossary – Headers](https://dev.digicert.com/md/certcentral-apis/services-api/glossary.md#headers) for information about HTTP header response codes. To view the errors returned by the DigiCert CertCentral® API and their descriptions, see [Errors](https://dev.digicert.com/md/certcentral-apis/services-api/errors.md). ## Report formats All report types except FQDN are formatted as a single data structure (CSV, JSON) or spreadsheet (EXCEL) containing data for each row and column in the report. Reports with many rows are split into multiple files for download (see [Download report - Reports with multiple files](https://dev.digicert.com/md/certcentral-apis/report-library-api/download-report.md)). FQDN reports are formatted as an Excel workbook containing two worksheets: - FQDN summary - FQDN details The Report Library can only generate FQDN reports as Excel files. Additionally, large FQDN reports are not split into multiple files for download. ## Report storage To give you time to download your data, DigiCert stores the results of each report run for several months. - DigiCert stores the results of a report run for 90 days after the first time someone downloads the results. - If a report run completes and no one downloads the results for 6 months, DigiCert sends a reminder email to all users designated to receive report notifications. DigiCert automatically deletes the results 30 days after sending this email. If someone downloads the results before they are deleted, DigiCert stores the results for an additional 90 days. ## Language support By default, reports and API responses use English for column display names and report type descriptions. To translate these values into a language other than English, when you submit a request to an API that supports multiple languages, include the `language_id` query parameter in the request URL. Set the value of the `language_id` parameter to the ID of the language you want to use (see [Glossary - Locale codes](https://dev.digicert.com/md/certcentral-apis/services-api/glossary.md)). For example: ``` https://api.digicert.com/reports/v1/report/types?language_id=2 ``` These GET requests support the option to return column display names and report type descriptions in another language: - [List report types](https://dev.digicert.com/md/certcentral-apis/report-library-api/list-report-types.md) - [List columns](https://dev.digicert.com/md/certcentral-apis/report-library-api/list-columns.md) - [List report history](https://dev.digicert.com/md/certcentral-apis/report-library-api/list-report-history.md) To generate reports that use a language other than English for column headings, include the `language_id` query parameter in your request to [create](https://dev.digicert.com/md/certcentral-apis/report-library-api/create-report.md) or [edit a report](https://dev.digicert.com/md/certcentral-apis/report-library-api/edit-report.md). > **Tip** > > To create reports in the same language as the authenticated user's CertCentral profile, first submit a request to the [User info](https://dev.digicert.com/md/certcentral-apis/services-api/users/user-info.md) endpoint in the CertCentral Services API. Then, in the **User info** response, get the value of the `language_id` response parameter. Use this ID as the value of the `language_id` query string when you submit a request to create or edit a report. ## High-Level flow for using the Report Library API The high-level flow outlines the actions for building, managing, and downloading reports:
| Action | What you need to do | Relevant resources |
|---|---|---|
| Build a report | Define the criteria and parameters for the data you want to include in a new report. | [How to build a report](https://dev.digicert.com/md/certcentral-apis/report-library-api/how-to-build-a-report.md) |
| Check status | Verify the status of a report (for example, pending, complete, or error) after submission. | [Report details](https://dev.digicert.com/md/certcentral-apis/report-library-api/report-details.md) |
| Download reports | Retrieve the final, generated data report. | [Download report](https://dev.digicert.com/md/certcentral-apis/report-library-api/download-report.md) |
| Manage reports | Modify, suspend, or permanently remove reports from the system. | To edit report, see [Edit report](https://dev.digicert.com/md/certcentral-apis/report-library-api/edit-report.md). To delete scheduled report, see [Delete scheduled report](https://dev.digicert.com/md/certcentral-apis/report-library-api/delete-scheduled-report.md). To delete report, see [Delete report](https://dev.digicert.com/md/certcentral-apis/report-library-api/delete-report.md). |