An agent token lets a program act on GeoHazardWatch as you, without knowing your password. Use one when a script, an AI assistant, or another system needs to read or write pages on your behalf.
A token is a delegation of your own authority. It can never do anything you could not already do yourself, and everything it does is recorded against both your account and the token's name.
A password is all-or-nothing and permanent. A token is not:
Handing over a password gives up all four.
Tokens are off by default. If you do not see the Agent API Tokens section described below, an administrator needs to enable them first — see Server Management.
| Field | What to put |
| --- | --- |
| __Name__ | What the token is for, such as import-script or research-assistant. This name appears in the audit trail on every change the token makes, so make it identify the program. |
| __Permissions__ | The least the program needs. See the table below. |
| __Hours__ | How long it should live, from 1 to 24. |
| Option | The program can | Choose it when |
| --- | --- | --- |
| Read only | Read pages | The program only gathers information |
| Create and edit pages | Add new pages and change existing ones | The usual choice for importing or generating content |
| Create, edit and rename | Also change page titles | The program reorganises pages |
| Create, edit, rename and delete | Also delete pages | Rarely. Deleted pages remain recoverable from the trash |
Pick the narrowest option that works. You can always create a second token later.
The token is shown once, when you create it. It is not stored anywhere you can read it back — only a scrambled form is kept, so nobody, including an administrator, can recover it afterwards.
Copy it straight into wherever the program keeps its settings. If you lose it, revoke it and create another; there is no way to look it up.
A token looks like ngdp_at_ followed by a long string of characters.
The program sends the token with each request, in a header:
Authorization: Bearer ngdp_at_your-token-here
Most tools have a field for this — often labelled "Bearer token", "API token", or "Authorization header". Anything that can call a web API can use one.
A token is a working credential for your account, within the limits you set.
Your Profile Page lists every token you have, with its name and when it expires. Each has a control to revoke it.
Revoking is immediate — the next request using that token is refused. Nothing else you own is affected, and your password is unchanged.
Every token expires within a day at most. This is deliberate: a credential that lives forever is one that leaks quietly and keeps working.
A program that runs continuously therefore needs a new token each day, created here while you are signed in. There is no way for a program to renew its own token — that is the point, since anything able to renew a credential indefinitely is close to a permanent one.
If a program stops working and reports an authorisation failure, an expired token is the first thing to check.