GRR API

Below is the list of HTTP API calls that the GRR Admin UI can handle. For every supported route you'll find a list of supported query parameters (if any). These parameters are passed either as URL query parameters or as parts of URL path.
For example:

/api/hunts?offset=100&count=20


Permissions

If special permissions are required to access certain resources, "reason" query parameter may be specified. For example:

/api/aff4/C.123456789abcdef1/analysis/AnalyzeClientMemory/myusername-1435178456.2?reason=InvestigationID+1234


Type information

GRR API responses usually contain richly typed data. If you don't need the type information, you can strip it from any response by setting "strip_type_info" flag. For example:

/api/hunts?offset=100&count=20&strip_type_info=1

XSSI protection

To prevent against Cross Site Script Inclusion (XSSI) attacks, the JSON response body starts with a magic prefix line that must be stripped before feeding the rest of the response body to a JSON parser:

)]}'
[ ... valid JSON ... ]


{$ category $}

{$ ::apiMethod.http_methods.join(', ') $}

Examples:

Show type-stripped response
{$ ::apiMethod.http_methods.join(', ') $} body:
{$ ::example.request_payload | json:2 $}
{$ ::example.response | json:2 $}
{$ ::example.type_stripped_response | json:2 $}