# `connection.key_missing`

Connection leaves out a key its package needs.

Area 11, [External services](../topics/external-services.md); not declinable; the next step is usually the agent's.

Every connection to a package lists the domains that may call it, and
gives the credential, environment, host and settings its package needs:






```jadpo
application {
    connections: {
        couriers: {
            package: AcmeCouriers.v1
            environment: config.couriers_environment
        }
    }
}
```

```text
error: `couriers` doesn't give `domains:`
 --> app.jadpo:3:9
  |
3 |         couriers: {
  |         ^^^^^^^^ no `domains:`
  reason: A connection lists the domains whose actions may call it, so a new caller is a one-line change a reviewer sees; other domains go through those domains' public actions.
  next: Add `domains: [<domain>]`, listing the domains that call `couriers` (agent)
  rule: connection.key_missing
  help: https://jadpo.dev/docs/errors/connection.key_missing

check failed: 1 error, 6 files
```
