LPM CLI

LPM CLI developer resources

Find LPM CLI OpenAPI, search API, auth, MCP, agent skill, webhook, and machine-readable documentation.

Use this page to find developer and agent entry points for LPM CLI and cli.lpm.dev.

LPM CLI is a local executable, not an HTTP API. The OpenAPI file on this site describes only the public documentation search API. It does not describe the LPM.dev Registry API.

curl -sS https://cli.lpm.dev/openapi.json
curl -sS https://cli.lpm.dev/.well-known/api-catalog
curl -sS https://cli.lpm.dev/llms.txt

Machine-readable entry points

ResourceURLUse
OpenAPI 3.1/openapi.jsonDiscover the public cli.lpm.dev documentation search API.
API catalog/.well-known/api-catalogDiscover APIs through an RFC 9727 linkset.
Agent index/llms.txtFind documentation pages and primary machine-readable resources.
Full documentation/llms-full.txtLoad the complete LPM CLI documentation corpus as markdown.
Markdown pageAppend .mdx to a documentation URLLoad one page as markdown. For example, use /docs/packages/install.mdx.
Agent Skills/.well-known/agent-skills/index.jsonDiscover installable LPM CLI instructions for agents.
Sitemap/sitemap.xmlFind canonical HTML documentation pages.

HTML documentation pages also support content negotiation. Send Accept: text/markdown to receive the markdown version.

curl -sS -H 'Accept: text/markdown' https://cli.lpm.dev/docs/packages/install

LPM CLI documentation search API

The search endpoint returns public documentation pages, headings, and text fragments. It does not require authentication.

curl -sS --get https://cli.lpm.dev/api/v1/search \
  --data-urlencode 'query=install' \
  --data-urlencode 'limit=10'

Each result contains an id, url, type, and content value. A result can also contain breadcrumbs. The type value is page, heading, or text.

Use /openapi.json as the authoritative HTTP contract for this endpoint.

Versioning and deprecation

The API version is part of each stable URL. The current stable version is v1.

Compatible changes can add response fields or optional parameters to v1. An incompatible change uses a new /api/vN path.

The unversioned /api/search alias was deprecated on August 24, 2026. Use /api/v1/search for new integrations.

The alias returns the RFC 9745 deprecation date and a link to this policy.

Deprecation: @1787529600
Link: <https://cli.lpm.dev/docs/developer-resources#versioning-and-deprecation>; rel="deprecation"; type="text/html"

A deprecated version remains available for at least 12 months after its Deprecation date.

If removal is scheduled, responses include an RFC 8594 Sunset header at least six months before removal. This page will include migration steps.

Rate limits

The search API uses a fixed quota of 60 GET requests per 60 seconds. The quota applies to each client network source.

The versioned route and the deprecated alias share the same quota. Each accepted GET request consumes one quota unit.

Each running site process tracks its own quota. Use the fields on each response as the current throttling guidance.

Responses include the current RateLimit and RateLimit-Policy fields from draft-ietf-httpapi-ratelimit-headers-11. The IETF document is an active Internet-Draft.

RateLimit-Policy: "docs-search";q=60;w=60
RateLimit: "docs-search";r=42;t=30

The r parameter is the available quota. The t parameter is the effective window in seconds.

Responses also include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset for clients that use the legacy fields.

If the quota is exhausted, the API returns HTTP 429 with an RFC 9457 response. The response includes Retry-After and recovery details.

{
  "type": "https://iana.org/assignments/http-problem-types#quota-exceeded",
  "title": "Too many requests",
  "status": 429,
  "detail": "The documentation search quota is exhausted.",
  "instance": "/api/v1/search",
  "code": "RATE_LIMIT_EXCEEDED",
  "message": "The documentation search quota is exhausted.",
  "resolution": "Wait 30 seconds, then retry the request.",
  "documentation_url": "https://cli.lpm.dev/docs/developer-resources",
  "violated-policies": ["docs-search"]
}

JSON errors

API errors use RFC 9457 Problem Details. Each error also contains a stable code, a message, a resolution, and a documentation_url.

{
  "type": "about:blank",
  "title": "API route not found",
  "status": 404,
  "detail": "No API route exists at /api/not-a-route.",
  "instance": "/api/not-a-route",
  "code": "API_ROUTE_NOT_FOUND",
  "message": "No API route exists at /api/not-a-route.",
  "resolution": "Read https://cli.lpm.dev/openapi.json and use a documented path.",
  "documentation_url": "https://cli.lpm.dev/docs/developer-resources"
}

Authentication

The documentation search API is public. It does not accept an LPM CLI token.

For package and registry authentication, read LPM CLI authentication. For local credentials and token rotation, read lpm login and lpm token-rotate.

MCP and Agent Skills

Use lpm mcp to connect supported editors to the LPM.dev Registry MCP server. This MCP server gives an agent registry search, package details, install hints, and audit tools.

Use LPM CLI Agent Skills for reusable instructions. LPM CLI can install skills from packages, Git repositories, URLs, and local files.

Webhook development

Use lpm tunnel to expose a local callback URL. The tunnel can capture and replay webhook requests during development.

The cli.lpm.dev documentation site does not receive product webhooks.

See also