Platform
Support
Where to ask, and what to include so that the answer takes one round trip instead of four.
Where to ask
| Channel | Best for |
|---|---|
| hello@lobstack.ai | Everything: questions, bugs, account and billing. It reaches one person, which is also why it gets answered. |
| github.com/lobstack-ai | Issues against published code. |
| x.com/lobstack | Release announcements. Not a support queue. |
discord.gg/lobstack and that invite is dead — the API answers Unknown Invite. Email is the support channel. If a community server opens, this is where it will be linked from.The request id
For anything involving the Gateway, the single most useful thing you can send is the value of x-lobstack-request-id. It is on every response, success or failure, and it is allocated before authentication runs, so even a 401 carries one. Error bodies repeat it as error.request_id.
That id is the key to a stored trace row: the model you asked for, the model that served you, the provider, the status code, the error class, the latency, the token counts and the priced cost. With it, a report is a lookup. Without it, it is an interview.
If you did not capture the headers, you can still find the request in Console → Logs, which lists one row per request newest first and filters by key, model, status and period; expanding a row shows the id. Log the id on your side from the start and you will not have to.
What to put in a report
- request_idstringrequired
- From
x-lobstack-request-id. One is enough; three showing the same failure is better. - key prefixstring
- The
lsk_live_…prefix only, never the whole key. The prefix is not secret and identifies the key; the rest of it is the secret and we cannot use it for anything. - what you sentstring
- The model you asked for, whether you streamed, and whether tools were in the request.
- what came backstring
- The status code and the
error.type, or a description of how the response was wrong if it was a 200. - whentimestamp
- With a timezone. "This morning" is four hours wide.
Things worth checking first
| Symptom | Most likely cause |
|---|---|
| 401 with “invalid API key” | The key does not match the shape lsk_<env>_…, or it is from a different environment. Revoked and expired keys say so explicitly. |
| 403 mentioning a scope | The key was minted without inference. Scopes are fixed at creation; mint a new key. |
| 402 | The monthly allowance is exhausted. x-lobstack-quota-meter says which allowance — dollars of model spend, requests, or legacy messages — the other quota headers say by how much, and retry-after says when it resets. |
| temperature appears to be ignored | Some models reject sampling parameters and the Gateway drops rather than forwards them. Check for x-lobstack-dropped-params. |
| A cheaper model than expected | Routing scored the prompt into a lower tier. x-lobstack-complexity and x-lobstack-tier show the decision; the routing preview reproduces it for free. |
| x-lobstack-savings-usd is empty | There was no baseline. Either nothing was routed away from, or a price was missing for one of the two models. On "auto" a priced plan does get a baseline — check x-lobstack-baseline-reason, which reads plan_ceiling in that case. |
| a savings figure that looks too good | Read x-lobstack-baseline-reason. plan_ceiling means the comparison is against the most expensive model your plan allows, not against a model anyone asked for. |
The six error classes and what to retry are on Errors & retries.
Security reports
Send anything exploitable to hello@lobstack.ai rather than to a public issue. Include enough detail to reproduce, and the request id if the Gateway is involved. More context is on the security page.