---
title: "Authentication for agents"
description: "How AI agents and apps authenticate with FNLB."
canonical: https://fnlb.net/auth
markdown: https://fnlb.net/auth.md
---

# Authentication for agents

FNLB exposes a public HTTP API and a realtime gateway. Agents and third-party apps authenticate with either an account token or an OAuth2 access token.

## Credential types

| Credential | Prefix | Use |
| --- | --- | --- |
| Account/session token | `FNLB_` / `FNLBAT_` | Acts as the FNLB account that owns it. |
| OAuth2 access token | `FNLBOA2AT_` | Acts as the user who authorized your app. |
| OAuth2 client secret | `FNLBOA2S_` | Confidential clients only, used at the token endpoint. |

Send credentials as a Bearer token:

```
Authorization: Bearer FNLBAT_YOUR_TOKEN
```

## OAuth2 for third-party apps

1. Create an OAuth2 application at https://developers.fnlb.net/application and note your client ID (and secret for confidential apps).
2. Redirect users to authorize:

```
https://fnlb.net/oauth2/authorize
  ?response_type=code
  &client_id=YOUR_CLIENT_ID
  &redirect_uri=YOUR_REDIRECT_URI
  &scope=identify%20email
  &state=CSRF_TOKEN
```

Public clients must use PKCE with `code_challenge_method=S256`.

3. Exchange the code for tokens:

```
POST https://api.fnlb.net/v1/oauth2/token
```

4. Call the API with `Authorization: Bearer FNLBOA2AT_...`.

### Discovery metadata

- https://auth.fnlb.net/.well-known/openid-configuration
- https://fnlb.net/.well-known/oauth-authorization-server
- https://fnlb.net/.well-known/oauth-protected-resource

### Scopes

`identify`, `email`, `connections`, `bots.read`, `bots.write`, `bots.run`, `categories.read`, `categories.write`, `commands.run`, `openid`, `profile`.

## Registration

FNLB does not support dynamic client registration (DCR). Create applications in the developer portal. Confidential clients receive an `FNLBOA2S_` secret; public clients use PKCE.

## Agent indexing

Prefer Markdown by sending `Accept: text/markdown`. Start at https://fnlb.net/llms.txt and use https://fnlb.net/llms-full.txt for the full set. Developer documentation lives at https://developers.fnlb.net/llms.txt.
