GraphQL API
Use the Panther GraphQL API to interact with your Panther entities
Overview
Panther offers a public GraphQL-over-HTTP API, meaning you can write GraphQL queries and invoke the API using a typical HTTP request. For more information on GraphQL, see GraphQL's documentation.
Currently, you can interact with the following entities through the GraphQL API:
Additional operations are available in the REST API.
Understanding a GraphQL query
Discover the Panther GraphQL schema
There are three ways to discover the GraphQL schema:
Option 1 (quickest): Download the publicly available GraphQL schema file
Option 2 (most user-friendly): Use Panther's API Playground
Option 3 (best for tools and services): Perform an introspection query against the GraphQL endpoint
Option 1: Download the publicly available GraphQL schema file
You can download the latest version of the GraphQL schema file here.
How to use the Panther GraphQL API
Step 1: Identify your Panther GraphQL API URL
To locate your GraphQL API URL:
In the upper-right corner of your Panther Console, click the gear icon, then API Tokens.
At the top of the page, see the API URL.
The GraphQL API URL structure differs depending on your Panther deployment model:
SaaS deployments:
https://api.{YOUR_PANTHER_DOMAIN}.runpanther.net/public/graphql
Cloud Connected and self-hosted deployments:
https://{YOUR_PANTHER_DOMAIN}/v1/public/graphql
Step 2: Generate an API token
Step 3: Invoke the Panther GraphQL API
In addition to testing with the API Playground, there are two ways to invoke a GraphQL-over-HTTP API:
Option 1 (recommended): Install and use a GraphQL Client to abstract the transport-related complexities
Option 2: Manually construct an HTTP call
Option 1: Installing and Using GraphQL Clients (Recommended)
While all GraphQL operations are essentially simple HTTP calls, the advantage of using a GraphQL client is that it is more user-friendly.
We recommend using:
graphql-request
for your NodeJS projectsgql
for your Python projectsgo-graphql-client
for your Go projects
Below are some examples of how you would construct a GraphQL query to fetch the first page of alerts in your system:
Last updated
Was this helpful?