Files made for agents
Every address below is spelled in full: the root files are onapi.listo.delivery, the documentation files are on docs.listo.delivery.
- Root index:
https://api.listo.delivery/llms.txt. The first file an agent looks for. It only points at the files below. - Agent instructions:
https://api.listo.delivery/AGENTS.md. The short rules for an agent working on an integration, as markdown. - Documentation index:
https://docs.listo.delivery/llms.txt. Every guide and concept page with a one-line description. - All guides in one file:
https://docs.listo.delivery/llms-full.txt. One download with the full text of every guide, for an agent that cannot browse. - OpenAPI document:
https://api.listo.delivery/docs/openapi.yaml. The complete reference for/v1/, in the format code generators and agents read best. - Any page as markdown: the page URL with
.mdadded. For examplehttps://docs.listo.delivery/en/guides/webhooks.md.
.md added, for example
https://docs.listo.delivery/api-reference/deliveries/create-a-delivery.md. For
the whole reference in one document, give the agent the OpenAPI document.
Give an agent a read-only key
An agent that only has to read, list or debug should never hold a key that can create or cancel anything. In the partner dashboard, issue the key with Read-only key ticked. A read-only key can callGET and
HEAD endpoints (balance, ledger, deliveries, request logs, events) and every
other call, including resending an event or sending a test webhook, answers
403 read_only_key.
A key is read-only or full access from the moment it is issued and never changes,
so to give an agent more power you issue another key and revoke the first.
Start with a test key in either case: it acts in test mode, where nothing real
happens. Test mode explains what the simulated
courier does, and Go live covers keys for production.
Errors point at their fix
Every error response carries two fields an agent can use without guessing:doc_url: the page that explains that exacterror.code, what causes it and whether retrying can help. There is one page per code, all listed in the error pages index.request_id: the same value as theX-Request-Idheader on the response. Quote it when you ask a person for help.GET /v1/request_logslists the calls your keys made with what was sent and what was answered, and takes arequest_idfilter.
Connect an AI client over MCP
If your assistant is Claude, Cursor or Codex, you can connect it to Listo’s MCP server instead of having it write HTTP calls. Connect Claude, Cursor or Codex has the server address and the setup for each client. A read-only key works there too: the assistant can read, and every tool that creates, changes or cancels anything in your account is refused withread_only_key, because each tool runs
the matching /v1/ endpoint. A tool that asks to confirm is refused at its
first step, so the assistant is never shown a preview it could not confirm.
Sending feedback to Listo (submit_feedback) still works.
Prompts to copy
Each prompt names the pages to read. Paste it as it is, or add your own details (your language, your framework, where the code lives). The agent should open the pages before it writes anything.Integrate quote and create
Verify webhook signatures
Debug a failed call by its request id
Reconcile my balance
These prompts work in any agent that can fetch a URL or read a file. If yours
cannot browse, download
llms-full.txt and openapi.yaml once and put them in the
project, then replace the URLs in the prompt with the file paths.