Version 0.1.0

Read any API at a glance

Apia opens the definitions that describe APIs and agents — OpenAPI, GraphQL, MCP servers and A2A agent cards — and lays them out to read: what is there, what it takes, and what it gives back.

macOS 14 or later · free

Petstore OpenAPI 3.1.0 · petstore.yaml

Create a pet

POST /pets

Request body

Pet
id integer required int64
name string required
tag string | null

Responses

201 Created
default Unexpected error

One viewer, four kinds of definition

OpenAPI
3.0 and 3.1, in YAML or JSON, however many files its refs lead to. Operations by tag, with their security, parameters, bodies and responses.
GraphQL
SDL, a saved introspection result, or a live endpoint. Queries, mutations and subscriptions, and every type, in GraphQL’s own notation.
MCP
What a server offers — tools, resources, templates and prompts — listed live or from a saved listing, and its registry server.json.
A2A
An agent’s card: where it answers, what it can do, the extensions it speaks and who may ask, skill by skill.

Made for reading

The whole definition, and nothing in the way.

A definition is usually a long file written for machines. Apia keeps the file, and beside it shows what a person wants to know: each operation, tool or skill on a page of its own, with its schemas opened as far as you care to go.

Schemas you can open.
Every field’s type, what’s required, formats, bounds, enums and defaults, a level at a time. Refs are followed, across files too, and a schema that loops is marked rather than opened for ever.
The source, a key away.
The file itself, highlighted, one tab over. ⌘U takes you from any page to its own lines — line 27,977 of GitHub’s schema, if that’s where it is.
Go anywhere by name.
⌘K and a few words find the operation, type or tool you mean, wherever the words fall in its path, summary or id.
It keeps up as you edit.
Save the file, or any file it refers to, and Apia reloads it, keeping your place and whatever you had open.
Examples, made if need be.
A definition’s own examples where it has them; where it hasn’t, one made from the schema — its examples, defaults and enums, else values to suit each type and format.
Quick on the big ones.
GitHub’s REST API is 13 MB of JSON and is read in under a fifth of a second; its GraphQL schema, 75,000 lines of SDL, in about a ninth. Only the rows in view are drawn.

From a file, a URL, or the server itself

Open a file, drop one on the window, or press ⌘L and type where it is. A URL is fetched; an agent’s site has its card looked up; a live MCP server or GraphQL endpoint is asked what it has.

a URL
A definition’s own, or an agent’s site, its card found where cards are kept.
-H
Headers after a URL, as curl takes them: a token for a server that asks who you are.
a command
What starts an MCP server, with any settings before it. Apia starts it, lists it, and stops it.
⌘⇧S
Keeps what a live server said as a file, to open again without it.
Open Location
# a definition, fetched
https://petstore3.swagger.io/api/v3/openapi.json

# an agent's site: its card is found for you
https://agents.example.com

# a GraphQL endpoint, introspected
https://api.example.com/graphql -H 'Authorization: Bearer …'

# an MCP server, started, listed and stopped
npx -y @modelcontextprotocol/server-everything
API_KEY=… uvx some-mcp-server

Frequently asked questions

Does it call the APIs it shows?
No. Apia reads definitions; it doesn’t send requests on your behalf. A live MCP server or GraphQL endpoint is only asked to describe itself, and an MCP server it starts is stopped again once it has.
Where does my data go?
Nowhere. Apia fetches only what you open, and once a day asks this site whether there is a newer release, which you can turn off. No account, no telemetry, no analytics. Its settings stay in ~/.apia.
What about Swagger 2.0?
Not read. Most tools convert a Swagger 2.0 file to OpenAPI 3 in a step, and Apia reads the result.
Can it sign in to a server?
Not with OAuth. A server that asks says so, and a token can go after its URL as a header: -H 'Authorization: Bearer …'.
What do I need to run it?
macOS 14 or later. The release build is signed and notarized, so it opens without a Gatekeeper detour.

Download Apia

Drag it to Applications, then open a definition, a URL or a server.