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

# Activation and login

> Expired activation links, "jwt malformed", and login API responses

## Activation link doesn't work

Activation links are short-lived JWTs. If you click an old one, or click
it twice, you'll see one of these:

* `jwt malformed`: the link is corrupted or truncated (a mail client
  inserted a line break, or you copied only part of the URL).
* `jwt expired` or an abort error on `/auth/activate`: the link has
  passed its lifetime.

**Fix**

1. Request a new activation email from the login page.
2. Copy the link directly from the email rather than typing it.
3. Open it in the same browser you originally signed up in.

## Login API returns 404 or 204

When you're not logged in, calls like `GET /api/health` or `GET /auth/me`
return `204` or `404` by design. That's how the frontend detects "no
session", and it is not an error.

<Note>
  **On self-hosted Postiz:** if you are logged in and still see 404 on these
  endpoints, your backend URL is misconfigured. See
  [Login endpoints return 404](/self-host/troubleshooting#login-endpoints-return-404-when-logged-in).
</Note>

## No activation email arrived

<Tabs>
  <Tab title="Postiz Cloud">
    Check spam, then request a new link from the login page. If nothing
    arrives, email [support@postiz.com](mailto:support@postiz.com) from the
    address you signed up with.
  </Tab>

  <Tab title="Self-hosted">
    An install with no email provider configured does not send activation
    emails at all. Postiz detects this and activates new accounts
    immediately instead, so you can log in right away.

    If you configured a provider and mail still isn't arriving, see
    [Email configuration](/self-host/configuration/emails).
  </Tab>
</Tabs>
