Supported Quirello surface
Exact operator operations, public routes, bindings, and error meanings.
The table below renders from QUIRELLO_OPERATOR_OPERATIONS. The registry owns operation names, descriptions, input and result schemas, and declared error codes.
| Operation | Description | Declared errors |
|---|---|---|
quirello.redirect.get | Get one redirect rule by its exact source path | invalid-input, dependency-unavailable, internal-error, not-found |
quirello.redirect.list | List redirect rules | invalid-input, dependency-unavailable, internal-error |
quirello.redirect.upsert | Create or update an exact-match redirect rule | invalid-input, dependency-unavailable, internal-error |
quirello.redirect.delete | Delete a redirect rule by its source path | invalid-input, dependency-unavailable, internal-error |
quirello.redirect.sync-index | Rebuild the optional redirect lookup index | invalid-input, dependency-unavailable, internal-error |
quirello.form.get | Get one configured form definition | invalid-input, dependency-unavailable, internal-error, not-found |
quirello.form.upsert | Create or update a form definition | invalid-input, dependency-unavailable, internal-error |
quirello.form-submission.list | List stored submissions for a form, newest first | invalid-input, dependency-unavailable, internal-error, not-found |
quirello.media-asset.get | Get one media asset by its stable id | invalid-input, dependency-unavailable, internal-error, not-found |
quirello.media-asset.list | List media assets, optionally filtered by usage or origin | invalid-input, dependency-unavailable, internal-error |
quirello.media-asset.update-metadata | Update metadata on an existing media asset | invalid-input, dependency-unavailable, internal-error, not-found |
quirello.media-upload.create-intent | Create an upload intent and signed byte-transfer URL | invalid-input, dependency-unavailable, internal-error, conflict |
quirello.media-upload.finalize | Finalize a previously transferred media asset | invalid-input, dependency-unavailable, internal-error, not-found |
Inspect the canonical operation registry for exact input and result schemas. All Operator errors use one of these codes: invalid-input, not-found, conflict, dependency-unavailable, internal-error.
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 and its test.