Agent-ready surface

Give agents a clean, tenant-safe way to manage recurring spend.

Weber Cash can already be used from AI agents through scoped API keys and the public REST API. The right flow is simple: human setup, least-privilege key creation, workspace-safe automation, and public endpoints only.

Quick start

Read https://app.weber.cash/skill.md
Use https://app.weber.cash/api/public/v1
Auth: Authorization: Bearer stk_...
Scope: least privilege
Model: workspaces, subscriptions, domains

Keys are created in dashboard settings and shown only once.

Workspace binding is the preferred default for automation.

Subscription and domain deletes perform cancellation behavior.

Setup

How to onboard an agent without widening its permissions

Create an account

A human operator signs up, signs in, and opens dashboard settings before any agent calls are made.

Create a scoped key

Generate an API key for only the scopes the automation needs, and bind it to one workspace when possible.

Use the public API

Read skill.md, then call /api/public/v1 for workspaces, subscriptions, and domains with Bearer auth.

Compatibility

Any runtime that can read Markdown and call HTTPS can use this.

The public surface is intentionally plain. If an agent can read skill files, store a secret, and call authenticated HTTP endpoints, it can operate Weber Cash today.

Codex
GPT-based agents
Claude
Claude Code
OpenHands-style operator runtimes
Internal automation agents

Public API

The current public contract is narrow by design.

Agents should only use https://app.weber.cash/api/public/v1. Dashboard session routes, billing endpoints, and registrar credential management are not part of the external agent surface.

GET/api/public/v1/workspaces

List the workspaces available to the key.

POST/api/public/v1/workspaces

Create a workspace when the key is not bound to one workspace.

PATCH/api/public/v1/workspaces/:id

Update a workspace name, type, or currency.

DELETE/api/public/v1/workspaces/:id

Delete an empty workspace.

GET/api/public/v1/subscriptions

List subscription records. Domain-backed records are excluded here.

POST/api/public/v1/subscriptions

Create a subscription with workspace-scoped ownership checks.

PATCH/api/public/v1/subscriptions/:id

Update mutable subscription fields.

DELETE/api/public/v1/subscriptions/:id

Cancel a subscription instead of hard-deleting it.

GET/api/public/v1/domains

List tracked domains and linked renewal data.

POST/api/public/v1/domains

Create a domain-backed subscription in one call.

PATCH/api/public/v1/domains/:id

Update domain details and linked renewal fields.

DELETE/api/public/v1/domains/:id

Cancel the linked renewal record instead of hard-deleting it.

Scope model

WORKSPACES_READ

Read workspaces available to the API key.

WORKSPACES_WRITE

Create, update, and delete workspaces the key can access.

SUBSCRIPTIONS_READ

Read subscription records, excluding domains.

SUBSCRIPTIONS_WRITE

Create, update, and cancel subscription records.

DOMAINS_READ

Read tracked domains and their renewal state.

DOMAINS_WRITE

Create, update, and cancel tracked domains.

IMPORTS_WRITE

Reserved for import workflows; public import endpoints are not exposed yet.

Safety rules agents should follow

  • Keep API keys server-side only.
  • Use workspace-bound keys for single-workspace automations.
  • Use /domains for domain renewals and /subscriptions for non-domain spend.
  • Treat delete operations as cancellation behavior, not hard deletion.
  • Do not automate against dashboard session endpoints or internal API routes.

Example workflow

Start with workspace discovery, then write only what you own.

The most reliable operational pattern is workspace lookup first, then targeted writes using the minimum scopes necessary for the job.

curl https://app.weber.cash/api/public/v1/workspaces \
  -H "Authorization: Bearer $SUBTRACKER_API_KEY"

curl -X POST https://app.weber.cash/api/public/v1/subscriptions \
  -H "Authorization: Bearer $SUBTRACKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspaceId": "YOUR_WORKSPACE_ID",
    "name": "Vercel",
    "category": "HOSTING",
    "amount": 20,
    "currency": "EUR",
    "billingCycle": "MONTHLY",
    "nextRenewalDate": "2026-05-15",
    "status": "ACTIVE"
  }'
Weber Cash for Agents | Weber Cash