> For the complete documentation index, see [llms.txt](https://scandipwa.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scandipwa.gitbook.io/docs/how-to-tutorials-intermediate/postman-and-graphql-playground.md).

# Postman & GraphQL Playground

{% embed url="<https://youtu.be/27IHNDG4Kaw>" %}
Tools of ScandiPWA
{% endembed %}

If you don’t already have a preference of your own, check out the ScandiPWA tool recommendations for testing, debugging and database management.

Recommended tools:

* [GraphQL Playground](https://github.com/prisma-labs/graphql-playground)
* [Postman](https://www.postman.com/)
* [DBeaver](https://dbeaver.io/) for Linux
* [Sequel Pro](https://www.sequelpro.com/) for Mac

Topics covered:

* [GraphQL Playground features](https://docs.scandipwa.com/how-to-tutorials-intermediate/postman-and-graphql-playground#graphql-playground-features)
* [Postman features](https://docs.scandipwa.com/how-to-tutorials-intermediate/postman-and-graphql-playground#postman-features)
* [Database management tools](https://docs.scandipwa.com/how-to-tutorials-intermediate/postman-and-graphql-playground#database-management-tools)

## GraphQL Playground Features

GraphQL Playground is an IDE for learning and using GraphQL. You can download the latest release for your platform of choice - Mac, Linux or Windows.

**Features**:

* Ability to store schema, tabs and workspaces.
* ‘DOCS’ section lets you preview GraphQL queries, type details and specific fields of a schema.
* The ‘SCHEMA’ tab allows you to preview the GraphQL schema and download it as a file.
  * You can parse through ‘SCHEMA’ using regular expressions and search for ‘DOCS’ using the search field.
* Ability to add multiple URLs
* ‘PRETTIFY’ code feature
* Request history
* Support for HTTP headers and query variables
  * Send requests with HTTP headers by adding them as a JSON object in the ‘HTTP HEADERS’ section.

**Drawbacks**:

* No proper error handling
* If your GraphQL server responds with a non-json error you’ll see:

```javascript
"error": "Unexpected token < in JSON at position 0"
```

* In this case you can ‘Inspect Element’ with the Inspector and you’ll see how the request is sent in the ‘Response’ and ‘Preview’ tab. In this case it’s:

```
502 Bad Gateway
```

## Postman Features

Postman is a user-friendly tool for API testing. If you’re not sure whether or not this tool is for you, just `ctrl + F` your request [here](https://www.postman.com/postman-features/).

Some of the major features are:

* Test writing
  * See the full error logs right away, not only for POST requests, but also for GET requests.
* Executing multiple simultaneous requests
  * Useful for finding bugs that happen radomly, i.e. in a specific period of time.

## Database Management Tools

The team of ScandiPWA recommends [DBeaver](https://dbeaver.io/) for Linux. You can check out the user-guide [here](https://github.com/dbeaver/dbeaver/wiki).

MySQL database management application for Mac - [Sequel Pro](https://www.sequelpro.com/). Read how to get started [here](https://sequelpro.com/docs).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://scandipwa.gitbook.io/docs/how-to-tutorials-intermediate/postman-and-graphql-playground.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
