Skip to content
Developers & agents

Drive Origami from your own systems

One workspace, three ways in: a JSON API, an OpenAPI description of it, and an MCP server that hands an agent the same tools under the same tenancy and the same quotas.

Workspace API v1

Every endpoint lives under /api/v1, speaks JSON, and answers an error as {error, reason, detail} with a stable machine reason. A request carries a workspace API key as a Bearer token, and the key is what names the workspace — tenancy is never a request parameter, so a key can only ever reach its own library.

Getting a key

Owners and admins mint keys in Settings → API keys, where the value is shown once. From a console, `php artisan api:token` issues one for a user.

Full endpoint reference

Abilities

A key carries only the abilities it was minted with, and every route checks one:

library:read
Read the workspace, its publications, file versions, runs and reports.
library:write
Upload files, register publications, and re-push a reader mirror.
tools:run
List the tool catalog and start tool runs.

Quickstart

One request proves a key works and says what it may run: the tool catalog, as the API exposes it.

List the tools this key can run

curl https://origami.publica.la/api/v1/tools \
  -H "Authorization: Bearer ${ORIGAMI_API_KEY}" \
  -H "Accept: application/json"

The response lists each tool with its slug, whether it is metered, and what it accepts. From there, the upload → run → read → download loop is documented on the API page.

OpenAPI description

The workspace plane is described as an OpenAPI document. Point a client generator, an HTTP client or an agent at it and it has the whole surface — paths, parameters, schemas and the error shape — without reading this page.

https://origami.publica.la/openapi.json Open the specification

MCP server

Origami speaks the Model Context Protocol over Streamable HTTP, so an agent can browse a workspace and run tools the same way an HTTP client does. Every MCP tool reuses the service behind the endpoint it mirrors — same tenancy, same abilities, same quotas — so the two planes cannot drift apart.

Endpoint

POST https://origami.publica.la/mcp

Two ways to authenticate

  • A workspace API key as a Bearer token, exactly as the HTTP API takes it. This is the one to use for a server-side agent.
  • OAuth, for clients that register themselves: dynamic client registration with PKCE, scope mcp:use. The token acts as the user on their current workspace.
What you can do over MCP

Connect from Claude Code

claude mcp add --transport http origami https://origami.publica.la/mcp \
  --header "Authorization: Bearer ${ORIGAMI_API_KEY}"

Discovery

An OAuth client finds everything it needs from the protected-resource and authorization-server metadata documents:

If you are an agent

Two plain-text files describe this site without a crawl: one says what Origami is, what it costs and which pages matter; the other says how to authenticate against it.

Wiring something up?

Bulk ingestion, a DAM hook, a preflight pipeline — tell us what you are automating and we will help you connect it.