# Configuration

Where to keep your configuration and how services read it.

## Get started

Keep your own values in .ini files that services read through self.config - hot-reloaded, editable in the dashboard and behaving like Python dictionaries.

[Where to keep API configuration](https://zato.io/docs/dev/examples/config.html)

service.py

```
# Read airports.ini through self.config
self.config.airports.api.timeout
30

# Translate codes between parties
self.config.partners.translate(
    source='ALPINE_TELECOM',
    code='NON_PAYMENT',
    target='NORDIC_MOBILE')
'BARRED'
```

## Keep values in files

[Configuration files Endpoints, mapping tables and business values in .ini files, read as self.config with dot access.](https://zato.io/docs/dev/examples/config.html) [Config tables Translate and validate the codes each party you integrate with uses for the same things.](https://zato.io/docs/dev/examples/config-tables.html) [Environment variables The reference of environment variables - ports, databases, passwords and platform settings.](https://zato.io/tutorials/devops/env-variables.html)

## Work in the dashboard

[Config tables in the dashboard Edit, check and save the files on one screen, with a lookup strip that answers before you save.](https://zato.io/docs/dev/config/dashboard.html) [Config tables and self.config What you save on the screen is what services read, live everywhere with no restarts in between.](https://zato.io/docs/dev/config/self-config.html)

## Know what goes where

[Configuration, enmasse and backups Three different questions with three different answers, and which one you are really asking.](https://zato.io/docs/dev/config/enmasse.html) [GitOps with enmasse Channels, connections and security are the environment's definition, exported and imported as YAML.](https://zato.io/docs/admin/enmasse.html) [Backup A backup preserves one installation, enmasse and git recreate an environment anywhere.](https://zato.io/docs/admin/backup.html)
