API Playground
Panther offers an API Playground to try out operations. To access the Playground:
  1. 1.
    Log in to your Panther Console.
  2. 2.
    In the lefthand navigation in your Panther account, click Settings > API Tokens.
  3. 3.
    In the Resources dropdown, select API Playground.
After you enter a valid API Token, click the "play" icon in the upper left corner to force your GraphQL query to run.
Note:
  • If you just issued an API Token, please wait between 30-60 seconds for the new token to become available to related distributed AWS services.
  • For security purposes, the API Token will not persist in the Playground when you refresh the page or navigate to a different page. You will need to re-enter the API Token each time you use the Playground.
The API Playground default view

Documentation Explorer

The Documentation Explorer on the right side of the Playground displays the available queries and mutations, along with descriptions and types on every field and entity:

Writing Your Own Query

The autocomplete functionality and the Documentation Explorer assist with writing your own query. Additionally, there are three utility buttons near the top of the page:
  • Prettify to help you format your query according to the GraphQL standards
  • Copy to copy your query in order to paste it to the client that's going to issue the request
  • Copy curl to copy a complete curl operation that you can paste into any UNIX system with the curl command-line tool installed.
An example of the curl command that would be copied from the Panther UI:
1
curl 'PANTHER_GRAPHQL_API_URL' \
2
-H 'Accept-Encoding: gzip, deflate, br' \
3
-H 'Content-Type: application/json' \
4
-H 'Accept: application/json' \
5
-H 'Connection: keep-alive' \
6
-H 'DNT: 1' \
7
-H 'Origin: http://{PANTHER_GRAPHQL_API_URL}/public/graphql' \
8
-H 'X-API-Key: {FAKE_API_KEY}' \
9
--data-binary '{"query":"\n # Example query that lists the first page of your alerts\n query ListAlerts {\n alerts {\n edges {\n node {\n id\n title\n severity\n status\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n","variables":{}}' \
10
--compressed
Copied!