Files
Stash-Docs/docs/api.md
2025-12-17 06:33:19 +02:00

2.3 KiB

title, hide
title hide
Stash API
navigation

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

  1. Navigate to :fontawesome-solid-gear: Settings > Tools > GraphQL playground.
  2. 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.

!!! 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