# 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 $}