Skip to main content

Documentation for AI agents

Every page of this documentation is available in a machine-readable form. If you build an AI agent, a retrieval pipeline, or an internal assistant that answers questions about MONEI, use these endpoints instead of scraping the rendered HTML.

What is available​

ResourceURLFormat
Page index (English)https://docs.monei.com/llms.txtMarkdown
Page index (Spanish)https://docs.monei.com/es/llms.txtMarkdown
Any page as Markdownhttps://docs.monei.com/<path>.mdMarkdown
Markdown negotiationAccept: text/markdown on any page URLMarkdown
MCP serverSee MCP serverMCP
In-browser toolsSee In-browser agentsWebMCP
Search APIhttps://docs-search.monei.comJSON
Canonical URLs (EN)https://docs.monei.com/sitemap.xmlXML
Canonical URLs (ES)https://docs.monei.com/es/sitemap.xmlXML
REST API spechttps://js.monei.com/api/v1/openapi.jsonOpenAPI 3
GraphQL schemahttps://graphql.monei.com/GraphQL (introspection)
Postman collectionhttps://postman.monei.com/Postman

Read any page as Markdown​

Drop the trailing slash from a documentation URL and append .md. You get the page content without navigation, scripts, or layout markup:

curl https://docs.monei.com/payments/refunds.md

Spanish pages work the same way under the /es/ prefix:

curl https://docs.monei.com/es/payments/refunds.md

https://docs.monei.com/llms.txt lists every English page with its title, description, and Markdown URL, grouped by section. Start there when you want to walk the whole corpus. The Spanish corpus has its own index at https://docs.monei.com/es/llms.txt, and each locale's pages link to their own index with rel="llms-txt".

You can also ask for it by content negotiation, without changing the URL. Send Accept: text/markdown to any documentation URL and you get that page's Markdown; the response carries Vary: Accept:

curl -H "Accept: text/markdown" https://docs.monei.com/payments/refunds/
tip

The .md URL and the Accept header are equivalent — use whichever your client makes easier. Anything already carrying an extension, such as /llms.txt or /sitemap.xml, is served as-is either way.

MCP server​

The documentation index is published as a hosted Model Context Protocol server. Point an MCP client at this URL — there is no key to obtain, no account to create, and nothing to install:

https://docs-mcp.monei.com/mcp

Add it to your client​

claude mcp add --transport http monei-docs https://docs-mcp.monei.com/mcp

Check it registered with claude mcp list.

Once connected, ask your agent something the docs answer — "how do I refund a payment with MONEI?" or "which payment methods support pre-authorization?" — and it will search these pages instead of guessing.

It exposes two tools:

ToolWhat it does
algolia_search_index_moneiSearch the documentation. Same index as the site's search.
algolia_search_for_facet_valuesList the values of a facet, such as lang or record_type.

Results are the same DocSearch records described under Response shape, so each hit carries the section anchor to cite and a url whose Markdown twin you can fetch (drop the #anchor and the trailing slash, then append .md).

info

The server is read-only — it can search the documentation and nothing else. It reaches no MONEI account, payment, or customer data.

In-browser agents​

If you read this documentation in a browser or desktop app with a built-in AI agent, every page hands that agent two tools automatically. There is nothing to install and no key to obtain — the agent can search the whole documentation instead of only seeing the page you have open.

ToolWhat it does
search_monei_docsSearch the documentation, in the language of the page you are reading.
read_monei_docs_pageRead one page as Markdown.

This uses WebMCP, a draft web standard for pages that offer tools to an agent. Which browsers and agents implement it is changing quickly — the project publishes a current support list. If yours does not support it yet, nothing happens and the page behaves exactly as before.

info

Both tools are read-only and both are limited to this published documentation. They reach no MONEI account, payment, or customer data, and they cannot change anything.

Search here is the same index as the search API below, which matches keywords, not meaning. An agent that sends a whole question tends to get confident but irrelevant pages back, so search_monei_docs declines a question-shaped query and asks for terms instead — search bizum recurring rather than "can I use Bizum for recurring payments?".

The documentation index is served by Algolia DocSearch. Query it over HTTP with no credentials — the search key is attached for you at the edge:

ParameterValue
Endpointhttps://docs-search.monei.com
Index namemonei

The request and response format is Algolia's, so any Algolia client works if you point it at this host.

curl -G "https://docs-search.monei.com/1/indexes/monei" \
--data-urlencode "query=refund a payment" \
--data-urlencode "filters=lang:en AND record_type:docs" \
--data-urlencode "hitsPerPage=5" \
--data-urlencode "attributesToRetrieve=url,hierarchy,content"

Filters​

Combine these attributes in the filters parameter to narrow a query:

AttributeValuesUse it to
langen, esReturn one language instead of both.
record_typedocs, api, changelogSeparate guides from generated API reference and the changelog.
typecontent, lvl1–lvl6Prefer body text over heading-only records.

Response shape​

Each hit is a DocSearch record: a section of a page, not a whole page.

  • url — the canonical URL, with the anchor of the matching section. To fetch the Markdown, drop the #anchor first, then the trailing slash, then append .md: /payments/refunds/#timing becomes /payments/refunds.md. Appending .md to the whole URL yields #timing.md, which is just a fragment and still requests the HTML page.
  • hierarchy.lvl0–lvl6 — the heading path, from the section down to the matched heading.
  • content — the body text of the section, or null when the record is a heading.

Because every hit carries a section anchor, cite the exact section (/payments/refunds/#timing) rather than pointing a reader at the whole page.

warning

Search is read-only and shared by everyone using these docs. Cache what you retrieve, and do not use search to mirror the corpus — llms.txt and the .md URLs exist for bulk reading.

API specifications​

  • OpenAPI — https://js.monei.com/api/v1/openapi.json describes every REST endpoint, request body, and response schema. It is the source for the REST API reference.
  • GraphQL — https://graphql.monei.com/ accepts standard introspection queries. See the GraphQL API reference and MONEI Connect for who it is for.
  • Postman — https://postman.monei.com/ is a prebuilt collection for trying the REST API.

To call either API you need an API key from your MONEI Dashboard. Use a test key while you build — see Test and go live.

Crawling​

https://docs.monei.com/robots.txt allows every crawler, including GPTBot, ClaudeBot, Google-Extended, PerplexityBot, and Amazonbot. Nonexistent paths return a real HTTP 404, so you can trust a 404 to mean the page does not exist.

Common questions​

Should I use the MCP server or the search API?​

Use the MCP server if your client speaks MCP — it needs no credentials and no code. Use the search API when you are writing your own retrieval pipeline and want direct control over filters and pagination. Both query the same index.

Do I need an API key to search?​

No. docs-search.monei.com attaches a search-only key at the edge, so your client sends nothing. It queries the documentation index and nothing else — it grants no access to your MONEI account.

Do I need to install anything to use the in-browser tools?​

No. If your browser or desktop app supports WebMCP, its agent picks up the tools from the page itself. If it does not, nothing happens — use the MCP server or the search API instead.

Which URL should an agent cite?​

Cite the HTML URL, including the section anchor — it is the canonical address a human can open. To read that page as Markdown, strip the anchor and the trailing slash first, then append .md.