---
title: Supported Quirello surface
description: Exact operator operations, public routes, bindings, and error meanings.
---

import {
  QUIRELLO_OPERATOR_ERROR_CODES,
  QUIRELLO_OPERATOR_OPERATIONS,
} from "@paitronage/quirello/operator";

export const operations = Object.entries(QUIRELLO_OPERATOR_OPERATIONS);

The table below renders from `QUIRELLO_OPERATOR_OPERATIONS`. The registry owns operation names, descriptions, input and result schemas, and declared error codes.

<table>
  <thead>
    <tr>
      <th>Operation</th>
      <th>Description</th>
      <th>Declared errors</th>
    </tr>
  </thead>
  <tbody>
    {operations.map(([name, definition]) => (
      <tr>
        <td>
          <code>{name}</code>
        </td>
        <td>{definition.description}</td>
        <td>
          <code>{definition.errorCodes.join(", ")}</code>
        </td>
      </tr>
    ))}
  </tbody>
</table>

Inspect the [canonical operation registry](https://github.com/patronage/quirello/blob/main/src/operator/definitions.ts) for exact input and result schemas. All Operator errors use one of these codes: <code>{QUIRELLO_OPERATOR_ERROR_CODES.join(", ")}</code>.

## public HTTP routes

| Method and route | Purpose | Mutation authority |
| --- | --- | --- |
| `GET /q/forms/:slug` | Read an active normalized form definition. | Read only. |
| `POST /q/forms/:slug/submit` | Validate and persist a public form submission. | Narrow public intake. |
| `GET /q/media/assets/:id` | Read stored media bytes. | Read only. |
| Signed `PUT /q/media/upload/:id?...` | Transfer bytes for one upload intent. | Signed byte transfer only. |
| MCP transport at `/q/mcp` | Expose the Operator Contract. | The only operator mutation surface. |

There are no direct HTTP routes for redirect, form-definition, or media-metadata mutations.

## Cloudflare host bindings

| Binding | Consumer | Behavior when absent |
| --- | --- | --- |
| `QUIRELLO_DB` | Forms, submissions, media records, and canonical redirects. | Local hosts can use seeded memory state; remote operations that need D1 fail. |
| `QUIRELLO_MEDIA` | Media byte storage. | Local hosts can use memory state; remote media operations fail. |
| `QUIRELLO_REDIRECTS_KV` | Optional derived redirect lookup index. | Redirect operations use the canonical store without that index. |
| `QUIRELLO_OPERATOR_TOKEN` | Non-local MCP authentication. | The MCP endpoint returns unavailable. |
| `QUIRELLO_UPLOAD_SIGNING_SECRET` | Signed Upload URL creation and verification. | Signed transfer cannot be authorized remotely. |
| `QUIRELLO_FORM_RATE_LIMITER` | Optional public form intake limit. | Intake proceeds without this optional limit. |

The Website Host Adapter supplies bindings, route mounting, redirect lookup scope, and site presentation. For a detailed runnable use of the registry, read the [redirect source tutorial](https://github.com/patronage/quirello/blob/main/src/tutorials/redirect.ts) and [its test](https://github.com/patronage/quirello/blob/main/src/tutorials/redirect.test.ts).
