Developers

Leap Laboratory for developers

The public catalog is free to read. There is no account, no API key, and no token endpoint.

Authentication

No credential is required. The protected-resource metadata names four public read scopes and lists no authorization server. Do not send a bearer token.

  • services:read
  • use-cases:read
  • insights:read
  • booking:read

/.well-known/oauth-protected-resource

Endpoints

Every path accepts GET. Add ?locale=en for English. Finnish is the default. Unknown paths return RFC 9457 problem details.

GET /api/v1
GET /api/v1/services
GET /api/v1/services/{slug}
GET /api/v1/use-cases
GET /api/v1/use-cases/{slug}
GET /api/v1/insights?q={query}&limit={1-50}
GET /api/v1/insights/{slug}
GET /api/v1/booking

curl -sS -H "Accept: application/json" https://leaplaboratory.com/api/v1/services?locale=en

Errors

Errors use application/problem+json. Each body has a stable code and a resolution hint that says what to change.

Discovery

Markdown

Send Accept: text/markdown to a public page. The response is text/markdown and includes Vary: Accept. Browsers that ask for HTML still receive the page.

curl -sS -D - -H "Accept: text/markdown" https://leaplaboratory.com/

WebMCP

Pages register a read-only search_insights tool when the browser provides document.modelContext. The contact form is a declarative request_intro tool and does not auto-submit. The visitor checks the confirmation box and presses Send. A Chrome Origin Trial token, set by the site owner as WEBMCP_ORIGIN_TRIAL_TOKEN, enables this in Chrome 149 and later. Local testing can use chrome://flags/#enable-webmcp-testing.

CLI

A private client lives in this repository at packages/leap-cli. It is not published. Run it with Node from a checkout of the repo.

node packages/leap-cli/bin/leap.mjs services
LEAP_LOCALE=en node packages/leap-cli/bin/leap.mjs search agents

Draft pages

Pages under /agent-leap/docs are an unpublished draft about a self-serve signup that does not exist. They are not linked from the homepage, they are noindex, and they are omitted from the sitemap and llms.txt. This page is the live interface.