# `package.provider_invalid`

Provider file holds what it can't, or lacks `protocol:`.

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

`provider { }` has one fixed set of keys, `protocol:` among them:



```jadpo
provider {
    protocol: Protocol.json_http
    host: "https://api.acme-couriers.example"
}
```

```text
error: `provider` has no key `host:`
 --> shared/providers/acme_couriers/v1/provider.jadpo:3:5
  |
3 |     host: "https://api.acme-couriers.example"
  |     ^^^^ not a provider key
  reason: `provider { }` has one fixed set of keys: `protocol:`, `hosts:`, `runs:`, `credential:`, `oauth:`, `idempotency:`, `error_code:`, `webhooks:`, `polls:`, `erasure:`, `max_concurrent:`, `settings:`, `imported:`, `description:`, `aws:`, `credential_header:` and `headers:`. Did you mean `hosts:`?
  next: Use `hosts:` instead of `host:` (agent)
  rule: package.provider_invalid
  help: https://jadpo.dev/docs/errors/package.provider_invalid

check failed: 1 error, 3 files
```

`imported:`'s `reviewed:` names the package's own types the agent has
gone through (area 11, "Mapping imported types to standard types"), so a
name that isn't one is a mistake:




```jadpo
/// Acme Couriers' tracking API.
provider {
    protocol: Protocol.json_http
    hosts: {
        live: "https://api.acme-couriers.example"
    }
    imported: {
        file: "acme-couriers.json"
        digest: "sha256:4f1c"
        reviewed: [Delivry]
    }
}
```

```text
error: `Delivry` in `reviewed:` isn't one of the package's types
 --> shared/providers/acme_couriers/v1/provider.jadpo:10:20
   |
10 |         reviewed: [Delivry]
   |                    ^^^^^^^ not a type of the package
  reason: `imported:` gives the description the package was imported from, `file:` and `digest:`, and `reviewed:`, the package's types the agent has gone through against the provider's documentation, each named once. The package declares no type `Delivry` in its `types/`.
  next: Use `Delivery` instead of `Delivry` (agent)
  rule: package.provider_invalid
  help: https://jadpo.dev/docs/errors/package.provider_invalid

check failed: 1 error, 4 files
```
