| name | Yes | Human name shown in the store. | |
| slug | No | Optional URL slug. Derived from the name when omitted. With manifest_url: picks which Cap in the file to publish. | |
| events | No | Price book events. unit_price_usd is in US dollars, e.g. 0.10. | |
| routes | No | HTTP routes. Billable routes need hold_usd (the most one call may cost). | |
| mcp_url | No | Optional: publish an existing remote MCP server instead of an HTTP API. Must be https. The domain does not need to be verified to go live, but earnings stay frozen until verify_domain passes for it. Qumge calls tools/list to discover the tools, and every tool you price with `mcp_tools` becomes one operation. A tools/call is charged at the price you set only when it comes back 2xx and the tool did not fail; non-2xx, timeouts, a tool result with isError: true and JSON-RPC errors are free. | |
| summary | No | One line describing what it does. | |
| base_url | No | Where the API lives. Must be https. Required unless you give mcp_url. Any path in it (https://host/v2) is part of what your server receives and is covered by the signature. | |
| keywords | No | Other names for the same thing, any language, up to 20. Agents search with a request like "scrape trending TikTok videos" — the keywords are what makes that find this app. | |
| metering | No | reported (the app tells us what to charge) or balance_delta (we read its balance). | |
| auth_mode | No | How qumge calls the service. signature (default): we sign each request and the service verifies it and answers GET /qumge/ping — code to write. api_key: the service is an existing API; we call it with the developer's own key (upstream_token) and nothing in it changes. api_key routes must be exact paths (no * or {}) and billed per call (meter: platform). | |
| mcp_tools | No | Prices for the MCP tools you want listed. Tools you leave out are not published and are reported back to you. | |
| qumge_key | No | Optional: your Qumge API key, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back. | |
| unit_name | No | What users buy, e.g. credit. | |
| skill_slug | No | Optional. Attach an existing skill from the catalog to this app (its documentation then shows on the app page). Ignored if the slug is unknown. | |
| support_url | No | Where users ask for help. Shown on the app page. | |
| balance_path | No | Only for balance_delta: where we read the balance. | |
| manifest_url | No | Optional: publish from the project's qumge.json instead of passing everything by hand. Give https://<domain>/.well-known/qumge.json (or the service address). Its prices are suggestions: confirm them with the developer before submit_cap. With several Caps in the file, pass `slug` to pick one (one call per Cap). Spec: https://qumge.com/docs/caps/manifest | |
| social_links | No | Up to 6 public URLs for the developer (X, GitHub, LinkedIn, their website). Shown on every app page. The kind is guessed from the domain. | |
| upstream_token | No | The developer's own API key for their service. Required for auth_mode api_key (and for balance_delta, and with manifest_url when the file's endpoint auth is api_key). Stored encrypted; sent as Authorization: Bearer. | |
| balance_json_path | No | Only for balance_delta: where in that response. | |
| refund_policy_url | No | Their refund policy, if they have one. | |