PuppetDB 1.5 » API » v3 » Querying Reports

Included in Puppet Enterprise 3.2. A newer version is available; see the version menu above for details.

Querying reports is accomplished by making an HTTP request to the /reports REST endpoint.


GET /v3/reports


  • query: Required. A JSON array of query predicates, in prefix form. (The standard ["<OPERATOR>", "<FIELD>", "<VALUE>"] format.)

For example, for all reports run on the node with certname ‘example.local’, the JSON query structure would be:

["=", "certname", "example.local"]

The only available OPERATOR is =.


FIELD may be any of the following. All fields support only the equality operator.

the name of the node that the report was received from.
the id of the report; these ids can be acquired via event queries (see the /events query endpoint).

Response format

The response is a JSON array of report summaries for all reports that matched the input parameters. The summaries are sorted by the completion time of the report, in descending order:

    "end-time": "2012-10-29T18:38:01.000Z",
    "puppet-version": "3.0.1",
    "receive-time": "2012-10-29T18:38:04.238Z",
    "configuration-version": "1351535883",
    "start-time": "2012-10-29T18:38:00.000Z",
    "hash": "bd899b1ee825ec1d2c671fe5541b5c8f4a783472",
    "certname": "foo.local",
    "report-format": 4,
    "transaction-uuid": "030c1717-f175-4644-b048-ac9ea328f221"
    "end-time": "2012-10-26T22:39:32.000Z",
    "puppet-version": "3.0.1",
    "receive-time": "2012-10-26T22:39:35.305Z",
    "configuration-version": "1351291174",
    "start-time": "2012-10-26T22:39:31.000Z",
    "hash": "cd4e5fd8846bac26d15d151664a40e0f2fa600b0",
    "certname": "foo.local",
    "report-format": 4,
    "transaction-uuid": null


This query endpoint supports paged results via the common PuppetDB paging query parameters. For more information, please see the documentation on paging.


You can use curl to query information about reports like so:

curl -G 'http://localhost:8080/v3/reports' --data-urlencode 'query=["=", "certname", "example.local"]'

↑ Back to top