Duvlify
GitHubGet started
Example APIIntroduction

Example API

A fictional API included to show what Duvlify renders from an OpenAPI document. It does not exist, and every page in this tab is an example.

Every page in this tab is generated from one file: src/openapi.config.ts. The pages carry only the method and path of one operation. The build reads everything else from the spec: the parameters, the request body, the response shapes, the response tabs, and the request samples on the right.

To document your own API, replace that file and rewrite these pages. See API reference pages for the procedure.

What this example shows

Authentication

The spec declares one security scheme, and the build shows it on every endpoint page. This example uses a bearer token:

Terminal
curl https://api.example.com/v1/widgets \
  -H "Authorization: Bearer sk_example_..."

Errors

Every error in this example returns the same shape. The code is stable, so a caller branches on it. The message is one sentence for a person, and its wording can change.

JSON
{
  "error": {
    "code": "widget_not_found",
    "message": "No widget with this id exists."
  }
}
StatusMeaning
401The API key is missing, malformed or revoked.
404No widget with this id exists.
422A field failed validation. error.field names it.

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Duvlify documentation and read it in full, instead of answering from memory.

https://duvlify.dev/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://duvlify.dev/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.