# Getting started

Use the Qualy API to build an integration that can handle complex payment flows and can track a payment from creation through checkout.

- [Quick start](/docs/guides/quick-start.md): End-to-end guide to creating your first payment.
- [Get your API keys](/docs/api-keys.md): Create and manage your API keys.
- [Set up webhooks](/docs/webhooks.md): Get notified when payments succeed or fail.
- [API Reference](https://v1-spec.qualyhq.com/): Explore the full API specification.

The Qualy API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, and verbs (only `GET` and `POST` are used).

The Qualy API doesn't support bulk updates. You can work on only one object per request.

---

## Errors

Qualy uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the `2xx` range indicate success. Codes in the `4xx` range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.). Codes in the `5xx` range indicate an error with Qualy’s servers.

To learn more about how Qualy handles errors, [check this article](/docs/errors.md).

## Versioning

Qualy's API is versioned, to support future backwards-incompatible changes. Currently, our API version is `v1`.

### API Reference

For the full API Reference for Qualy's v1 API, [check this page](https://v1-spec.qualyhq.com/).
