> For the complete documentation index, see [llms.txt](https://help.tacinsight.com/fast-weigh-knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.tacinsight.com/fast-weigh-knowledge-base/references/api-documentation/graphql-v2-api/graphql-for-developers.md).

# GraphQL for Developers

{% hint style="info" %}
The GraphQL API is an additional feature. If you would like to add the GraphQL Api to your Fast Weigh subscription, contact us at *865-219-2980* or <support@tacinsight.com>.
{% endhint %}

## GraphQL queries are handled via standard HTTP.

## All GraphQL queries are POST requests <a href="#all_graphql_queries_are_post_requests" id="all_graphql_queries_are_post_requests"></a>

The first thing to understand is that the GraphQL query itself is sent along in the body of the request. Since HTTP GET calls cannot include a request body, every call sent to the GraphQL server must be a POST request.

## The request body is JSON-encoded <a href="#the_request_body_is_json_encoded" id="the_request_body_is_json_encoded"></a>

The request body itself should be JSON encoded. So the query you write will be transformed into something like this:

```json
{
    "query": "query getCustomers {customers {customerID customerName}}"
}
```

## Use libraries <a href="#use_libraries" id="use_libraries"></a>

Unless you are programming in a very obscure language, [there are probably client libraries that can abstract away a lot of this for you](https://graphql.org/code/).

These clients typically let you write your query in standard GraphQL syntax, and they handle the rest.

Also, thanks to GraphQL's built-in introspection, many libraries can generate a fully-typed API client for you to use!
