2.3 KiB
title, hide
| title | hide | |
|---|---|---|
| Stash API |
|
Stash GraphQL 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.
??? tip "Learn more about GraphQL" For further information, visit the official GraphQL site{target="_blank"}.
Accessing the GraphQL playground
- Navigate to :fontawesome-solid-gear: Settings > Tools > GraphQL playground.
- Click on the left to access the Documentation Explorer.
Endpoint
All HTTP requests should be directed to <server>:<port>/graphql (default: localhost:9999/graphql).
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"
curl -X POST -H "ApiKey: <your_api_key>" -H "Content-Type: application/json" --data '{ "query": "<graphql_query>" }' localhost:9999/graphql
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.
Legacy cookie authentication
!!! info
Was made obsolete in version v0.7. It is recommended to use the API Key method.
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