2.3 KiB
title, hide
| title | hide | |
|---|---|---|
| Stash API |
|
Stash API
The Stash GraphQL API facilitates automated operations through a type-based schema that is both introspective and self-documenting.
Stash includes an integrated playground where users can execute queries and retrieve schema structures and documentation via a special introspection query.
- You can access the playground from Stash.
- Go to :fontawesome-solid-gear: Settings > Tools > GraphQL playground.
- Click on the left to access the Documentation Explorer.
All HTTP requests should be directed to <server>:<port>/graphql (default: http://localhost:9999/graphql).
!!! tip For further information, visit the official GraphQL site{target="_blank"}.
Authentication
Include the API key generated in Stash in the header of every request. For details on obtaining the API Key, refer to Stash's in-app manual.
=== "Example using curl"
Replace <your_api_key> with your API Key found under :fontawesome-solid-gear: Settings > Security > Authentication.
Replace <graphql_query> with the raw query, which can be formatted using the playground.
curl -X POST -H "ApiKey: <your_api_key>" -H "Content-Type: application/json" --data '{ "query": "<graphql_query>" }' localhost:9999/graphql
Legacy cookie authentication
For configurations using a username/password, cookies must be used for authentication.
=== "Example using curl"
curl --verbose --cookie-jar cookie.txt --data 'username=stash&password=**' localhost:9999/login
curl --cookie cookie.txt -H "Content-Type: application/json" --data '{ "query": "<graphql_query>" }' localhost:9999/graphql
It is recommended to use the API Key method over the legacy cookie method.