--- title: "Get ACME contract reporting by subaccount" source_url: https://dev.digicert.com/partner-subscriptions-api/account-management/get-acme-contract-reporting-subaccount.html api_method: GET api_endpoint: "/partner-subscription/api/v1/account/reporting" api_url: "https://www.digicert.com/partner-subscription/api/v1/account/reporting" --- **GET** `https://www.digicert.com/partner-subscription/api/v1/account/reporting` Use this endpoint to retrieve ACME contract reporting data grouped by subaccount. The response includes subaccounts with one or more ACME contracts and returns contract details such as product identifier, SANs, contract ID, contract expiration date, creation date, and cancellation date. Also, omits subaccounts that do not have ACME contracts. > **Info** > > This endpoint requires a parent account Partner Subscriptions API key. Subaccounts cannot access account reporting and receive a `403 Forbidden` response. >

Also, only the subaccounts with at least one ACME contract are included in the response. Subaccounts with no ACME contracts are omitted. ## Example requests and responses **cURL** ```bash curl -X GET \ https://www.digicert.com/partner-subscription/api/v1/account/reporting \ -H 'X-PARTNER-APIKEY: {{partner_api_key}}' ``` **Python** ```python import requests url = "https://www.digicert.com/partner-subscription/api/v1/account/reporting" headers = { 'X-PARTNER-APIKEY': "{{partner_api_key}}" } response = requests.request("GET", url, headers=headers) print(response.text) ``` **Go** ```go package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://www.digicert.com/partner-subscription/api/v1/account/reporting" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("X-PARTNER-APIKEY", "{{partner_api_key}}") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` **NodeJS** ```javascript var request = require("request"); var options = { method: 'GET', url: 'https://www.digicert.com/partner-subscription/api/v1/account/reporting', headers: { 'X-PARTNER-APIKEY': '{{partner_api_key}}' } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); }); ``` ## 200 OK ```json { "accounts": [ { "account_id": 1234, "acme": [ { "product_name_id": "ssl_ev_basic", "account_id": 1234, "sans": [ "*.example1.com", "example1.com" ], "acme_contract_id": 1, "valid_till": "2027-02-02T09:45:18Z", "created_at": "2026-02-02T09:45:18Z", "date_canceled": null }, { "product_name_id": "ssl_dv_rapidssl", "account_id": 1234, "sans": [ "example2.com" ], "acme_contract_id": 2, "valid_till": "2027-02-02T09:45:18Z", "created_at": "2026-02-02T09:45:18Z", "date_canceled": null } ] }, { "account_id": 5678, "acme": [ { "product_name_id": "ssl_basic", "account_id": 5678, "sans": [ "api.example.com", "www.example.com" ], "acme_contract_id": 3, "valid_till": "2027-03-15T14:30:00Z", "created_at": "2026-03-15T14:30:00Z", "date_canceled": null } ] } ] } ``` ## URL path and query parameters This endpoint does not use URL path or query parameters. ## Request parameters This endpoint does not use request parameters. ## Response parameters
Name Type Description
accounts array[object] Array of subaccounts with ACME contracts.
.. account_id integer Subaccount ID.
.. acme array[object] ACME contracts for the subaccount.
.. .. product_name_id string Product identifier for the ACME contract.
.. .. account_id integer Subaccount ID associated with the ACME contract.
.. .. sans array[string] Active Subject Alternative Names for the ACME contract.
.. .. acme_contract_id integer Unique identifier of the ACME contract.
.. .. valid_till string Contract expiration date in ISO 8601 format.
.. .. created_at string Contract creation date in ISO 8601 format.
.. .. date_canceled string|null Date the ACME contract was canceled in ISO 8601 format, or null if the contract is active.