# Introduction

The fundamentals of working with the FiscalRail JSON API.

FiscalRail is a JSON API for creating and managing compliant invoices. Requests and responses use JSON, resource objects include an `object` field, and errors use a consistent JSON envelope.

Python applications should normally start with the official [`fiscalrail` package](/en/python-sdk). This API reference documents the underlying HTTP contract and includes an SDK example for every operation; the cURL examples remain useful for other languages and debugging.

## Live and test environments

Every account has separate live and test environments. They use the same API and resource shapes, but have separate API keys and data.

Use the test environment while building your integration. Test invoices are clearly marked and do not consume account balance. Switch to a live secret key when you are ready to create real invoices.

The secret key used for a request selects the environment. You do not need to change the API URL. Account-owned resource objects include `live`: it is `true` for live data and `false` for test data. Public catalog objects such as Tax Regimes are not tied to either environment and therefore omit it.

All endpoints are served below `/v1/` and require HTTPS.
