# Getting Started

## What is GraphQL

GraphQL is an API query language.

<span style="white-space: pre-wrap;">It lets the client ask </span>**exactly**<span style="white-space: pre-wrap;"> for the data it needs.</span>  
No more. No less.

Main ideas:

- One endpoint.
- Client chooses fields.
- Strong types.
- Clear schema.

GraphQL replaces many REST endpoints with one structured API.

---

## What We Use in Finmars

In Finmars, GraphQL is built with:

- **Django**
- **Strawberry GraphQL** [https://github.com/strawberry-graphql/strawberry](https://github.com/strawberry-graphql/strawberry)

Strawberry is a Python GraphQL library.  
It works well with Django models.  
It uses Python type hints to define the schema.

Key points:

- Schema is written in Python.
- Types are strict.
- Queries are validated before execution.
- Errors are clear.

---

##   


---