# `deployable.unserved`

No deployable serves an API, or runs the background work, the app has.

Area 14, [Tooling](../topics/tooling.md); not declinable; the next step is usually the agent's.

Once `deployables:` is declared, an API's routes are served only by a
deployable that names it, and background work runs only where its
trigger is listed, so nothing the app declares is left unserved. The
desk's `backstage` API has a route:






```jadpo
use desk/types { Echoed, Remark }
use desk/actions { echo }

/// The desk backstage.
routes Backstage {
    prefix: /backstage
    api: backstage

    /// Says it back.
    POST / {
        authentication: RouteAuthentication.none
        input: Remark
        output: Echoed
        run: echo(input)
    }
}
```


but the one deployable serves only `main`:

```jadpo
application {
    apis: {
        main: {
            prefix: /
        }
        backstage: {
            prefix: /backstage
        }
    }
    deployables: {
        kiosk: {
            serves: [main]
            target: Target.native
        }
    }
}
```

```text
error: No deployable serves the API `backstage`
 --> app.jadpo:10:5
   |
10 |     deployables: {
   |     ^^^^^^^^^^^ none serves it
  reason: Once `deployables:` is declared, an API's routes are served only by a deployable whose `serves:` names it, and `backstage` has 1 route.
  next: Add `backstage` to a deployable's `serves:` (agent)
  rule: deployable.unserved
  help: https://jadpo.dev/docs/errors/deployable.unserved

check failed: 1 error, 7 files
```
