What the brand gets

The running jobjob_4Tx2 · delivered · workpapers-2026.txt · return.txt · $1,800.00 charged

The tax brand's API, CLI, MCP server, SDK, Site, Docs and App, each generated from its files, in its own words of return, taxpayer, review and preparer.

tax's wordsreturn is a jobtaxpayer is a subjectreview is a taskpreparer is a member

Ten files of Services, and the brand gets seven surfaces. Each one below is what the brand serves for this folder. brand.ts sets the words, so a business, an agent or a preparer reads return, taxpayer, review and preparer everywhere, and never the words services.dev uses inside.

Every route its openapi.json lists, one for each of the ten Services. Time adds the taxpayer's routes, the clocks with their acknowledge, satisfy and choose calls, and the subscriptions:

Call
→ GET /openapi.json
magic values: none
  servers https://apis.tax (tax's own origin) · http://localhost:8787 (Where dev serves it now)
  POST GET    /returns
  POST        /amended-return
  POST        /annual-return
  POST        /carryforward-watch
  POST        /estimate
  POST        /information-returns
  POST        /notice-response
  POST        /question
  POST        /tax-plan
  POST        /transcript
  POST        /year-end-close
  GET         /amended-return.json
  GET         /annual-return.json
  GET         /carryforward-watch.json
  GET         /estimate.json
  GET         /information-returns.json
  GET         /notice-response.json
  GET         /question.json
  GET         /tax-plan.json

The help, run in the brand's folder:

Run
npx services.dev help
magic values: none
  clocks assign <clock> <preparer>  assign the preparer who answers for a clock
  returns get <return>              read a return
  returns list                      the buyer's returns, newest first
  taxpayers list                    the taxpayers your returns joined
  taxpayers get <taxpayer>          read a taxpayer
  clocks list                       the clocks your returns and their taxpayers run
  clocks get <clock>                read a clock
  clocks ack <clock>                acknowledge a clock you answer for
  clocks satisfy <clock>            close a clock you answer for, on evidence on the record
  clocks choose <clock> <option>    choose one of a clock's lapse options at its date
  subscriptions list                your subscriptions
  subscriptions get <subscription>  read a subscription
  subscriptions cancel <subscription>  cancel a subscription
  me taxpayers                      the taxpayers where you are of record
  taxpayers withdraw <taxpayer> <successor>  withdraw as the preparer of record, naming your successor
  test-clocks create <frozen_at>    make a test clock frozen at a time
  test-clocks advance <clock> <to>  move a test clock to a time, or by a span
  get <return>                      returns get
  tick <span> [--test-clock <tc_>] [--market <m>]  test-clocks advance: move dev's own clock, or --test-clock that one, such as 7d; --market checks dev's simulated market

The buyer toolset an agent lists, then the typed client services.dev sdk writes. An agent orders and reads returns, and never signs, files or consents for anyone:

Call
→ tools/list
magic values: none
  order_return              Order any of tax's 10 Services: name it in service, with its own fields.
  get_return                Read a return, now or after waiting up to wait seconds while it works or waits on a person.
  list_returns              The buyer's returns, newest first: OK, or EMPTY when none match.
  accept_return             Accept a delivered return.
  send_back_return          Send a return back with a note, and the AI redoes it: a delivered one as the buyer, a waiting one as the person at the line.
  cancel_return             Cancel a return before delivery.
  end_return                End a return at one of its ends, as that end's by allows.
  reorder_return            Order an ended return again, or a follow-on Service its end offers: a new return, with from on its record.
  set_return_policy         Set a return's policy values within their bounds: mechanics from the buyer or the brand's console, merits from the client alone.
  send_return_signal        Raise one of the Service's inbound signals.
  send_return_message       Say something in the return's thread as the client.
  list_return_messages      Read the return's messages, oldest first: one resource with the posts.
  reissue_ask               Reissue an open ask's link, to hand to its party again.

# SDK: the generated client's namespaces and their methods
  amendedReturn       order
  annualReturn        order
  carryforwardWatch   order
  estimate            order
  informationReturns  order

The head of the annual return's page, as a browser gets it:

Call
→ GET /annual-return   # accept: text/html
magic values: none
  Annual Return
  Returns, e-filed.
  $1,800 per return, filed 5 days before its deadline, 20% off if late, or we pay the penalty and its interest, up to $5,000, after we ask the IRS to take it off, charged when file is accepted. · A signer signs at sign, as the paid preparer for the brand's firm. The owner signs the §7216 consent first, uploads at organizer and signs Form 8879-CORP or 8879-PE at authorize.
  curl http://localhost:8787/returns \

The brand's own llms.txt: what it sells, then each Service with its price and who signs:

Call
→ GET /llms.txt
magic values: none
# tax

> tax sells Amended Return, Annual Return, Carryforward Watch, Estimated Payment, Information Returns, Notice Response, Tax Question, Tax Plan, Tax Transcript and Year-End Close. Order over MCP at http://localhost:8787/mcp or HTTP; every price is at http://localhost:8787/pricing.

## Amended Return

Amended returns. $900 per return, within 30 days, charged when file or aar is accepted. A preparer does the prepare step. A signer signs at sign, as the paid preparer for the brand's firm. The owner signs Form 8879-CORP or 8879-PE at authorize.

MCP: order_amended_return at http://localhost:8787/mcp

```
curl http://localhost:8787/returns -H 'content-type: application/json' -d '{"service":"amended-return","ein":"12-3456789","tax_year":"2026","entity":"C corp","jurisdictions":["US","US-CA"],"books":"https://books.example/acme","max_usd":900,"key":"any-string-you-choose"}'
```

…

One brand serves three apps, each at its own path: the customer portal, the preparers' delivery portal and the owner console:

Call
→ GET /portal   # the customer portal, accept: text/html
magic values: none
  Your returns
→ GET /practitioners   # the delivery portal, in a preparer's own session, accept: text/html
  Practitioners
→ GET /console   # the owner console, accept: text/html
  Owner console

The customer portal, the delivery portal and the owner console show their screens. Brand() covers the words.