API Reference / Endpoints
Get Account
The Get Account endpoint tells you whether an account API key (wl_acct_…) is live and what it can do: the account it belongs to, the plan, how many waitlists the account owns against its limit, and the remaining AI credits.
Make it the first call of any integration. A 200 means the key works; a 401 means it is missing, wrong, or revoked — you don't have to find out by attempting a real write.
It is read-only and works on every plan.
Endpoint Details
- URL:
https://waitlister.me/api/v1/me - Method:
GET
Request
Headers
X-Api-Key: wl_acct_your-account-api-key
A per-waitlist API key (wl_…) is not accepted here — the endpoint is account-scoped, and per-waitlist keys return 401 with a message pointing at Settings → API keys.
Example Request
curl "https://waitlister.me/api/v1/me" \
-H "X-Api-Key: wl_acct_your-account-api-key"
Response
Success Response 200
{
"success": true,
"data": {
"account": {
"id": "aBcDeFgH123",
"username": "janedoe"
},
"plan": {
"name": "Growth",
"api_access": true
},
"waitlists": {
"count": 3,
"max": 10,
"can_create": true
},
"ai_credits": {
"remaining": 42
},
"api_key": {
"name": "agent key",
"created_at": 1754006400000,
"last_used_at": 1755500000000
}
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
account.id | String | ID of the account the key belongs to |
account.username | String | Account username |
plan.name | String | Plan display name, e.g. Growth |
plan.api_access | Boolean | Whether the plan includes the general API — see the note below |
waitlists.count | Number | Waitlists the account owns |
waitlists.max | Number | String | The plan's waitlist limit — a number, or the string "unlimited" |
waitlists.can_create | Boolean | Whether Create Waitlist would succeed right now |
ai_credits.remaining | Number | AI landing-page credits left. 0 on plans without AI access, null if it can't be resolved |
api_key.name | String | The label you gave the key when you created it |
api_key.created_at | Number | Key creation timestamp (Unix ms) |
api_key.last_used_at | Number | Timestamp of the previous call (Unix ms) — see the note below |
The API key itself, its hash, and the account email are never returned.
api_key.last_used_at is one call behind. The "last used" timestamp is written asynchronously and races this response, so it reflects the call before this one, not this one. A null value means the key has never been used before now.
can_create is a dry-run, not an estimate
waitlists.can_create is computed by the same code that gates Create Waitlist, so the two can't disagree. If it's false, a POST /api/v1/waitlists right now returns 403; if it's true, the waitlist limit won't be the thing that stops you.
Note that the first waitlist is always allowed, whatever the plan's limit says.
api_access and free plans
plan.api_access describes the general API only. When it's false, an account key still works for this endpoint, creating and listing waitlists, adding subscribers, reading stats, and the landing page endpoints — at reduced rate limits. Managing subscriber data (list, get, update, delete) requires the Growth plan or higher.
Error Responses
| Status Code | Description |
|---|---|
401 | Missing key, a per-waitlist key instead of an account key, or a key that is unknown or revoked |
429 | Rate limit exceeded (20 RPM on Free/Launch/Pro, 60 RPM on Growth, 120 RPM on Business) |
500 | Server error |
A revoked key and a key that never existed both return the same Invalid API key message. That's deliberate — the response doesn't reveal which guesses were once real.
