# GraphQL API

Boost exposes a GraphQL API that is used by the Web UI to query and update information about Boost deals. The GraphQL API query endpoint is at <http://localhost:8080/graphql/query>

You can also run your own queries against the GraphQL API using CURL or a programming language that has a [GraphQL client](https://graphql.org/code/).

Boost has a built-in GraphQL explorer at <http://localhost:8080/graphiql>

You can test out queries, or explore the GraphQL API by clicking on the `< Docs` link at the top right of the page:

![](https://968384846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F01F3nbbmdopOdEHfj4fF%2Fuploads%2FFUl9bAj4CyUT847oNQQH%2FScreen%20Shot%202022-04-21%20at%2010.06.16%20AM.png?alt=media\&token=861edbcf-884a-4f55-8873-615983aadfe4)

To run a graphql query with CURL:

```
curl -X POST
-H "Content-Type: application/json"
-d '{"query":"query { deals(offset: 5, limit: 10) { deals { ID CreatedAt PieceCid } } }"}'
http://localhost:8080/graphql/query | jq
```

This 1m video shows how to use these tools to build an run a GraphQL query against Boost:

{% embed url="<https://youtu.be/yN_H-hDrBao>" %}
Use the GraphQL explorer to create a query against Boost
{% endembed %}

### Example Queries

1\. Query failed deals

```
curl -X POST \
-H "Content-Type: application/json" \
-d '{"query":"query { deals(limit: 10, query: \"failed to get size of imported\") { deals { ID CreatedAt Message } } }"}' \
http://localhost:8080/graphql/query | jq
```

2\. Cancel a deal where `ab12345c-5678-90de-12f3-45a6b78cd9ef` is the deal ID

```
curl -X POST \
-H "Content-Type: application/json" \
-d '{"query":"mutation { dealCancel(id: \"ab12345c-5678-90de-12f3-45a6b78cd9ef\") }"}' \
http://localhost:8080/graphql/query | jq
```
