Developers

The board game API that actually exists

Your club’s events, members, collection, stats and campaigns as clean REST — documented in OpenAPI, mirrored as llms.txt for coding assistants, and served over MCP so an AI agent can call it directly.

The API console: a scoped ldy_ key, OpenID Connect sign-in setup, base URL, rate limits, llms.txt and the MCP endpoint
An organization profile — the group whose live data the key serves

The surface

RESTOver HTTPS, key-scopedBase https://api.ludoya.com/public/v1, header X-Api-Key
3Doc formatsHuman reference, openapi.json, and llms.txt for your coding assistant
MCPNative server/public/v1/mcp read-only; /mcp/write when the agent may change things
100Requests per minuteThen a 429 with Retry-After — limits stated, not discovered
API key with created and last-used dates, revoke button, AI-assistant instructions card with llms.txt and openapi.json

The console

One page: key, docs, sign-in

Generate an organization-scoped key (ldy_-prefixed, easy to grep for in a leaked config), read the reference, hand your coding assistant the whole API as one paste — the console is built for how integrations get written in 2026.

  • Scoped by design. The key is the organization — every endpoint operates on that group automatically.
  • AI-assistant native. “Copy instructions for your AI assistant” exports the API as one prompt; your key is never included.
  • Revoke in one tap. Created and last-used dates on the key, and a revoke button next to them.
Endpoint-by-endpoint docs
The Sign in with Ludoya section with its issuer URL and set-up button

Sign in with Ludoya

Your website’s login, our OpenID Connect

The same console turns the organization into a standard OIDC provider: Discourse, WordPress or anything that speaks OpenID Connect gets “Sign in with Ludoya” from an issuer URL, a client ID and a secret.

  • No user database to run. People log into your site with the account they already have.
  • Membership stays in step. Approving the sign-in joins them to the group (or files a join request), so /members reflects your site.
  • Users stay in control. Every connection is visible and revocable under Settings → Connected apps.
Integrations overview
The live data an agent can query: groups, events, plays and stats

MCP

Point an agent at it and stop writing glue

Assistants that speak the Model Context Protocol connect straight to /public/v1/mcp with the same key — read-only by default, with a separate /mcp/write endpoint for agents allowed to change data. llms.txt serves the ones that just read docs.

  • Read and write, separated. The permission boundary is in the URL, not in a prayer.
  • Same objects, same scoping. MCP tools cover the REST surface; the key scopes everything to your organization.
  • llms.txt for the rest. Coding assistants without MCP get the whole API as structured text at one URL.
Get the endpoints

Getting started

From key to first response

  1. Generate the key

    Your organization page → API. Business plan feature; the key is scoped to the group.

  2. Curl something

    GET https://api.ludoya.com/public/v1/events with X-Api-Key: your key. Future events, paginated, JSON.

  3. Build the real thing

    Website event widgets, a Discord bot, an attendance dashboard, your club’s WordPress — or hand the llms.txt to your assistant and describe what you want.

What it costs

The Public API — key, REST, MCP, OpenID Connect sign-in — ships with the Business plan, priced on the public pricing page. Rate limit 100 requests/minute per key.

The WordPress plugin and the in-app developer guides are included; the endpoint reference is public so you can evaluate the surface before paying for anything.

“Board game API” used to return nothing useful

Now it returns JSON. Scoped key, three doc formats, MCP included.

Frequently Asked Questions

Who is the API for?

Organizations — clubs, venues, festivals — that want their Ludoya data on their own website, bots or automations. The key is generated by a group admin and scoped to that group.

What can I read and write?

Read: events (with sub-events and participants), members, locations, collection, stats, campaigns, plus user and game search. Write: create/update/publish/cancel events, manage participants, invites, and campaigns with their members.

How does authentication work?

One header — X-Api-Key: ldy_… — against https://api.ludoya.com/public/v1. Keys are 36 characters with a fixed prefix so they are easy to scan for; treat them like passwords, keep them server-side, revoke from the console if leaked.

What exactly is the MCP endpoint?

A Model Context Protocol server over the same surface: connect an MCP-capable assistant to /public/v1/mcp with your key for read-only access, or /public/v1/mcp/write to allow mutations. The split means you decide whether an agent can change data by choosing the URL.

Is there an OpenAPI spec?

Yes — /public/v1/openapi.json, generated from the same spec registry that renders the docs and the MCP tools, so the three never drift apart. llms.txt at /public/v1/llms.txt serves the same content shaped for language models.

What are the limits?

100 requests per minute per key; exceeding it returns 429 with a Retry-After header. Timestamps are ISO 8601, timezones are IANA strings.

Can people log into my site with Ludoya?

Yes — standard OpenID Connect from the same console: issuer URL plus client credentials works with Discourse, WordPress and anything generic-OIDC. Sign-ins link people to your organization according to your join policy.