Every key
Every key you write on Service(), with its form, its default, the plan it runs live on and the page that explains it, then every key the registry tracks, Rules, Pool and Brand included.
20 keys on Service(), then 121 more in the key registry: every part of them, and Rules, Pool() and Brand(), each with its form and what leaving it out means. A key's page has its every form; this page is where to find it.
Every key runs on every plan in test. Live on is the lowest plan that runs the key on live jobs; plans maps each plan, and check names the one your file needs.
Where a Service's dates fall, in place of the brand's Brand.calendar. Without either, every date closes at 23:59 UTC, rungs ring at midnight UTC, and nothing rolls. Keeping time runs one.
| Key | Written | Left out | Does |
|---|---|---|---|
calendar.zone | string | 'UTC' | An IANA zone: America/New_York. |
calendar.weekends | Weekday[] | Saturday and Sunday, once a calendar is written | The days nothing is due on. |
calendar.closed | (year) => string[] | none | Each year's closed days, as civil dates: year => ['2028-01-17', …]. |
calendar.closes | TimeOfDay | '23:59' | The local minute a due date closes. |
calendar.rings_at | TimeOfDay | '09:00' with a zone, else '00:00' | The local minute a rung rings on its day. |
calendar.roll | 'next open day' | 'none' | 'next open day' | 'next open day' rolls a date that falls on a weekend or a closed day; 'none' keeps it. |
What mints jobs on a subscription. It needs price.every. Schedules and triggers runs both.
| Key | Written | Left out | Does |
|---|---|---|---|
on.schedule | { <name>: Schedule } | none | Dates, by name: { check: 'every monday' }, or { annual: { at: 'Feb 1', order: annualReturn } }. |
on.event | string[] | { <name>: AnyService } | none | Events, by name, from your other Services' jobs on the subject, or from the buyer's systems through POST /events. A list mints this Service; a map routes each event to the Service it names. |
| Key | Written | Left out | Explained in | Live on |
|---|---|---|---|---|
price.approved | number | none | Prices | Free |
price.payout | number | Pct | none | Prices, Pay | Free |
price.share | Pct | none | Outcomes, Prices, The sales money | Launch |
price.within | Within | '48h' | Deadlines, Prices | Free |
price.late | Pct | number | none: a late job charges its price | Deadlines, Keeping time | Free |
input.party | — | — | Fields and type words, Buyer, client, party | Free |
deliver.graph | — | — | The step graph | Free |
deliver.briefs | — | — | AI steps and briefs | Free |
deliver.review | — | — | Harden it, All four, in one filing, deliver, Review steps | Free |
deliver.ask | — | — | Ask the buyer, All four, in one filing, deliver, 'Asks: a ceremony without an account', Grants and decisions, Intake and request lists, Declines and direction, Buyer, client, party, Demand letter, When the attorney declines | Free |
deliver.items | — | — | 'Asks: a ceremony without an account', Intake and request lists, Trademark response, Annual return | Free |
deliver.direct | — | — | Declines and direction | Free |
deliver.grant | — | — | Grants and decisions | Free |
deliver.needs | — | — | Grants and decisions, Notice response | Free |
deliver.submit | — | — | File it somewhere, All four, in one filing, deliver, Sending to outside systems, Trademark response, Demand letter, Federal first, then the states | Free |
deliver.each | — | — | All four, in one filing, Sending to outside systems, One submission per element, Federal first, then the states | Free |
deliver.cite | — | — | Your code as a step, Sourced output, Tax transcript | Free |
deliver.guard | — | — | Propose, then the gate commits, Guards, The Deal Service | Free |
deliver.escalate | { to: RoleWord; when: ((job) => boolean) | 'at_risk' | 'late' } | none: the step stays its doer's | deliver, Deadlines, The Deal Service | Free |
deliver.stamp | — | — | Add a signer, All four, in one filing, Provisional patent application, Annual return, Notice response | every plan |
deliver.compare | — | — | Annual return, A year, and the next | Free |
human.sample | — | — | human: the line | Free fixed; with floor, Launch |
deliver.void | — | — | All four, in one filing, 'Asks: a ceremony without an account' | Free |
deliver.checklist | — | — | Guards | Free |
deliver.exhausted | — | — | Review steps | Free |
deliver.feedback | — | — | AI steps and briefs | Launch |
human.stamp | — | — | Add a signer, human: the line | every plan |
roles.where | <jurisdiction input> | '*' | ((job) => string) | the rules row's where | Where an act happens | Free |
roles.pay | Pay | none | Pay, Pay in the Pool, Roles, Closing on closers.deals | Free flat; at an end, Launch; a share, Team |
roles.pay.rail | — | — | Lines and rails | every plan |
roles.pay.kill | number | none on a share | Pay | Team |
roles.span | <step>[] | the one step | Roles, The Deal Service | Free |
roles.revive | { first_call: Within } | none: the step posts again | Roles | Free |
roles.talk | { as: 'client' | 'buyer' | 'brand'; mail?; calls?: 'bridged' } | the thread alone; as alone, 'client' | Roles, The Deal Service | Free |
signals.of | <party input> | anything on the job | Signals, The Deal Service | Free |
roles.pay.from | — | — | Pay, Roles, When no one claims | Free |
deliver.est | — | — | Tasks: offered, never assigned, What a member sees, and when | Free |
clocks.due | ((job) => string | undefined) | '${ClockSpan} after ${string}' | required | Clocks | with clocks |
clocks.owner | RoleWord | 'brand' | 'buyer' | 'of_record' | required | Clocks | with clocks |
clocks.rungs | ('notice ${number}d' | 'escalate ${number}d' | 'ack daily ${number}d' | 'run ${string} ${number}d')[] | none | A date the world sets, Clocks | with clocks |
clocks.moves | { [K in <step>]?: ((job) => string) | '${number}${'d' | 'w' | 'mo' | 'y'} after due' } | none | Clocks, A year, and the next | with clocks |
clocks.every | Every | none | Clocks | with clocks |
clocks.lives_on | 'job' | 'subject' | 'job' | Clocks | 'job', Free; 'subject', Launch |
clocks.lapse | (<step> | (string & {}))[] | none | A date the world sets, Clocks | with clocks |
clocks.satisfied_by | <step>[] | its own name, when that is a step | Clocks | with clocks |
clocks.roll | 'none' | 'next open day' | the calendar's | Clocks | with clocks |
clocks.hard | true | { bars: <step>[] } | none: a step may move it | Clocks, Keeping time | with clocks |
subject.period | (keyof I & string) | ((job) => string) | none | Intake and request lists, One job per period, A year, and the next, Amended return | Launch |
subject.of_record | { role: RoleWord; named_at: <step>; custodian?: (RoleWord | 'brand')[] } | none | Of record, Provisional patent application | Launch; a custodian, Team |
subject.keeps | K | none | Subjects, A year, and the next | Launch |
subject.steward | AnyService | none | Subjects | Team |
outcome.proof | 'payment' | 'signature' | 'counterparty' | 'receipt' | 'self' | 'self' | Outcomes | Launch |
outcome.match | { customer?: <party input>; metadata?: string; invoice? } | the job's id under metadata | Outcomes, The sales money | Launch |
outcome.due | Within | '90d' | Outcomes | Launch |
outcome.collect | 'first' | 'each' | 'full' | 'first' | Outcomes | Launch |
outcome.window | Within | { card?: Within; bank?: Within } | the proof's horizon | Outcomes | Launch |
outcome.contest | 'buyer' | false | 'buyer' on 'self' | Outcomes | Launch |
outcome.tail | Within | '90d' | Outcomes | Launch |
input.expansion | 'boolean?' | none | Outcomes, Every deal shape | Launch |
talk.adopt | RoleWord | Adopt | none | Talk | Free |
data | — | — | The job record | Free |
price.per | the name of a list input | one job | Prices | Free |
price.tiers | { <tier>: number }, with price.tier | none | Prices | Free |
price.every | Every | none | Every month, Schedules and triggers, Subscriptions and allowances, The Tax Plan | Launch |
price.includes | { <name>: number } | none | Every month, Schedules and triggers, Subscriptions and allowances, The Tax Plan, A year, and the next | Launch |
price.self | number | none | When the client does it themselves, Provisional patent application | Free |
price.on | Triggers | none | Schedules and triggers | Launch |
price.lines | { <name>: Line } | none | Lines and rails | Free; a referral share, Team |
price.release | Release | a submit step's receipt, the last one's when there are several; else delivery | Release, All four, in one filing, Provisional patent application | Free |
price.ai | number | { usd; then: 'ask' | 'person' | 'end' } | a fifth of usd, then 'ask' | Outcomes, Prices, The sales money | Free |
price.margin | 'floor' | 'strict' | 'floor', the first member's | Prices | Free |
price.tier | (job) => <tier> | none | Prices | Free |
price.hold | 'authorization' | 'capture' | 'mandate' | derived from the release and within | Release | Free |
price.methods | ('card' | 'bank')[] | card, and bank first from $5,000 | Prices | Free |
price.effort | 'named' | nothing on effort | Prices, Outcomes | Launch |
Rules | — | — | Rules: how a Service meets licensing by design, The rules table | every plan |
Rules.regions | Region[] | every region | Where an act happens, Contract review | one region on every plan; more, Team |
Rules.client | — | — | Rules: how a Service meets licensing by design | Free |
Pool | — | — | How a job runs, What a person can do, Pool(): your marketplace, Eligibility, The attorneys' Pool, The preparers' Pool, The closers' Pool | Launch |
Pool.join | Shape | required | Join: the application, The closers' Pool | Launch |
Pool.verify | Url | Fn | required | Join: the application, Verify a member | Launch |
Pool.clear | string[] | { attest: string[]; check?: string[] } | none | Conflicts without disclosure | Launch |
Pool.dispatch | Dispatch | 'feed', or 'cascade' when clear.check names parties | Dispatch | Launch; 'cascade', Team |
Pool.sees | { teaser: string[]; sheet?: string[] } | { teaser: ['act', 'region', 'fee_usd'] } | What a member sees, and when, The closers' Pool | Launch |
Pool.fill | FillRung[] | false | raise 10% at 2h, widen at 4h, firms at 8h, staff at 12h | When no one claims | Launch; tuned, Team |
Pool.contact | 'thread' | 'thread' | Tasks: offered, never assigned | Launch |
Pool.rank | ('fit' | 'track' | 'speed' | 'price')[] | ['fit', 'track', 'speed'] | Dispatch, The closers' Pool | Team |
Pool.standby | { window: string; hours: number; retainer_usd: number } | none | Pay, The preparers' Pool | Team |
Pool.limits | { claims?: '${number}/day'; open?: number; declines?: Pct; late_releases?: Pct } | none | Integrity | Launch |
Pool.tiers | Tier[] | none | Track records, The closers' Pool | Team |
Pool.contest | { by: 'peer' | 'staff'; within?: Within } | 'peer' where a row reserves the act, else 'staff' | Track records, The closers' Pool | Launch |
Pool.probation | { tasks: number; sample: Pct } | { tasks: 5, sample: '100%' } | Track records | Launch |