> ## Documentation Index
> Fetch the complete documentation index at: https://developers.usezend.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Fixes for common CLI problems.

> [accordion] Pairing session expired before it was approved.
>
> Sessions expire after 10 minutes. Run `zend login` again and approve it promptly.

> [accordion] Not logged in. Run `zend login` first.
>
> Check that `~/.zend/config.json` exists and has an `apiKey`. The file may have been deleted, or the key revoked from another device. Run `zend login` again.

> [accordion] No app "\<slug>" on your account.
>
> `deploy` finds the app by the manifest's `app` field. Check it matches a slug in `zend apps list`, or create it with `zend apps create`.

> [accordion] INVALID\_MANIFEST on deploy
>
> The CLI prints every problem under the error. Fix them all and deploy again. Run `zend apps check` to catch interaction-rule mistakes before uploading. See [Manifest](https://developers.usezend.app/guides/manifest.md).

> [accordion] Couldn't reach api.usezend.app
>
> On slow DNS, connection timeouts and resets, the CLI tries up to three times. If it still fails, it's usually DNS on your machine. Check with:
>
> ```bash theme={null}
> getent hosts api.usezend.app
> ```

> [accordion] A webhook shows failed in zend logs tail
>
> Check the response code. Payment request webhooks retry at 1 minute, 5 minutes, 15 minutes, 1 hour and 1 day, then the event is marked `exhausted`. Make sure your endpoint returns `2xx` quickly.

> [accordion] I lost my ZEND\_APP\_KEY or webhook secret
>
> Run `zend apps rotate-key <slug>` (add `--webhook-secret` or `--both` as needed). The old value stops working immediately.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.